XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 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
Tyrael <u5890571@anu.edu.au>
提交于

代码差异

2 个文件 +415 -0
Modified live/info.md +111 -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>
Added live/user.md +304 -0
@@ -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