From e7bfe392b7ba170df681186a03cd6424250f7d92 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 13:24:17 +0800 Subject: [PATCH 01/18] feat(APP_widget/ver.md): getappversion --- docs/APP_widget/ver.md | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/docs/APP_widget/ver.md b/docs/APP_widget/ver.md index 0fdfc47..5618564 100644 --- a/docs/APP_widget/ver.md +++ b/docs/APP_widget/ver.md @@ -180,3 +180,55 @@ curl -G 'https://app.bilibili.com/x/v2/version/fawkes/upgrade' \ ``` + +## 拼接最新版本下载地址 + +> https://api.bilibili.com/x/web-frontend/getappversion + +*请求方法: GET* + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---- | ---- | ---- | ---- | ---- | +| target | string | 目标平台 | 目测仅 `pc_electron`, 错误的值会导致返回 `HTTP 404` | +| cdn_url | string | CDN URL | 任意字符串, 默认 `https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe` | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| code | number | 返回值 | 0: 成功
-1: need target | +| message | string | 错误消息 | 成功时无此项 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| cdn_url | string | CDN URL | 内容同请求参数 `cdn_url` | +| sole_cdn_url | string | 带版本的 CDN URL | `cdn_url + "?v=" + 最新版本` | + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/web-frontend/getappversion' \ +--url-query 'target=pc_electron' \ +--url-query 'cdn_url=https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "data": { + "cdn_url": "https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe", + "sole_cdn_url": "https://dl.hdslb.com/mobile/fixed/bili_win/bili_win-install.exe?v=1.16.1-2" + } +} +``` + +
From 9aafd85d0b856c0e0e888cbb169e3debe72abcf2 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 14:26:14 +0800 Subject: [PATCH 02/18] fix(video_ranking/ranking.md): v2 urlparam rid close #1193 --- docs/video_ranking/ranking.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/video_ranking/ranking.md b/docs/video_ranking/ranking.md index 4bdd3ca..f8f994f 100644 --- a/docs/video_ranking/ranking.md +++ b/docs/video_ranking/ranking.md @@ -12,14 +12,19 @@ *请求方式:GET* +鉴权方式: 请求头 `User-Agent` 非敏感字符串 + 获取稿件内容质量,近期的数据前100个稿件,动态更新。 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | ------------------------------------- | -| tid | num | 目标分区tid | 非必要 | 可参考[视频分区一览](../video/video_zone.md#视频分区一览),只支持主分区 | -| type | str | 未知 | 非必要 | 默认为:all,且为目前唯一已知值。怀疑为稿件类型,但没有找到其他值佐证。 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ------ | ------------ | ------ | ------------------------------------- | +| rid | number | 目标分区 tid | 非必要 | 默认为 0 (全站), 详细参见 [视频分区一览](../video/video_zone.md#视频分区一览), 仅支持主分区 | +| type | string | 排行榜类型 | 非必要 | 全部: all
新人: rokkie
原创: origin | +| web_location | string | 333.934 | 非必要 | | +| w_rid | string | WBI 签名 | 非必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | +| wts | number | Unix 时间戳 | 非必要 | 参见 [WBI 签名](../misc/sign/wbi.md) | **json回复:** From 1e007cc855348d96590131e67e76fe2834d095ee Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 14:36:06 +0800 Subject: [PATCH 03/18] fix(fav/info.md): list-all attr close #1190 --- docs/fav/info.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/docs/fav/info.md b/docs/fav/info.md index 2e8aa30..b44111c 100644 --- a/docs/fav/info.md +++ b/docs/fav/info.md @@ -176,7 +176,7 @@ curl -G 'https://api.bilibili.com/x/v3/fav/folder/info' \ | id | num | 收藏夹mlid(完整id) | 收藏夹原始id+创建者mid尾号2位 | | fid | num | 收藏夹原始id | | | mid | num | 创建者mid | | -| attr | num | 属性位 | | +| attr | num | 收藏夹属性 | 转换成8-bit二进制处理
详细说明见下表 | | title | str | 收藏夹标题 | | | fav_state | num | 目标id是否存在于该收藏夹 | 存在于该收藏夹:1
不存在于该收藏夹:0 | | media_count | num | 收藏夹内容数量 | | @@ -185,8 +185,8 @@ curl -G 'https://api.bilibili.com/x/v3/fav/folder/info' \ | 位 | 内容 | 备注 | | --------------- | ---------------- | -------------------------------- | -| 0 | 是否为默认收藏夹 | 0:默认收藏夹
1:其他收藏夹 | -| 1 | 私有收藏夹 | 0:公开
1:私有 | +| 0 | 私有收藏夹 | 0:公开
1:私有 | +| 1 | 是否为默认收藏夹 | 0:默认收藏夹
1:其他收藏夹 | | 其他有待补充... | | | **示例:** @@ -304,7 +304,7 @@ curl -G 'https://api.bilibili.com/x/v3/fav/folder/created/list-all' \ | id | num | 收藏夹ml | | | fid | num | 原始收藏夹mlid | 去除两位mid尾号 | | mid | num | 创建用户mid | | -| attr | num | 收藏夹属性 | 转换成8-bit二进制处理
详细说明见下表 | +| attr | num | 收藏夹属性 | [同上 attr](#获取指定用户创建的所有收藏夹信息) | | title | str | 收藏夹标题 | | | cover | str | 收藏夹封面图片url | | | upper | obj | 收藏夹创建用户信息 | | @@ -316,12 +316,6 @@ curl -G 'https://api.bilibili.com/x/v3/fav/folder/created/list-all' \ | fav_state | num | 0 | 作用尚不明确 | | media_count | num | 收藏夹总计视频数 | | -`attr`属性二进制值表: - -| 其他有待补充... | 1:默认收藏夹 | 0:公开性 | -| --------------- | -------------------------------- | -------------------- | -| | 0:默认收藏夹
1:其他收藏夹 | 0:公开
1:私有 | - `data`中的`list`数组中的对象中的`upper`对象: | 字段 | 类型 | 内容 | 备注 | From f0b3191d0e7c13d9ac4a9277c5a8aca6fb4686c1 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 14:59:43 +0800 Subject: [PATCH 04/18] feat(fav/info.md): list-all urlparam web_location --- docs/fav/info.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/fav/info.md b/docs/fav/info.md index b44111c..fe02478 100644 --- a/docs/fav/info.md +++ b/docs/fav/info.md @@ -141,6 +141,7 @@ curl -G 'https://api.bilibili.com/x/v3/fav/folder/info' \ | up_mid | num | 目标用户mid | 必要 | | | type | num | 目标内容属性 | 非必要 | 默认为全部
0:全部
2:视频稿件 | | rid | num | 目标内容id | 非必要 | 视频稿件:视频稿件avid | +| web_location | str | 333.1387 | 非必要| | **json回复:** @@ -176,7 +177,7 @@ curl -G 'https://api.bilibili.com/x/v3/fav/folder/info' \ | id | num | 收藏夹mlid(完整id) | 收藏夹原始id+创建者mid尾号2位 | | fid | num | 收藏夹原始id | | | mid | num | 创建者mid | | -| attr | num | 收藏夹属性 | 转换成8-bit二进制处理
详细说明见下表 | +| attr | num | 收藏夹属性 | 二进制位属性
详细说明见下表 | | title | str | 收藏夹标题 | | | fav_state | num | 目标id是否存在于该收藏夹 | 存在于该收藏夹:1
不存在于该收藏夹:0 | | media_count | num | 收藏夹内容数量 | | From 96ed6aae8af70c08daa04d42b8d27841adefa73d Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 15:10:03 +0800 Subject: [PATCH 05/18] feat(danmaku/danmaku_xml.md): pool 3 close #1109 --- docs/danmaku/danmaku_xml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/danmaku/danmaku_xml.md b/docs/danmaku/danmaku_xml.md index aacaf61..a5ea9ca 100644 --- a/docs/danmaku/danmaku_xml.md +++ b/docs/danmaku/danmaku_xml.md @@ -110,7 +110,7 @@ curl 'https://comment.bilibili.com/144541892.xml' | 2 | 弹幕字号 | int32 | 18:小
25:标准
36:大 | | 3 | 弹幕颜色 | int32 | 十进制RGB888值 | | 4 | 弹幕发送时间 | int32 | 时间戳 | -| 5 | 弹幕池类型 | int32 | 0:普通池
1:字幕池
2:特殊池(代码/BAS弹幕) | +| 5 | 弹幕池类型 | int32 | 0: 普通池
1: 字幕池
2: 特殊池 (代码/BAS弹幕)
3: 互动池?| | 6 | 发送者mid的HASH | string | 用于屏蔽用户和查看用户发送的所有弹幕 也可反查用户id | | 7 | 弹幕dmid | int64 | 唯一 可用于操作参数 | | 8 | 弹幕的屏蔽等级 | int32 | 0-10,低于用户设定等级的弹幕将被屏蔽
(新增,下方样例未包含) | From 5e81e288579470be9aee6576dafb9ae68f766361 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 15:45:50 +0800 Subject: [PATCH 06/18] feat(live/recommend.md): getMoreRecList close #1198 --- docs/live/recommend.md | 651 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 651 insertions(+) create mode 100644 docs/live/recommend.md diff --git a/docs/live/recommend.md b/docs/live/recommend.md new file mode 100644 index 0000000..5edf926 --- /dev/null +++ b/docs/live/recommend.md @@ -0,0 +1,651 @@ +# 直播推荐 + +## 主页获取直播推荐 + +> https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getMoreRecList + +*请求方法: GET* + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ------ | ---------- | ------ | ---- | +| platform | string | 平台类型 | 必要 | 默认为 `web`, 实测可为任意非空串 | +| web_location | string | `333.1007` | 非必要 | | + +**示例:** + +```shell +curl -G 'https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getMoreRecList' \ +--url-query 'platform=web' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "recommend_room_list": [ + { + "head_box": null, + "area_v2_id": 237, + "area_v2_parent_id": 6, + "area_v2_name": "怀旧游戏", + "area_v2_parent_name": "单机游戏", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/34aedc9409c0abaf622fdb9c6137896b8a9f95d0.jpg", + "link": "/923833?hotRank=0", + "online": 262700, + "pendant_Info": {}, + "roomid": 923833, + "title": "融合版斗蛐蛐s3.5赛季!", + "uname": "沉默寡言白河愁", + "face": "https://i0.hdslb.com/bfs/face/14169798ca31108e4441e790c14b24706def67a3.jpg", + "verify": { + "role": 1, + "desc": "bilibili 知名游戏UP主、直播高能主播", + "type": 0 + }, + "uid": 34646754, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000000923833okbn8y.jpg", + "is_auto_play": 1, + "head_box_type": 0, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_9A44BEBD-CAEB-46AD-8FD7-B91BA8471EAA", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_9A44BEBD-CAEB-46AD-8FD7-B91BA8471EAA&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=923833&parent_id=6&area_id=237&page=0&position=1&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_9A44BEBD-CAEB-46AD-8FD7-B91BA8471EAA&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=923833&parent_id=6&area_id=237&page=0&position=1&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 30460, + "text_small": "3.0万", + "text_large": "3.0万人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": { + "name": "大乱斗乱斗之王", + "value": "https://i0.hdslb.com/bfs/live/fc28a2a4123154012e0ce3da1273de5f17e81b24.png", + "desc": "" + }, + "area_v2_id": 817, + "area_v2_parent_id": 5, + "area_v2_name": "男声电台", + "area_v2_parent_name": "电台", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/b15e3a1045321a7ffa7da08a47a276ca37557ef1.jpg", + "link": "/32190922?hotRank=0", + "online": 45487, + "pendant_Info": { + "2": { + "type": "mobile_index_badge", + "name": "福佑嘉年", + "position": 2, + "text": "省级亚军", + "bg_color": "#FB9E60", + "bg_pic": "http://i0.hdslb.com/bfs/live/13819a59895263cb25cc2ead3fecfaa3e864aac8.png", + "pendant_id": 1750, + "priority": 200, + "created_at": 1738512313 + } + }, + "roomid": 32190922, + "title": "我想我们会幸福美满", + "uname": "黑羊Klein", + "face": "https://i2.hdslb.com/bfs/face/307c62a8b30a6dcfc02e9670e5dc10d0ecec6921.jpg", + "verify": { + "role": 0, + "desc": "", + "type": -1 + }, + "uid": 1989648419, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071536000032190922ma6cnx.jpg", + "is_auto_play": 0, + "head_box_type": 1, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_178A3B8F-86C1-4831-9DBB-9788C2445752", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_178A3B8F-86C1-4831-9DBB-9788C2445752&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=32190922&parent_id=5&area_id=817&page=0&position=2&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_178A3B8F-86C1-4831-9DBB-9788C2445752&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=32190922&parent_id=5&area_id=817&page=0&position=2&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 491, + "text_small": "491", + "text_large": "491人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": null, + "area_v2_id": 654, + "area_v2_parent_id": 2, + "area_v2_name": "诛仙世界", + "area_v2_parent_name": "网游", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/fdad2cfb408510df56a01af66254f630ee4b86b8.jpg", + "link": "/25959685?hotRank=0", + "online": 2151, + "pendant_Info": {}, + "roomid": 25959685, + "title": "免费接所有职业,死灵渊!只要收益", + "uname": "哦-是大一啊", + "face": "https://i1.hdslb.com/bfs/face/f83290ab5667f9c1ed778fb9c7c9cf6bf7624d4e.jpg", + "verify": { + "role": 0, + "desc": "", + "type": -1 + }, + "uid": 361517464, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000025959685tx1grb.jpg", + "is_auto_play": 1, + "head_box_type": 0, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_FB0DABE2-6A09-4EB7-8D2B-A4F892243A96", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_FB0DABE2-6A09-4EB7-8D2B-A4F892243A96&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=25959685&parent_id=2&area_id=654&page=0&position=3&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_FB0DABE2-6A09-4EB7-8D2B-A4F892243A96&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=25959685&parent_id=2&area_id=654&page=0&position=3&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 269, + "text_small": "269", + "text_large": "269人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": { + "name": "钻石传说", + "value": "https://i0.hdslb.com/bfs/live/2007dc239982e909a3c9971c27968e5c0a872917.png", + "desc": "" + }, + "area_v2_id": 192, + "area_v2_parent_id": 5, + "area_v2_name": "聊天电台", + "area_v2_parent_name": "电台", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/22f1fcac8d9764901005ae5867a8c6b589b93ac5.jpg", + "link": "/31169918?hotRank=0", + "online": 27764, + "pendant_Info": {}, + "roomid": 31169918, + "title": "东北最后的温柔", + "uname": "关关-苏苏冠", + "face": "https://i2.hdslb.com/bfs/face/14f5102417107a6535c11ec9ad99050f7d712a17.jpg", + "verify": { + "role": 0, + "desc": "", + "type": -1 + }, + "uid": 3537120278874479, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071532000031169918qep44l.jpg", + "is_auto_play": 0, + "head_box_type": 1, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_3E272538-AA76-4953-BF21-5BB19ECFEE28", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_3E272538-AA76-4953-BF21-5BB19ECFEE28&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=31169918&parent_id=5&area_id=192&page=0&position=4&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_3E272538-AA76-4953-BF21-5BB19ECFEE28&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=31169918&parent_id=5&area_id=192&page=0&position=4&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 297, + "text_small": "297", + "text_large": "297人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": null, + "area_v2_id": 82, + "area_v2_parent_id": 2, + "area_v2_name": "剑网3", + "area_v2_parent_name": "网游", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/user_cover/9551fbb571b35bac3702c47e955177f17cab5cd2.jpg", + "link": "/2849730?hotRank=0", + "online": 4008, + "pendant_Info": {}, + "roomid": 2849730, + "title": "午间陪伴花间刷币", + "uname": "o诡墨o", + "face": "https://i1.hdslb.com/bfs/face/43ab308f836eb352aa4d541b55aafab2fa4435aa.jpg", + "verify": { + "role": 0, + "desc": "", + "type": -1 + }, + "uid": 71574442, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000002849730qo0792.jpg", + "is_auto_play": 1, + "head_box_type": 0, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_4BAFD91A-DDED-4655-BE47-064A6152BF9B", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_4BAFD91A-DDED-4655-BE47-064A6152BF9B&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=2849730&parent_id=2&area_id=82&page=0&position=5&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_4BAFD91A-DDED-4655-BE47-064A6152BF9B&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=2849730&parent_id=2&area_id=82&page=0&position=5&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 204, + "text_small": "204", + "text_large": "204人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": { + "name": "迷梦幻境头像框", + "value": "https://i0.hdslb.com/bfs/garb/open/d272c8cdb2ab737f5aa3c1cf5a27db274e0ce034.png", + "desc": "" + }, + "area_v2_id": 744, + "area_v2_parent_id": 9, + "area_v2_name": "虚拟Singer", + "area_v2_parent_name": "虚拟主播", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/6e68e5c4f3d720e6f14952174be848383b879dad.jpg", + "link": "/21603945?hotRank=0", + "online": 10606, + "pendant_Info": {}, + "roomid": 21603945, + "title": "听歌碎碎念!~", + "uname": "Minicatty", + "face": "https://i0.hdslb.com/bfs/face/812d9ea6f3420d5c58ff455408275563f03fb861.jpg", + "verify": { + "role": 7, + "desc": "bilibili 直播高能主播", + "type": 0 + }, + "uid": 423902976, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000021603945pekr70.jpg", + "is_auto_play": 0, + "head_box_type": 2, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_56778C3F-4B14-4C78-8DF8-53721196E8D8", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_56778C3F-4B14-4C78-8DF8-53721196E8D8&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=21603945&parent_id=9&area_id=744&page=0&position=6&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_56778C3F-4B14-4C78-8DF8-53721196E8D8&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=21603945&parent_id=9&area_id=744&page=0&position=6&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 235, + "text_small": "235", + "text_large": "235人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": null, + "area_v2_id": 80, + "area_v2_parent_id": 2, + "area_v2_name": "吃鸡行动", + "area_v2_parent_name": "网游", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/fa7292a8741a40a612a1c466da58b7f9cc08f363.jpg", + "link": "/22976905?hotRank=0", + "online": 8536, + "pendant_Info": {}, + "roomid": 22976905, + "title": "全是细节!", + "uname": "菠萝鸽", + "face": "https://i1.hdslb.com/bfs/face/f073d24cbb992b4589825896de3fb9bc559ba180.jpg", + "verify": { + "role": 1, + "desc": "bilibili 知名游戏UP主、直播高能主播", + "type": 0 + }, + "uid": 1849164526, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715350000229769056wy0mu.jpg", + "is_auto_play": 1, + "head_box_type": 0, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_CE3B32EC-E84D-4545-A693-97882454E0ED", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_CE3B32EC-E84D-4545-A693-97882454E0ED&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=22976905&parent_id=2&area_id=80&page=0&position=7&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_CE3B32EC-E84D-4545-A693-97882454E0ED&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=22976905&parent_id=2&area_id=80&page=0&position=7&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 919, + "text_small": "919", + "text_large": "919人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": null, + "area_v2_id": 646, + "area_v2_parent_id": 10, + "area_v2_name": "生活杂谈", + "area_v2_parent_name": "生活", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/833e4d5449bcb4e425eb6399e0ef71f06903d083.jpg", + "link": "/21291747?hotRank=0", + "online": 38125, + "pendant_Info": {}, + "roomid": 21291747, + "title": "哪吒抢了封神票房?", + "uname": "陈哥惜命天涯", + "face": "https://i1.hdslb.com/bfs/face/d2c7e9c9b918ec969b2e15a5f2194bae3acd966e.jpg", + "verify": { + "role": 0, + "desc": "", + "type": -1 + }, + "uid": 286563388, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe0207153000002129174742tpke.jpg", + "is_auto_play": 0, + "head_box_type": 0, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_63BEC7F6-172E-46FC-BBAD-8CD3547AE6C1", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_63BEC7F6-172E-46FC-BBAD-8CD3547AE6C1&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=21291747&parent_id=10&area_id=646&page=0&position=8&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_63BEC7F6-172E-46FC-BBAD-8CD3547AE6C1&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=21291747&parent_id=10&area_id=646&page=0&position=8&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 3107, + "text_small": "3107", + "text_large": "3107人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": { + "name": "Lirin兔耳娘 收藏集", + "value": "https://i2.hdslb.com/bfs/garb/open/41e2a2e3693f49e0b721c443fd784aa533456c49.png", + "desc": "" + }, + "area_v2_id": 745, + "area_v2_parent_id": 9, + "area_v2_name": "虚拟Gamer", + "area_v2_parent_name": "虚拟主播", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/b444bc87fbe1b346184f061efaffff21b24371f1.jpg", + "link": "/23797026?hotRank=0", + "online": 13294, + "pendant_Info": {}, + "roomid": 23797026, + "title": "日v 萌新玩玩三角洲♡", + "uname": "樱咲奈央_Official", + "face": "https://i2.hdslb.com/bfs/face/163330968a4a5fc8f31e9da9e919bbc258ecf40c.jpg", + "verify": { + "role": 7, + "desc": "bilibili直播高能主播", + "type": 0 + }, + "uid": 1880188304, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715310000237970260gnmn1.jpg", + "is_auto_play": 0, + "head_box_type": 2, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_691E1F11-4960-4707-92EF-0F0D996E434C", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_691E1F11-4960-4707-92EF-0F0D996E434C&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=23797026&parent_id=9&area_id=745&page=0&position=9&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_691E1F11-4960-4707-92EF-0F0D996E434C&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=23797026&parent_id=9&area_id=745&page=0&position=9&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 999, + "text_small": "999", + "text_large": "999人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": null, + "area_v2_id": 624, + "area_v2_parent_id": 10, + "area_v2_name": "电子榨菜", + "area_v2_parent_name": "生活", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/user_cover/a8a7681eaf20e43e16444e502106a436eb0e454c.jpg", + "link": "/1831473323?hotRank=0", + "online": 6510, + "pendant_Info": {}, + "roomid": 1831473323, + "title": "粤语片-法证1", + "uname": "曦曦每天都开心呀", + "face": "https://i1.hdslb.com/bfs/face/aa2112252080ec2298ea51b129c842fea7ed58f5.jpg", + "verify": { + "role": 0, + "desc": "", + "type": -1 + }, + "uid": 1434707683, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715350018314733230k1dhu.jpg", + "is_auto_play": 0, + "head_box_type": 0, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_947BC1A4-E0F4-4ECE-AE40-9D9817848F9A", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_947BC1A4-E0F4-4ECE-AE40-9D9817848F9A&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=1831473323&parent_id=10&area_id=624&page=0&position=10&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_947BC1A4-E0F4-4ECE-AE40-9D9817848F9A&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=1831473323&parent_id=10&area_id=624&page=0&position=10&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 1446, + "text_small": "1446", + "text_large": "1446人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": { + "name": "帕里", + "value": "https://i0.hdslb.com/bfs/garb/item/7c9cd30bfab66e9490d8a03fc48754cdb12b4901.png", + "desc": "" + }, + "area_v2_id": 745, + "area_v2_parent_id": 9, + "area_v2_name": "虚拟Gamer", + "area_v2_parent_name": "虚拟主播", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/bd898138564a7e892e05dd1ff9cf9c34bdd9cb5b.jpg", + "link": "/42512?hotRank=0", + "online": 11612, + "pendant_Info": {}, + "roomid": 42512, + "title": "【文明7】使臣,你去死一下,然后我发兵", + "uname": "优礼子Ghaast", + "face": "https://i0.hdslb.com/bfs/face/e3f05d5b7bf56c57f55026676da71cc487d93988.jpg", + "verify": { + "role": 7, + "desc": "bilibili直播高能主播", + "type": 0 + }, + "uid": 6141432, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715350000000425126wxphk.jpg", + "is_auto_play": 0, + "head_box_type": 2, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_0517EBF3-EE5C-4967-A77A-9DB3F89A58A8", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_0517EBF3-EE5C-4967-A77A-9DB3F89A58A8&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=42512&parent_id=9&area_id=745&page=0&position=11&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_0517EBF3-EE5C-4967-A77A-9DB3F89A58A8&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=42512&parent_id=9&area_id=745&page=0&position=11&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 1998, + "text_small": "1998", + "text_large": "1998人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + }, + { + "head_box": { + "name": "百人舰队主播头像", + "value": "https://i0.hdslb.com/bfs/vc/071eb10548fe9bc482ff69331983d94192ce9507.png", + "desc": "" + }, + "area_v2_id": 102, + "area_v2_parent_id": 2, + "area_v2_name": "最终幻想14", + "area_v2_parent_name": "网游", + "broadcast_type": 0, + "cover": "https://i0.hdslb.com/bfs/live/new_room_cover/9370e1bbda854c8ac3b9a2a9a6e960106f307580.jpg", + "link": "/1897222?hotRank=0", + "online": 80052, + "pendant_Info": { + "1": { + "type": "mobile_index_badge", + "name": "百人成就", + "position": 1, + "text": "", + "bg_color": "#FB9E60", + "bg_pic": "https://i0.hdslb.com/bfs/live/539ce26c45cd4019f55b64cfbcedc3c01820e539.png", + "pendant_id": 426, + "priority": 1, + "created_at": 1738857680 + } + }, + "roomid": 1897222, + "title": "鸟区pvp", + "uname": "猫姐姐nya", + "face": "https://i1.hdslb.com/bfs/face/acc5559db9494af780b05fbf05c158995c48d023.jpg", + "verify": { + "role": 1, + "desc": "bilibili 知名游戏UP主", + "type": 0 + }, + "uid": 41377819, + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715360000018972225sqtbh.jpg", + "is_auto_play": 1, + "head_box_type": 1, + "flag": 0, + "session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_93F5FBE6-4F84-40C9-AEA1-149E9D5D366E", + "group_id": 1000217, + "show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_93F5FBE6-4F84-40C9-AEA1-149E9D5D366E&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=1897222&parent_id=2&area_id=102&page=0&position=12&platform=web", + "click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_93F5FBE6-4F84-40C9-AEA1-149E9D5D366E&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=1897222&parent_id=2&area_id=102&page=0&position=12&platform=web", + "special_id": 0, + "watched_show": { + "switch": true, + "num": 2930, + "text_small": "2930", + "text_large": "2930人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": 0, + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + }, + "is_nft": 0, + "nft_dmark": "", + "is_ad": false, + "ad_transparent_content": null, + "show_ad_icon": false, + "status": false, + "followers": 0 + } + ], + "top_room_id": 0 + } +} +``` + +
From c5f86789103bb308326683b3da56256b99a55b6a Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Feb 2025 15:59:34 +0800 Subject: [PATCH 07/18] chore: ignore .swp file & add missing comment --- .gitignore | 2 +- docs/APP_widget/ver.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f8c09a0..d55cc68 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -mkdocs/html/ /.vuepress/.cache/ /.vuepress/.temp/ /.vuepress/dist/ @@ -6,3 +5,4 @@ mkdocs/html/ .idea/ .vscode/ .DS_Store +*.swp diff --git a/docs/APP_widget/ver.md b/docs/APP_widget/ver.md index 5618564..3296c87 100644 --- a/docs/APP_widget/ver.md +++ b/docs/APP_widget/ver.md @@ -20,6 +20,8 @@ **JSON回复:** +根对象: + | 字段 | 类型 | 内容 | 备注 | | --- | --- | --- | --- | | code | int | 返回值 | 0: 成功 | From bc7efd30722642dd69864c24776caf2e350ab3e4 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sat, 8 Feb 2025 00:48:49 +0800 Subject: [PATCH 08/18] fix(live/recommend.md): missing response and entrance --- README.md | 1 + docs/live/recommend.md | 66 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/README.md b/README.md index 2e91ec7..d9f93c5 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [x] [播放 & 下载地址(视频流)](docs/cheese/videostream_url.md) - [ ] [直播](docs/live) - [ ] [直播间基本信息](docs/live/info.md) + - [ ] [直播推荐](docs/live/recommend.md) - [ ] [直播分区](docs/live/live_area.md) - [ ] [直播间管理](docs/live/manage.md) - [ ] 直播间操作 diff --git a/docs/live/recommend.md b/docs/live/recommend.md index 5edf926..edbf016 100644 --- a/docs/live/recommend.md +++ b/docs/live/recommend.md @@ -13,6 +13,72 @@ | platform | string | 平台类型 | 必要 | 默认为 `web`, 实测可为任意非空串 | | web_location | string | `333.1007` | 非必要 | | +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ------ | -------- | ---- | +| code | number | 返回值 | 0: 成功 | +| message | string | 错误信息 | 默认为 `0` | +| ttl | number | 1 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ------ | ------------- | -------- | +| recommend_room_list | Array | 推荐房间列表 | 套了个娃 | +| top_room_id | number | 置顶直播间号? | | + +`data` 对象中 `recommend_room_list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------------------- | -------------- | ---------------- | ---- | +| head_box | object \| null | 头像框 | 无则为 `null` | +| area_v2_id | number | 分区 ID | | +| area_v2_parent_id | number | 父分区 ID | | +| area_v2_name | string | 分区名称 | | +| area_v2_parent_name | string | 父分区名称 | | +| broadcast_type | number | 广播类型? | | +| cover | string | 封面 URL | | +| link | string | 直播间链接 | 仅 `pathname` 与 `query` 部分 | +| online | number | 观看人数 | | +| pendant_Info | object | ??? | 作用尚不明确 | +| roomid | number | 直播间 ID | | +| title | string | 直播间标题 | | +| uname | string | 主播用户名 | | +| face | string | 主播头像 URL | | +| verify | object | 认证信息 | 参见 [用户基本信息](../user/info.md) | +| uid | number | 主播用户 mid | | +| keyframe | string | 关键帧 URL | | +| is_auto_play | number | 是否自动播放? | | +| head_box_type | number | 头像框类型? | | +| flag | number | 标记? | 作用尚不明确 | +| session_id | string | 会话 ID? | 格式为: 本次请求相同的小写无分隔 UUID + 下划线 + 大写以连字符分隔的 UUID | +| show_callback | string | 展示回调 URL? | | +| click_callback | string | 点击回调 URL? | | +| special_id | number | 特殊 ID? | 作用尚不明确 | +| watched_show | object | 观看展示 | 见下 | +| is_nft | number | 是否为 NFT 头像? | | +| nft_dmark | string | ??? | 作用尚不明确 | +| is_ad | boolean | 是否为广告 | | +| ad_transparent_content | unknown | ??? | 作用尚不明确 | +| show_ad_icon | boolean | 显示广告图标 | | +| status | boolean | 状态? | 作用尚不明确 | +| followers | number | 0 | 作用尚不明确 | + +`recommend_room_list` 数组中的对象中的 `watched_show` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ------- | -------- | ---- | +| switch | boolean | ??? | 作用尚不明确 | +| num | number | 看过人数 | | +| text_small | string | 小文本 | xxx | +| text_large | string | 大文本 | xxx人看过 | +| icon | string | 图标 URL | 浅色线条眼睛图标 | +| icon_location | number | 0 | | +| icon_web | string | 图标 URL | 深色线条眼睛图标 (Web 端) | + **示例:** ```shell From 7282aa2e358977efb84063a3ef67ccb6ed3d705f Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sat, 8 Feb 2025 02:28:52 +0800 Subject: [PATCH 09/18] fix(bili_ticket.md): referer desc & nodejs code close #1174 --- docs/misc/sign/bili_ticket.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/docs/misc/sign/bili_ticket.md b/docs/misc/sign/bili_ticket.md index 6633b26..c0ed0d8 100644 --- a/docs/misc/sign/bili_ticket.md +++ b/docs/misc/sign/bili_ticket.md @@ -30,6 +30,8 @@ *请求方式: POST* +鉴权方式: 请求头 `Referer` 为空或 `.bilibili.com` 子域下任意页 + **URL参数:** | 参数名 | 类型 | 内容 | 必要性 | 备注 | @@ -279,21 +281,16 @@ async function getBiliTicket(csrf) { 'context[ts]': ts, csrf: csrf || '' }); - try { - const response = await fetch(`${url}?${params.toString()}`, { - method: 'POST', - headers: { - 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0' - } - }); - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); + const response = await fetch(`${url}?${params.toString()}`, { + method: 'POST', + headers: { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0' } - const data = await response.json(); - return data; - } catch (e) { - throw error; + }); + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); } + return response.json(); } (async () => { @@ -301,7 +298,7 @@ async function getBiliTicket(csrf) { const ticketResponse = await getBiliTicket(''); // use empty CSRF here console.log(ticketResponse); } catch (e) { - console.error('Failed to get BiliTicket:', error); + console.error('Failed to get BiliTicket:', e); } })(); ``` From 2338773bebfad018631b0db61f3de394a16269d5 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Fri, 7 Mar 2025 01:03:05 +0800 Subject: [PATCH 10/18] fix(live/silent_user_manage.md): typo close #1124 --- docs/live/silent_user_manage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/live/silent_user_manage.md b/docs/live/silent_user_manage.md index 08f7757..55c7c31 100644 --- a/docs/live/silent_user_manage.md +++ b/docs/live/silent_user_manage.md @@ -72,7 +72,7 @@ curl -X POST 'https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/AddSilen | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ---------- | --- | ---------- | --- | ------------------ | | room_id | str | 直播间Id | 必要 | | -| ps1 | str | 列表页码 | 必要 | | +| ps | str | 列表页码 | 必要 | | | csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 | | csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 | | visit_id | str | 不明 | 非必要 | | From 759f87c0b2dd1ad04146a20b6a8e1da728c98068 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sun, 9 Mar 2025 01:20:27 +0800 Subject: [PATCH 11/18] fix(creativecenter/season.md): correct mistakes --- docs/creativecenter/season.md | 48 ++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/docs/creativecenter/season.md b/docs/creativecenter/season.md index 55e6057..472ce32 100644 --- a/docs/creativecenter/season.md +++ b/docs/creativecenter/season.md @@ -357,7 +357,7 @@ curl -G 'https://member.bilibili.com/x2/creative/web/seasons' \ 注: 有人工审核 -**正文参数:** +**正文参数 (application/x-www-form-urlencoded):** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | -------- | ------ | ---- | @@ -729,23 +729,23 @@ curl -X POST 'https://member.bilibili.com/x2/creative/web/season/del' \ -## 获取合集中的视频 +## 获取合集小节中的视频 -可以在给合集排序时使用 +> https://member.bilibili.com/x2/creative/web/season/section -> https://member.bilibili.com/x2/creative/web/season/section?id=3898622 - -*请求方式: POST* +*请求方法: GET* 认证方式: Cookie (SESSDATA) -**正文参数 (application/x-www-form-urlencoded):** +可以在给合集排序时使用, 可以获取别人的 + +**URL 参数:** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ----- | --- | ---- | ----- | --- | | id | num | 合集 ID | 必要 | | -**JSON回复:** +**JSON 回复:** | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ---- | @@ -754,31 +754,36 @@ curl -X POST 'https://member.bilibili.com/x2/creative/web/season/del' \ | ttl | num | 1 | | | data | obj | 信息本体 | | -`data`对象: +`data` 对象: | 字段 | 类型 | 内容 | 备注 | | --------- | ---- | ------------ | ---- | -| seasons | obj | 合集信息 | | -| episodes | arr | 合集中的视频 | | +| section | obj | 小节信息 | | +| episodes | arr | 小节中的视频 | | -`seasons`对象: +`data` 对象中的 `section` 对象: | 字段 | 类型 | 内容 | 备注 | | --------- | ---- | ------------ | ---- | -| id | num | 合集 ID | | -| type | num | 合集类型 | | -| cover | str | 合集封面 URL | | -| isEnd | num | 是否已完结? | 0: 未完结 | +| id | num | 小节 ID | | +| type | num | 小节类型 | | +| seasonId | num | 合集 ID | | +| title | str | 小结标题 | | +| order | str | 排序编号? | | +| isEnd | num | 是否已完结? | 0: 未完结 | | state | num | 合集状态? | 0: 正常显示
-6: 正在审核 | | partState | num | 合集分段状态? | 0 | | rejectReason | str | 合集拒绝原因? | | | ctime | num | 创建时间 | | | mtime | num | 修改时间 | | -| epCount | num | 视频总数 | | +| epCount | num | 小节视频总数 | | +| cover | num | 合集封面 | | | show | num | 是否公开? | 1: 公开 | | has_charging_pay | num | 是否充电付费? | 0: 否 | +| Episodes | null | | | +| has_pugv_pay | num | 是否 PUGV 付费? | 0: 否 | -`episodes`数组中的对象: +`data` 对象中的 `episodes`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | --------- | ---- | ------------ | ---- | @@ -803,11 +808,12 @@ curl -X POST 'https://member.bilibili.com/x2/creative/web/season/del' \ **示例:** -获取合集176088的视频列表 `id=3541327` +获取合集小节 176088 的视频 ```shell -curl -X GET 'https://member.bilibili.com/x2/creative/web/season/section?id=176088' \ --b 'SESSDATA=xxx; bili_jct=xxx' +curl -G --url 'https://member.bilibili.com/x2/creative/web/season/section' \ +--url-query 'id=176088' \ +-b 'SESSDATA=xxx' ```
From 1d4c2d9e63de341aeb5cb7ee0622e9f7c8568c96 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Mon, 10 Mar 2025 23:25:10 +0800 Subject: [PATCH 12/18] fix(video/action.md): fav required add_media_ids close #1210 --- docs/video/action.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/video/action.md b/docs/video/action.md index 58ac656..c6ecb1a 100644 --- a/docs/video/action.md +++ b/docs/video/action.md @@ -476,8 +476,8 @@ curl -G 'https://api.bilibili.com/x/web-interface/archive/coins' \ | access_key | str | APP 登录 Token | APP 方式必要 | | | rid | num | 稿件 avid | 必要 | | | type | num | 必须为2 | 必要 | | -| add_media_ids | nums | 需要加入的收藏夹 mlid | 非必要(可选) | 同时添加多个,用`,`(%2C)分隔 | -| del_media_ids | nums | 需要取消的收藏夹 mlid | 非必要(可选) | 同时取消多个,用`,`(%2C)分隔 | +| add_media_ids | nums | 需要加入的收藏夹 mlid | 必要(可选) | 同时添加多个,用`,`(%2C)分隔 | +| del_media_ids | nums | 需要取消的收藏夹 mlid | 必要(可选) | 同时取消多个,用`,`(%2C)分隔 | | csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** @@ -553,8 +553,8 @@ curl 'https://api.bilibili.com/medialist/gateway/coll/resource/deal' \ | ------------- | ---- | ---------------------------------- | ------------ | ------------------------------ | | rid | num | 稿件 avid | 必要 | | | type | num | 必须为2 | 必要 | | -| add_media_ids | nums | 需要加入的收藏夹 mlid | 非必要(可选) | 同时添加多个,用`,`(%2C)分隔 | -| del_media_ids | nums | 需要取消的收藏夹 mlid | 非必要(可选) | 同时取消多个,用`,`(%2C)分隔 | +| add_media_ids | nums | 需要加入的收藏夹 mlid | 必要(可选) | 同时添加多个,用`,`(%2C)分隔 | +| del_media_ids | nums | 需要取消的收藏夹 mlid | 必要(可选) | 同时取消多个,用`,`(%2C)分隔 | | csrf | str | CSRF Token (即 Cookie 中 bili_jct) | 必要 | | | platform | str | 平台标识? | 非必要 | web端: web | | eab_x | num | 1 | 非必要 | 作用尚不明确 | @@ -584,15 +584,15 @@ curl 'https://api.bilibili.com/medialist/gateway/coll/resource/deal' \ **示例:** -将视频 `av1906473802` 添加到收藏夹 `1164192068` 中 +将视频 `av2` 添加到收藏夹 `645769214` 中 ```shell -curl -sX POST "https://api.bilibili.com/x/v3/fav/resource/deal" \ ---data-urlencode "rid=1906473802" \ ---data-urlencode "type=2" \ +curl -X POST "https://api.bilibili.com/x/v3/fav/resource/deal" \ +--data-urlencode "rid=2" \ +--data-urlencode "type=2" \ --data-urlencode "csrf=xxx" \ ---data-urlencode "add_media_ids=1164192068" \ --b "SESSDATA=xxx; bili_jct=xxx" +--data-urlencode "add_media_ids=1428261914" \ +-b "SESSDATA=xxx" ```
From a9f405a9a06964bfc715b17806a09334a110a96c Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Mon, 24 Mar 2025 00:36:22 +0800 Subject: [PATCH 13/18] feat(search/hot): wbi/search/square --- docs/search/hot.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/search/hot.md b/docs/search/hot.md index bf08331..6c7cdb9 100644 --- a/docs/search/hot.md +++ b/docs/search/hot.md @@ -67,7 +67,8 @@ curl 'https://api.bilibili.com/x/web-interface/search/default' ## 获取热搜列表 -> https://api.bilibili.com/x/web-interface/search/square +> https://api.bilibili.com/x/web-interface/wbi/search/square +> ~~https://api.bilibili.com/x/web-interface/search/square~~ *请求方式: GET* From 02976b22e82cf7841e18cd52316ec65f212f6b95 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sat, 12 Apr 2025 09:31:46 +0800 Subject: [PATCH 14/18] feat: live GetEmotion close #1216 --- README.md | 1 + docs/live/emoticons.md | 927 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 928 insertions(+) create mode 100644 docs/live/emoticons.md diff --git a/README.md b/README.md index d9f93c5..0619f2e 100644 --- a/README.md +++ b/README.md @@ -250,6 +250,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [ ] [直播视频流](docs/live/live_stream.md) - [ ] [直播信息流](docs/live/message_stream.md) - [ ] [直播红包](docs/live/redpocket.md) + - [ ] [直播间表情包](docs/live/emoticons.md) - [ ] [直播间用户实用 API](docs/live/user.md) - [x] [直播间禁言相关](docs/live/silent_user_manage.md) - [ ] [关注UP直播情况](docs/live/follow_up_live.md) diff --git a/docs/live/emoticons.md b/docs/live/emoticons.md new file mode 100644 index 0000000..75ee998 --- /dev/null +++ b/docs/live/emoticons.md @@ -0,0 +1,927 @@ +# 直播间表情 + +## 获取直播间的表情包 + +> https://api.live.bilibili.com/xlive/web-ucenter/v2/emoticon/GetEmoticons + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**URL 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ------ | ---------- | ------ | ---- | +| platform | string | 平台 | 必要 | 已知: `pc``android` `ios` | +| room_id | number | 直播间长号 | 必要 | 只支持 `room_id` 不支持 `short_id` | + +**JSON 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ------ | -------- | ---- | +| code | number | 返回值 | 0: 成功 | +| message | string | 错误消息 | 默认为 0 | +| ttl | number | 1 | | +| data | object | 信息本体 | 见下 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | -------- | ---------- | ---- | +| data | object[] | 表情包数据 | 套了个娃 | +| fans_brand | number | 品牌标识? | | +| purchase_url | null? | 购买链接? | | + +`data.data[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------------- | -------- | --------- | ---- | +| current_cover | string | 封面 URL | | +| emoticons | object[] | 表情列表 | | +| pkg_descript | string | 文字描述 | | +| pkg_id | number | 包 ID | | +| pkg_name | string | 包名称 | | +| pkg_perm | number | 使用权限? | | +| pkg_type | number | 包类型 | | +| recently_used_emoticons | unknown[] | 最近使用的表情 | | +| top_show | object | 顶部展示信息? | | +| top_show_recent | object | 最近使用的顶部展示信息? | | +| unlock_identity | number | 解锁所需身份标识? | | +| unlock_need_gift | number | 解锁所需礼物? | | + +`data.data[].emoticons[]` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ------ | ---- | ---- | +| bulge_display | number | 突出展示? | | +| descript | string | 描述 | | +| emoji | string | 触发关键词? | | +| emoticon_id | number | 表情 ID | | +| emoticon_unique | string | 表情唯一标识 | | +| emoticon_value_type | number | 表情值类型? | | +| height | number | 表情图片高度 | | +| identity | number | 身份限制标识? | | +| in_player_area | number | 播放器区域内展示? | | +| is_dynamic | number | 是否为动态表情? | | +| perm | number | 使用权限? | | +| unlock_need_gift | number | 解锁需求礼物? | | +| unlock_need_level | number | 解锁需求等级? | | +| unlock_show_color | string | 解锁展示颜色? | | +| unlock_show_image | string | 解锁展示图片? | | +| unlock_show_text | string | 解锁展示文字? | | +| url | string | 表情图片 URL | | +| width | number | 表情图片宽度 | | + +`data.data[].top_show` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ------ | ---- | ---- | +| top_left | object | | 左上 | +| top_right | object | | 右上 | + +`data.data[].top_show.top_left` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ------ | ----- | ---- | +| image | string | 图片? | | +| text | string | 文字 | | + +`data.data[].top_show.top_right` 对象: + +同 `data.data[].top_show.top_left` 对象 + +`data.data[].top_show_recent` 对象: + +同 `data.data[].top_show` 对象 + +`data.data[].top_show_recent.top_left` 对象: + +同 `data.data[].top_show.top_left` 对象 + +`data.data[].top_show_recent.top_right` 对象: + +同 `data.data[].top_show.top_left` 对象 + +**示例:** + +获取直播间 `14047` 的表情包, 平台为 `android` + +```shell +curl -G 'https://api.live.bilibili.com/xlive/web-ucenter/v2/emoticon/GetEmoticons' \ +--url-query 'room_id=14047' \ +--url-query 'platform=android' \ +-b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "data": { + "data": [ + { + "current_cover": "http://i0.hdslb.com/bfs/live/39b7667c2601e4da8019472f5e3df1f2278278b6.png", + "emoticons": [ + { + "bulge_display": 0, + "descript": "", + "emoji": "啊", + "emoticon_id": 331, + "emoticon_unique": "official_331", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/cbf2746062242e77bdcb9eb08edbf9b151fe0c2e.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "冲鸭", + "emoticon_id": 332, + "emoticon_unique": "official_332", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/dea7fbbc1c3d3c80f4c7b27263e13460f21874e4.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "upup", + "emoticon_id": 348, + "emoticon_unique": "official_348", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/38d84a4cd2f40069202ee13bbdca5b23d29710fb.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "星星向龙", + "emoticon_id": 343, + "emoticon_unique": "official_343", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/a69423be39b0f2a87dc74f2e44ead70de0eb0d4f.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "欧皇驾到", + "emoticon_id": 335, + "emoticon_unique": "official_335", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/650399e68d0d93df4b3f9e95e7437e83be7fbb1a.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "这个好耶", + "emoticon_id": 345, + "emoticon_unique": "official_345", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/2ce08b31618d3ad0d34877bf949ef0089a0438b7.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "泰裤辣", + "emoticon_id": 339, + "emoticon_unique": "official_339", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/82c38fc930ae764b4c6215f544bf8e1dba73b51c.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "闪避技能", + "emoticon_id": 337, + "emoticon_unique": "official_337", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/fa3febe6c62f3bcd042953141930d96fb8451e60.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "稳住能赢", + "emoticon_id": 342, + "emoticon_unique": "official_342", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/b3495aaa935b045bfc2e1d52738ea7b124e0d552.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "中奖喷雾", + "emoticon_id": 346, + "emoticon_unique": "official_346", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/c3cfa182d16564301d39e4c7e4c186dfb9fabf96.png", + "width": 200 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "赞", + "emoticon_id": 147, + "emoticon_unique": "official_147", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/bbd9045570d0c022a984c637e406cb0e1f208aa9.png", + "width": 150 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "妙啊", + "emoticon_id": 109, + "emoticon_unique": "official_109", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/7b7a2567ad1520f962ee226df777eaf3ca368fbc.png", + "width": 138 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "有点东西", + "emoticon_id": 113, + "emoticon_unique": "official_113", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/39e518474a3673c35245bf6ef8ebfff2c003fdc3.png", + "width": 186 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "很有精神", + "emoticon_id": 150, + "emoticon_unique": "official_150", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/e91cbe30b2db1e624bd964ad1f949661501f42f8.png", + "width": 201 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "泪目", + "emoticon_id": 103, + "emoticon_unique": "official_103", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/aa93b9af7ba03b50df23b64e9afd0d271955cd71.png", + "width": 144 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "赢麻了", + "emoticon_id": 128, + "emoticon_unique": "official_128", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/1d4c71243548a1241f422e90cd8ba2b75c282f6b.png", + "width": 156 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "钝角", + "emoticon_id": 133, + "emoticon_unique": "official_133", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/38cf68c25d9ff5d364468a062fc79571db942ff3.png", + "width": 153 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "干杯", + "emoticon_id": 149, + "emoticon_unique": "official_149", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/8fedede4028a72e71dae31270eedff5f706f7d18.png", + "width": 162 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "2333", + "emoticon_id": 124, + "emoticon_unique": "official_124", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/a98e35996545509188fe4d24bd1a56518ea5af48.png", + "width": 183 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "打call", + "emoticon_id": 146, + "emoticon_unique": "official_146", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/fa1eb4dce3ad198bb8650499830560886ce1116c.png", + "width": 195 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "多谢款待", + "emoticon_id": 148, + "emoticon_unique": "official_148", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/4609dad97c0dfa61f8da0b52ab6fff98e0cf1e58.png", + "width": 207 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "awsl", + "emoticon_id": 102, + "emoticon_unique": "official_102", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/328e93ce9304090f4035e3aa7ef031d015bbc915.png", + "width": 162 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "鸡汤来咯", + "emoticon_id": 137, + "emoticon_unique": "official_137", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/b371151503978177b237afb85185b0f5431d0106.png", + "width": 198 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "雀食", + "emoticon_id": 118, + "emoticon_unique": "official_118", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/7251dc7df587388a3933743bf38394d12a922cd7.png", + "width": 159 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "禁止套娃", + "emoticon_id": 108, + "emoticon_unique": "official_108", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/6a644577437d0bd8a314990dd8ccbec0f3b30c92.png", + "width": 204 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "暗中观察", + "emoticon_id": 104, + "emoticon_unique": "official_104", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/18af5576a4582535a3c828c3ae46a7855d9c6070.png", + "width": 156 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "保熟吗", + "emoticon_id": 105, + "emoticon_unique": "official_105", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/0e28444c8e2faef3169e98e1a41c487144d877d4.png", + "width": 162 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "比心", + "emoticon_id": 106, + "emoticon_unique": "official_106", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/1ba5126b10e5efe3e4e29509d033a37f128beab2.png", + "width": 132 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "咸鱼翻身", + "emoticon_id": 110, + "emoticon_unique": "official_110", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/7db4188c050f55ec59a1629fbc5a53661e4ba780.png", + "width": 180 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "mua", + "emoticon_id": 111, + "emoticon_unique": "official_111", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/08f1aebaa4d9c170aa79cbafe521ef0891bdf2b5.png", + "width": 165 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "来了来了", + "emoticon_id": 115, + "emoticon_unique": "official_115", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/61e790813c51eab55ebe0699df1e9834c90b68ba.png", + "width": 168 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "贴贴", + "emoticon_id": 116, + "emoticon_unique": "official_116", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/88b49dac03bfd5d4cb49672956f78beb2ebd0d0b.png", + "width": 162 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "牛牛牛", + "emoticon_id": 117, + "emoticon_unique": "official_117", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/343f7f7e87fa8a07df63f9cba6b776196d9066f0.png", + "width": 168 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "颠个勺", + "emoticon_id": 119, + "emoticon_unique": "official_119", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/625989e78079e3dc38d75cb9ac392fe8c1aa4a75.png", + "width": 195 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "好家伙", + "emoticon_id": 122, + "emoticon_unique": "official_122", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/c2650bf9bbc79b682a4b67b24df067fdd3e5e9ca.png", + "width": 165 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "下次一定", + "emoticon_id": 125, + "emoticon_unique": "official_125", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/cc2652cef69b22117f1911391567bd2957f27e08.png", + "width": 177 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "不上Ban", + "emoticon_id": 126, + "emoticon_unique": "official_126", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/eff44c1fc03311573e8817ca8010aca72404f65c.png", + "width": 231 + }, + { + "bulge_display": 0, + "descript": "", + "emoji": "上热榜", + "emoticon_id": 134, + "emoticon_unique": "official_134", + "emoticon_value_type": 0, + "height": 60, + "identity": 99, + "in_player_area": 1, + "is_dynamic": 1, + "perm": 1, + "unlock_need_gift": 0, + "unlock_need_level": 0, + "unlock_show_color": "", + "unlock_show_image": "", + "unlock_show_text": "", + "url": "http://i0.hdslb.com/bfs/live/83d5b9cdaaa820c2756c013031d34dac1fd4156b.png", + "width": 168 + } + ], + "pkg_descript": "官方表情(系统)", + "pkg_id": 1, + "pkg_name": "通用表情", + "pkg_perm": 1, + "pkg_type": 1, + "recently_used_emoticons": [], + "top_show": { + "top_left": { + "image": "", + "text": "通用表情" + }, + "top_right": { + "image": "", + "text": "" + } + }, + "top_show_recent": { + "top_left": { + "image": "", + "text": "" + }, + "top_right": { + "image": "", + "text": "" + } + }, + "unlock_identity": 0, + "unlock_need_gift": 0 + } + ], + "fans_brand": 1, + "purchase_url": null + }, + "message": "0", + "ttl": 1 +} +``` +
From 2a8fbd2eabcf7657c6ccf262dbbb3122298b1b39 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sat, 12 Apr 2025 09:43:16 +0800 Subject: [PATCH 15/18] feat: history dt 9 close #1206 --- docs/history&toview/history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/history&toview/history.md b/docs/history&toview/history.md index a12c3f9..ddecbcf 100644 --- a/docs/history&toview/history.md +++ b/docs/history&toview/history.md @@ -120,7 +120,7 @@ | cid | num | 观看到的对象id | 稿件视频&剧集(当`business=archive`或`business=pgc`时):视频cid
文集(当`business=article-list`时):文章cvid | | part | str | 观看到的视频分 P 标题 | 仅用于稿件视频 | | business | str | 业务类型 | **见请求参数** | -| dt | num | 记录查看的平台代码 | 1 3 5 7:手机端
2:web端
4 6:pad端
33:TV端
0:其他 | +| dt | num | 记录查看的平台代码 | 1 3 5 7:手机端
2:web端
4 6:pad端
9: 智能音箱/游戏机33:TV端
0:其他 | **示例:** From 9d7c2b07d93a2faf690033c6692abde307d8ece5 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sat, 12 Apr 2025 09:49:38 +0800 Subject: [PATCH 16/18] feat(video/report.md): warning and tips for h5 --- docs/video/report.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/video/report.md b/docs/video/report.md index 4cccc92..ef141bc 100644 --- a/docs/video/report.md +++ b/docs/video/report.md @@ -179,7 +179,8 @@ curl 'https://api.bilibili.com/x/click-interface/web/heartbeat' \ 认证方式: Cookie (SESSDATA) -该接口亦被用于计算播放量, 播放量更新不是实时的 +该接口亦被用于计算播放量, 播放量更新不是实时的
+该接口使用似乎存在 200 播放限制, **请勿滥用!** **URL参数:** From 7051e5dbf091cf36790c77b9f7aa0bdf02861b3b Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sat, 12 Apr 2025 16:59:20 +0800 Subject: [PATCH 17/18] feat(video/videostream_url.md): playurl try_look close #1095 --- docs/video/videostream_url.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/video/videostream_url.md b/docs/video/videostream_url.md index 1c8a19a..ef7196c 100644 --- a/docs/video/videostream_url.md +++ b/docs/video/videostream_url.md @@ -15,7 +15,7 @@ | 6 | 240P 极速 | 仅 MP4 格式支持
仅`platform=html5`时有效 | | 16 | 360P 流畅 | | | 32 | 480P 清晰 | | -| 64 | 720P 高清 | WEB 端默认值
B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到 720P 的取流地址
**无 720P 时则为 720P60** | +| 64 | 720P 高清 | WEB 端默认值
~~B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到 720P 的取流地址~~
**无 720P 时则为 720P60** | | 74 | 720P60 高帧率 | 登录认证 | | 80 | 1080P 高清 | TV 端与 APP 端默认值
登录认证 | | 112 | 1080P+ 高码率 | 大会员认证 | @@ -117,6 +117,7 @@ | type | str | | 非必要 | 目前为空 | | platform | str | | 非必要 | pc:web播放(默认值,视频流存在 referer鉴权)
html5:移动端 HTML5 播放(仅支持 MP4 格式,无 referer 鉴权可以直接使用`video`标签播放) | | high_quality | num | 是否高画质 | 非必要 | platform=html5时,此值为1可使画质为1080p | +| try_look | num | 未登录高画质 | 非必要 | 为 `1` 时可以不登录拉到 `64` 和 `80` 清晰度 | **json回复:** From 687ad1fa582280309fc94d1a60f45ccbe9a6c083 Mon Sep 17 00:00:00 2001 From: SessionHu <102411014+SessionHu@users.noreply.github.com> Date: Sun, 13 Apr 2025 01:34:38 +0800 Subject: [PATCH 18/18] feat(README.md): json-apidoc-gen --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0619f2e..519ffa2 100644 --- a/README.md +++ b/README.md @@ -386,6 +386,7 @@ OR Aifadian:[https://afdian.net/@ShakaiAneE](https://afdian.net/@ShakaiAneE) - [bloomrpc/bloomrpc](https://github.com/bloomrpc/bloomrpc): GUI Client for GRPC Services - [grpc/grpc](https://github.com/grpc/grpc): The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) - [glideapps/quicktype](https://github.com/glideapps/quicktype): quicktype generates strongly-typed models and serializers from JSON, JSON Schema, TypeScript, and GraphQL queries, making it a breeze to work with JSON type-safely in many programming languages. 一键生成多种语言的JSON反序列化所需类,以便于快速反序列化,有网页版 +- [SessionHu/json-apidoc-gen](https://github.com/SessionHu/json-apidoc-gen): Simple CLI tool for generating BAC document template