返回提交历史
Modified
live/info.md
+111
-0
Added
live/user.md
+304
-0
XFEstudio/bilibili-API-collect
新增批量查询直播间API (#228)
* Update info.md * Update info.md * Update info.md * Update info.md * Update info.md * Update info.md * add user api under live folder * Update info.md
3390ec7
代码差异
2 个文件
+415
-0
@@ -310,3 +310,114 @@ curl -G 'http://api.live.bilibili.com/live_user/v1/Master/info' \
310
310
```
311
311
312
312
</details>
313
314
## 批量查询直播间状态
315
316
> https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids
317
318
*请求方式:POST*
319
320
认证方式:无,请不要在标头中添加cookie。
321
322
323
**正文参数:**
324
325
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
326
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
327
| uids | array | 要查询的主播mid | 必要 | |
328
329
330
**json回复:**
331
332
根对象:
333
334
| 字段 | 类型 | 内容 | 备注 |
335
| ------- | ---- | -------- | ------------------------------------------------------------ |
336
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败 |
337
| message | str | 错误信息 | 默认为success |
338
| msg | str | 错误信息 | 默认为success |
339
| ttl | num | 1 | |
340
| data | obj | 信息本体 | |
341
342
`data`对象:
343
344
| 字段 | 类型 | 内容 | 备注 |
345
| -------- | ---- | -------- | ------------ |
346
| uid | str | 直播间信息 | 实际字段为主播mid |
347
348
`uid`对象:
349
350
| 字段 | 类型 | 内容 | 备注 |
351
| -------- | ---- | -------- | ------------ |
352
| area | num | 直播间分区id | |
353
| area_name | str | 直播间分区名 | |
354
| area_v2_id | num | 直播间新版分区id | |
355
| area_v2_name | str | 直播间新版分区名 | |
356
| area_v2_parent_id | num | 直播间父分区id | |
357
| area_v2_parent_name | str | 直播间父分区名 | |
358
| broadcast_type | num | 直播类型 | 0:普通直播,1:手机直播 |
359
| cover_from_user | str | 直播间封面url | |
360
| face | str | 主播头像url | |
361
| hidden_till | str | 直播间隐藏信息 | |
362
| keyframe | str | 直播间关键帧url | |
363
| live_status | num | 直播间开播状态 | 0:未开播,1:正在直播,2:轮播中 |
364
| live_time | num | 直播持续时长 | |
365
| lock_till | str | 直播间封禁信息 | |
366
| online | num | 直播间在线人数 | |
367
| room_id | num | 直播间房间号 | 直播间实际房间号 |
368
| short_id | num | 直播间房间号 | 直播间短房间号,常见于签约主播 |
369
| tag_name | str | 直播间标签 | |
370
| tags | str | 直播间自定标签 | |
371
| title | str | 直播间标题 | |
372
| uid | num | 主播mid | |
373
| uname | str | 主播用户名 | |
374
375
**示例:**
376
377
查询用户`mid=194484313`的直播间信息
378
379
```shell
380
curl https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids \
381
-H "Content-Type: application/json" \
382
-d "{\"uids\": [194484313]}"
383
```
384
385
<details>
386
<summary>查看响应示例:</summary>
387
388
```json
389
{
390
"code": 0,
391
"msg": "success",
392
"message": "success",
393
"data": {
394
"194484313": {
395
"title": "中元节可爱鬼来喽!",
396
"room_id": 6154037,
397
"uid": 194484313,
398
"online": 955261,
399
"live_time": 0,
400
"live_status": 2,
401
"short_id": 732,
402
"area": 1,
403
"area_name": "单机联机",
404
"area_v2_id": 236,
405
"area_v2_name": "主机游戏",
406
"area_v2_parent_name": "单机游戏",
407
"area_v2_parent_id": 6,
408
"uname": "Asaki大人",
409
"face": "https://i1.hdslb.com/bfs/face/e8f57fd6992f7d2ef6e6bcee957fb6cf6bca3d80.jpg",
410
"tag_name": "以撒,minecraft,饥荒,彩虹六号,东方",
411
"tags": "",
412
"cover_from_user": "https://i0.hdslb.com/bfs/live/new_room_cover/0a0a8eb5bd7fb64a036b55c748f02ad79a210ec9.jpg",
413
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe0823020500000615403721k8sp.jpg",
414
"lock_till": "0000-00-00 00:00:00",
415
"hidden_till": "0000-00-00 00:00:00",
416
"broadcast_type": 0
417
}
418
}
419
}
420
421
```
422
423
</details>
@@ -0,0 +1,304 @@
1
# 直播间用户实用API
2
3
- [直播间用户实用API](#直播间用户实用api)
4
- [获取用户持有的粉丝勋章信息](#获取用户持有的粉丝勋章信息)
5
- [佩戴勋章](#佩戴勋章)
6
- [直播签到](#直播签到)
7
8
---
9
10
## 获取用户持有的粉丝勋章信息
11
12
> https://api.live.bilibili.com/fans_medal/v5/live_fans_medal/iApiMedal
13
14
*请求方式:GET*
15
16
认证方式:Cookie(SESSDATA)或APP
17
18
**url参数:**
19
20
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
21
| ------ | ---- | ----------- | ------ | ---- |
22
| page | num | 返回结果页数 | 非必要 | 返回结果单页最大为10 |
23
24
**json回复:**
25
26
根对象:
27
28
| 字段 | 类型 | 内容 | 备注 |
29
| ------- | ---- | -------- | --------------------------- |
30
| code | num | 返回值 | 0:成功<br>-400:请求错误 |
31
| message | str | 错误信息 | 默认为空("") |
32
| msg | str | 错误信息 | 默认为空("") |
33
| data | obj | 信息本体 | |
34
35
`data`对象:
36
37
| 字段 | 类型 | 内容 | 备注 |
38
| -------------- | ---- | ---------------- | ------------------------ |
39
| medalCount | num | 勋章数量 | |
40
| count | num | 勋章数量 | |
41
| fansMedalList | array | 粉丝勋章信息本体 | |
42
| name | str | 用户名 | |
43
| pageinfo | obj | 页码信息 | |
44
45
`fansMedalList 数组内`对象:
46
47
| 字段 | 类型 | 内容 | 备注 |
48
| -------------- | ---- | ---------------- | ------------------------ |
49
| uid | num | 发起请求的用户mid | |
50
| target_id | num | up主mid | |
51
| medal_id | num | 粉丝勋章id | |
52
| score | num | | |
53
| level | num | 勋章等级 | |
54
| intimacy | num | 当前已得亲密度 | |
55
| status | num | | |
56
| source | num | | |
57
| receive_channel | num | 获得方式 | 2:投币获得<br>3000:b坷拉 |
58
| is_receive | num | 勋章数量 | |
59
| master_status | num | | |
60
| receive_time | str | 勋章获取时间 | |
61
| today_intimacy | num | 本日亲密度 | |
62
| last_wear_time | num | 上次佩戴时间 | |
63
| is_lighted | num | 是否点亮 | 0:未点亮<br>1:点亮 |
64
| medal_level | num | 勋章等级 | |
65
| next_intimacy | num | 升级所需经验 | |
66
| day_limit | num | 日经验上限(原力值)| |
67
| medal_name | str | 勋章名 | |
68
| master_available | num | | |
69
| guard_type | num | 加成状态 | |
70
| lpl_status | num | | |
71
| can_delete | bool | 可否删除 | |
72
| target_name | str | up主用户名 | |
73
| target_face | str | up主头像 | |
74
| live_stream_status | num | 当前直播间放松状态 | |
75
| icon_code | num | | |
76
| icon_text | str | | |
77
| rank | str | | |
78
| medal_color | num | 勋章颜色信息 | 颜色数值为10进制的16进制值(下同) |
79
| medal_color_start | num | 勋章起始颜色 | 从右往左渐变(20级+勋章) |
80
| medal_color_end | num | 勋章结束颜色 | 从右往左渐变(20级+勋章) |
81
| guard_level | num | | |
82
| medal_color_border | num | 勋章颜色信息 | |
83
| today_feed | num | 本日亲密度 | |
84
| todayFeed | num | 同上 | |
85
| dayLimit | num | 日经验上限(原力值) | |
86
| uname | str | up主用户名 | |
87
| color | num | 勋章颜色 | |
88
| medalName | str | 勋章内容 | |
89
| guard_medal_title | str | 加成状态 | |
90
| anchorInfo | obj | up信息 | |
91
| roomid | num | 直播间房间号 | |
92
93
`pageinfo`对象:
94
95
| 字段 | 类型 | 内容 | 备注 |
96
| -------------- | ---- | ---------------- | ------------------------ |
97
| totalpages | num | 页码总长度 | |
98
| curPage | num | 当前返回的页码 | 0:未轮播<br>1:轮播 |
99
100
`anchorInfo`对象:
101
102
| 字段 | 类型 | 内容 | 备注 |
103
| -------------- | ---- | ---------------- | ------------------------ |
104
| uid | num | up主mid | |
105
| uname | str | up主用户名 | |
106
| gender | num | 性别 | 0:女<br>1:男<br/>-1:保密 |
107
| face | str | up主头像 | |
108
| silence | num | up主禁言状态 | |
109
| masterVip | num | 会员类型 | |
110
| masterRank | num | 10000 | |
111
| masterLevel | num | up主主站等级 | |
112
| masterHeadpic | str | up主头像框 | |
113
| masterVerify | num | | |
114
| mobileVerified | num | 当前返回的页码 | |
115
| identification | num | 当前返回的页码 | |
116
| official | obj | 认证信息 | |
117
| rank | num | 当前返回的页码 | |
118
| platform_user_level | num | up主主站等级 | |
119
| vip_type | num | 会员类型 | |
120
| mobile_verify | num | | |
121
| official_verify | obj | 认证信息 | |
122
123
<details>
124
<summary>查看响应示例:</summary>
125
126
```json
127
{
128
"code": 0,
129
"msg": "",
130
"message": "",
131
"data": {
132
"medalCount": 20,
133
"count": 19,
134
"fansMedalList": [
135
{
136
"uid": 3831650,
137
"target_id": 3821157,
138
"medal_id": 283582,
139
"score": 16031,
140
"level": 11,
141
"intimacy": 1130,
142
"status": 0,
143
"source": 1,
144
"receive_channel": 3000,
145
"is_receive": 1,
146
"master_status": 1,
147
"receive_time": "2021-07-24 23:06:03",
148
"today_intimacy": 252,
149
"last_wear_time": 1630386090,
150
"is_lighted": 1,
151
"medal_level": 11,
152
"next_intimacy": 10000,
153
"day_limit": 1500,
154
"medal_name": "秧歌星",
155
"master_available": 1,
156
"guard_type": 0,
157
"lpl_status": 0,
158
"can_delete": true,
159
"target_name": "东爱璃Lovely",
160
"target_face": "https://i0.hdslb.com/bfs/face/fecabd8cb7cc129fd3bdbc4b71cffec91d342bdd.jpg",
161
"live_stream_status": 0,
162
"icon_code": 0,
163
"icon_text": "",
164
"rank": "",
165
"medal_color": 9272486,
166
"medal_color_start": 9272486,
167
"medal_color_end": 9272486,
168
"guard_level": 0,
169
"medal_color_border": 9272486,
170
"today_feed": 252,
171
"todayFeed": 252,
172
"dayLimit": 1500,
173
"uname": "东爱璃Lovely",
174
"color": 9272486,
175
"medalName": "秧歌星",
176
"guard_medal_title": "未开启加成",
177
"anchorInfo": {
178
"uid": 3821157,
179
"uname": "东爱璃Lovely",
180
"gender": -1,
181
"face": "https://i0.hdslb.com/bfs/face/fecabd8cb7cc129fd3bdbc4b71cffec91d342bdd.jpg",
182
"silence": 0,
183
"masterVip": 2,
184
"masterRank": 10000,
185
"masterLevel": 6,
186
"masterHeadpic": "https://i0.hdslb.com/bfs/garb/ebe4ac76f95ccb9146fdba2db2723f182ec3276b.png",
187
"masterVerify": 0,
188
"mobileVerified": 1,
189
"identification": 1,
190
"official": {
191
"role": 7,
192
"title": "bilibili 直播高能主播",
193
"desc": ""
194
},
195
"rank": 10000,
196
"platform_user_level": 6,
197
"vip_type": 2,
198
"mobile_verify": 0,
199
"official_verify": {
200
"role": 7,
201
"title": "bilibili 直播高能主播",
202
"desc": "",
203
"type": -1
204
}
205
},
206
"roomid": 21692711
207
}
208
],
209
"name": "藍地球",
210
"pageinfo": {
211
"totalpages": 2,
212
"curPage": 2
213
}
214
}
215
}
216
```
217
218
</details>
219
220
## 佩戴勋章
221
222
> https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear
223
224
*请求方式:POST*
225
226
**表单参数:**
227
228
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
229
| ---------- | ---- | -------------------- | ---- | ---- |
230
| medal_id | num | 勋章id | 必要 | |
231
| csrf | num | cookie中bili_jct字段 | 必要 | |
232
| csrf_token | num | 同上 | 必要 | |
233
234
**json回复:**
235
236
根对象:
237
238
| 字段 | 类型 | 内容 | 备注 |
239
| ------- | ---- | -------- | --------------------------- |
240
| code | num | 返回值 | 0:成功 |
241
| ttl | str | 1 | |
242
| message | str | 错误信息 | 默认为佩戴成功 |
243
| data | obj | 信息本体 | 默认为无 |
244
245
**示例:**
246
247
佩戴勋章id为1的勋章
248
249
```JavaScript
250
var madelForm = new FormData();
251
madelForm.append("medal_id", 1);
252
madelForm.append("csrf", bili_jct);
253
madelForm.append("csrf_token", bili_jct);
254
$.ajax({
255
url: "https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear",
256
type: "POST",
257
data: madelForm,
258
dataType: "JSON",
259
processData: false,
260
contentType: false,
261
cache: false,
262
xhrFields: {
263
withCredentials: true
264
},
265
success: function (){
266
267
}
268
})
269
```
270
271
<details>
272
<summary>查看响应示例:</summary>
273
274
```json
275
{
276
"code": 0,
277
"message": "佩戴成功",
278
"ttl": 1,
279
"data": {}
280
}
281
```
282
283
</details>
284
285
## 直播签到
286
287
> https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign
288
289
*请求方式:GET*
290
291
认证方式:Cookie(SESSDATA)或APP
292
293
**json回复:**
294
295
根对象:
296
297
| 字段 | 类型 | 内容 | 备注 |
298
| ------- | ---- | -------- | ---------------------- |
299
| code | num | 返回值 | 0:成功<br>1:参数错误 |
300
| ttl | str | 1 | |
301
| message | str | 错误信息 | 默认为当日签到奖励内容 |
302
| data | obj | 信息本体 | 默认为空 |
303
304