diff --git a/README.md b/README.md index 9fabc77..b932b45 100644 --- a/README.md +++ b/README.md @@ -262,6 +262,10 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接 - [ ] [关注UP直播情况](docs/live/follow_up_live.md) - [ ] [直播心跳上报](docs/live/report.md) - [ ] [直播间弹幕](docs/live/danmaku.md) + - [ ] [直播流水](docs/live/live_bill.md) + - [ ] [礼物相关](docs/live/gift.md) + - [ ] [大航海/粉丝团](docs/live/guard.md) + - [ ] [直播回放](docs/live/live_replay.md) - [ ] [活动](docs/activity) - [ ] [活动列表](docs/activity/list.md) - [ ] [活动主题信息](docs/activity/info.md) diff --git a/docs/bangumi/info.md b/docs/bangumi/info.md index 6857cd3..6345107 100644 --- a/docs/bangumi/info.md +++ b/docs/bangumi/info.md @@ -1,3 +1,74 @@ +# 剧集地区一览 + +| ID | 名称 | +|----|-------| +| 1 | 中国大陆 | +| 2 | 日本 | +| 3 | 美国 | +| 4 | 英国 | +| 5 | 加拿大 | +| 6 | 中国香港 | +| 7 | 中国台湾 | +| 8 | 韩国 | +| 9 | 法国 | +| 10 | 泰国 | +| 11 | 马来西亚 | +| 12 | 新加坡 | +| 13 | 西班牙 | +| 14 | 俄罗斯 | +| 15 | 德国 | +| 16 | 其他 | +| 17 | 丹麦 | +| 18 | 乌克兰 | +| 19 | 以色列 | +| 20 | 伊朗 | +| 21 | 保加利亚 | +| 22 | 克罗地亚 | +| 23 | 冰岛 | +| 24 | 匈牙利 | +| 25 | 南非 | +| 26 | 印尼 | +| 27 | 印度 | +| 28 | 哥伦比亚 | +| 30 | 土耳其 | +| 31 | 墨西哥 | +| 32 | 委内瑞拉 | +| 33 | 巴西 | +| 34 | 希腊 | +| 35 | 意大利 | +| 36 | 挪威 | +| 37 | 捷克 | +| 38 | 摩洛哥 | +| 39 | 新西兰 | +| 40 | 智利 | +| 41 | 比利时 | +| 42 | 波兰 | +| 43 | 澳大利亚 | +| 44 | 爱尔兰 | +| 45 | 瑞典 | +| 46 | 瑞士 | +| 47 | 芬兰 | +| 48 | 苏联 | +| 49 | 荷兰 | +| 50 | 越南 | +| 51 | 阿根廷 | +| 52 | 马耳他 | +| 53 | 古巴 | +| 54 | 菲律宾 | +| 55 | 哈萨克斯坦 | +| 56 | 黎巴嫩 | +| 57 | 塞浦路斯 | +| 58 | 卡塔尔 | +| 59 | 阿联酋 | +| 60 | 奥地利 | +| 61 | 西德 | +| 62 | 卢森堡 | +| 63 | 罗马尼亚 | +| 64 | 印度尼西亚 | +| 65 | 南斯拉夫 | +| 66 | 蒙古 | +| 70 | 葡萄牙 | + # 剧集基本信息 ## 剧集基本信息(mdid方式) @@ -57,10 +128,10 @@ `areas`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -|------|-----|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| id | num | 所属地区编号 | 1:中国大陆
2:日本
3:美国
4:英国
5:加拿大
6:中国香港
7:中国台湾
8:韩国
9:法国
10:泰国
12:新加坡
13:西班牙
14:俄罗斯
15:德国
16:其他
17:丹麦
18:乌克兰
19:以色列
20:伊朗
24:匈牙利
22:克罗地亚
23:冰岛
24:匈牙利
25:南非
26:印尼
27:印度
30:土耳其
31:墨西哥
32:委内瑞拉
33:巴西
34:希腊
35:意大利
36:挪威
37:捷克
39:新西兰
40:智利
41:比利时
42:波兰
43:澳大利亚
44:爱尔兰
45:瑞典
46:瑞士
47:芬兰
48:苏联
49:荷兰
51:阿根廷
53:古巴
54:菲律宾
55:哈萨克斯坦 | -| name | str | 所属地区名称 | | +| 字段 | 类型 | 内容 | 备注 | +|------|-----|--------|-------------------| +| id | num | 所属地区编号 | [剧集地区一览](#剧集地区一览) | +| name | str | 所属地区名称 | | `media`中的`new_ep`对象: @@ -141,262 +212,668 @@ curl -G 'https://api.bilibili.com/pgc/review/user' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| --------- | ---- | -------- | ------------ | ------------------------ | -| season_id | num | 番剧ssid | 必要(可选) | season_id与ep_id任选其一 | -| ep_id | num | 剧集epid | 必要(可选) | season_id与ep_id任选其一 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|-----------|-----|--------|--------|---------------------| +| season_id | num | 番剧ssid | 必要(可选) | season_id与ep_id任选其一 | +| ep_id | num | 剧集epid | 必要(可选) | season_id与ep_id任选其一 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ----------------------- | -| code | num | 返回值 | 0:成功
-404:错误 | -| message | str | 错误信息 | 默认为success | -| ttl | num | 1 | 作用尚不明确 | -| result | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|-------------------| +| code | num | 返回值 | 0:成功
-404:错误 | +| message | str | 错误信息 | 默认为success | +| result | obj | 信息本体 | | `result`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ------ | -------------------------- | ------------------------------------------ | -| activity | obj | 参与的活动 | | -| alias | str | 空 | 作用尚不明确 | -| bkg_cover | str | 网页背景图片url | 无则为空 | -| cover | str | 剧集封面图片url | | -| episodes | array | 正片剧集列表 | | -| evaluate | str | 简介 | | -| jp_title | str | 空 | 作用尚不明确 | -| link | str | 简介页面url | | -| media_id | num | 剧集mdid | | -| mode | num | 2 | 作用尚不明确 | -| new_ep | obj | 更新信息 | | -| payment | obj | 会员&付费信息 | 若无相关内容则无此项 | -| positive | obj | | | -| publish | obj | 发布信息 | | -| rating | obj | 评分信息 | 若无相关内容则无此项 | -| record | str | 备案号 | 无则为空 | -| rights | obj | 属性标志信息 | | -| season_id | num | 番剧ssid | | -| season_title | str | 剧集标题 | | -| seasons | array | 同系列所有季信息 | | -| section | array | 花絮、PV、番外等非正片内容 | 若无相关内容则无此项 | -| series | obj | 系列信息 | | -| share_copy | str | 《{标题}》+{备注} | | -| share_sub_title | str | 备注 | | -| share_url | str | 番剧播放页面url | | -| show | obj | 网页全屏标志 | | -| square_cover | str | 方形封面图片url | | -| stat | obj | 状态数 | | -| status | num | | | -| subtitle | str | 剧集副标题 | | -| title | str | 剧集标题 | | -| total | num | 总计正片集数 | 未完结:大多为-1
已完结:正整数 | -| type | num | 剧集类型 | 1:番剧
2:电影
3:纪录片
4:国创
5:电视剧
7:综艺 | -| up_info | obj | UP主信息 | 若无相关内容则无此项 | +| 字段 | 类型 | 内容 | 备注 | +|-------------------------|-------|----------------|----------------------------------------------------------| +| activity | obj | 参与的活动 | | +| actors | str | | | +| alias | str | 空 | 作用尚不明确 | +| areas | array | | | +| bkg_cover | str | 网页背景图片url | 无则为空 | +| cover | str | 剧集封面图片url | | +| delivery_fragment_video | bool | | | +| enable_vt | bool | | | +| episodes | array | 正片剧集列表 | | +| evaluate | str | 简介 | | +| freya | obj | | | +| hide_ep_vv_vt_dm | num | | | +| icon_font | obj | | | +| jp_title | str | 空 | 作用尚不明确 | +| link | str | 简介页面url | | +| media_id | num | 剧集mdid | | +| mode | num | 2 | 作用尚不明确 | +| multi_view_info | obj | | | +| new_ep | obj | 更新信息 | | +| payment | obj | 会员&付费信息 | 若无相关内容则无此项 | +| payPack | obj | 付费包信息 | 目前只有霹雳布袋戏付费套餐一种 | +| play_strategy | obj | | | +| positive | obj | | | +| publish | obj | 发布信息 | | +| rating | obj | 评分信息 | 若无相关内容则无此项 | +| record | str | 备案号 | 无则为空 | +| rights | obj | 属性标志信息 | | +| season_id | num | 番剧ssid | | +| season_title | str | 剧集标题 | | +| seasons | array | 同系列所有季信息 | | +| section | array | 花絮、PV、番外等非正片内容 | 若无相关内容则无此项 | +| section_bottom_desc | str | | | +| series | obj | 系列信息 | | +| share_copy | str | 《{标题}》+{备注} | | +| share_sub_title | str | 备注 | | +| share_url | str | 番剧播放页面url | | +| show | obj | 网页全屏标志 | | +| show_season_type | num | 1,2,3,4,5,7 | | +| square_cover | str | 方形封面图片url | | +| staff | str | 制作人员信息 | | +| stat | obj | 状态数 | | +| status | num | | | +| styles | array | 标签 | | +| subtitle | str | 剧集副标题 | | +| title | str | 剧集标题 | | +| total | num | 总计正片集数 | 未完结:大多为-1
已完结:正整数 | +| type | num | 剧集类型 | 1:番剧
2:电影
3:纪录片
4:国创
5:电视剧
7:综艺 | +| up_info | obj | UP主信息 | 若无相关内容则无此项 | +| user_status | obj | | | `result`中的`activity`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | -------- | ------------ | -| head_bg_url | str | 空 | 作用尚不明确 | -| id | num | 活动id | | -| title | str | 活动标题 | | +| 字段 | 类型 | 内容 | 备注 | +|-------------|-------|------|--------| +| cover | str | | | +| head_bg_url | str | 空 | 作用尚不明确 | +| id | num | 活动id | | +| link | str | | | +| pendants | array | | | +| title | str | 活动标题 | | + +`activity`中的`pendants`数组 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| image | str | | | +| name | str | | | +| pid | num | | | + +`result`中的`areas`数组 + +| 字段名 | 类型 | 内容 | 备注 | +|------|-----|--------|-------------------| +| id | num | 所属地区编号 | [剧集地区一览](#剧集地区一览) | +| name | str | 所属地区名称 | | `result`中的`episodes`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | ------------ | -| 0 | obj | 正片第1集 | | -| n | obj | 正片第(n+1)集 | 按照顺序排列 | -| …… | obj | | | +| 项 | 类型 | 内容 | 备注 | +|----|-----|-----------|--------| +| 0 | obj | 正片第1集 | | +| n | obj | 正片第(n+1)集 | 按照顺序排列 | +| …… | obj | | | `episodes`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | --------------------------------- | -------------------- | -| aid | num | 单集稿件avid | | -| badge | str | 标签文字 | 例如`会员`、`限免`等 | -| badge_info | obj | | | -| badge_type | num | | | -| bvid | str | 单集稿件bvid | | -| cid | num | 视频cid | | -| cover | str | 单集封面url | | -| dimension | obj | 分辨率信息 | | -| from | str | | | -| id | num | 单集epid | | -| link | str | 单集网页url | | -| long_title | str | 单集完整标题 | | -| pub_time | num | 发布时间 | 时间戳 | -| pv | num | 0 | 作用尚不明确 | -| release_date | str | 空 | 作用尚不明确 | -| rights | obj | | | -| share_copy | str | 《{标题}》+第n话+{单集完整标题} | | -| share_url | str | 单集网页url | | -| short_link | str | 单集网页url短链接 | | -| status | num | | | -| subtitle | str | 单集副标题 | 观看次数文字 | -| title | str | 单集标题 | | -| vid | str | 单集vid | vupload_+{cid} | +| 字段 | 类型 | 内容 | 备注 | +|--------------------|-------|---------------------|----------------| +| aid | num | 单集稿件avid | | +| archive_attr | num | | | +| badge | str | 标签文字 | 例如`会员`、`限免`等 | +| badge_info | obj | | | +| badge_type | num | | | +| bvid | str | 单集稿件bvid | | +| cid | num | 视频cid | | +| cover | str | 单集封面url | | +| dimension | obj | 分辨率信息 | | +| duration | num | | | +| enable_vt | bool | | | +| ep_id | num | | | +| from | str | | | +| id | num | 单集epid | | +| interaction | obj | | | +| is_sub_view | bool | | | +| is_view_hide | bool | | | +| link | str | 单集网页url | | +| long_title | str | 单集完整标题 | | +| multi_view_eps | array | | | +| pub_time | num | 发布时间 | 时间戳 | +| pv | num | 0 | 作用尚不明确 | +| release_date | str | 空 | 作用尚不明确 | +| rights | obj | | | +| section_type | num | | | +| share_copy | str | 《{标题}》+第n话+{单集完整标题} | | +| share_url | str | 单集网页url | | +| short_link | str | 单集网页url短链接 | | +| show_title | str | | | +| showDrmLoginDialog | bool | | | +| skip | obj | | | +| status | num | | | +| subtitle | str | 单集副标题 | 观看次数文字 | +| title | str | 单集标题 | | +| toast_title | str | | | +| vid | str | 单集vid | vupload_+{cid} | + +`episodes`中的`badge_info`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------------|-----|----|----| +| bg_color | str | | | +| bg_color_night | str | | | +| text | str | | | + +`episodes`中的`dimension`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------|-----|----|----| +| height | num | | | +| rotate | num | | | +| width | num | | | + +`episodes`中的`interaction`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|---------------|------|----|----| +| graph_version | num | | | +| interaction | bool | | | + +`episodes`中的`multi_view_eps`数组 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| ep_id | num | | | + +`episodes`中的`rights`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------------|-----|----|----| +| allow_demand | num | | | +| allow_dm | num | | | +| allow_download | num | | | +| area_limit | num | | | + +`episodes`中的`skip`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-----|-----|----|----| +| ed | obj | | | +| op | obj | | | + +`skip`对象中的`ed`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| end | num | | | +| start | num | | | + +`skip`对象中的`op`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| end | num | | | +| start | num | | | + +`result`中的`freya`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-----------------|-----|----|----| +| bubble_desc | str | | | +| bubble_show_cnt | num | | | +| icon_show | num | | | + +`result`中的`icon_font`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|------|-----|----|----| +| name | str | | | +| text | str | | | + +`result`中的`multi_view_info`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------------------|------|----|----| +| changing_dance | str | | | +| is_multi_view_season | bool | | | `result`中的`new_ep`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------ | ---- | ------------ | ---------------- | -| desc | str | 更新备注 | | -| id | num | 最新一话epid | | -| is_new | num | 是否最新发布 | 0:否
1:是 | -| title | str | 最新一话标题 | | +| 字段 | 类型 | 内容 | 备注 | +|--------|-----|----------|--------------| +| desc | str | 更新备注 | | +| id | num | 最新一话epid | | +| is_new | num | 是否最新发布 | 0:否
1:是 | +| title | str | 最新一话标题 | | `result`中的`payment`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------------- | ---- | ------------ | -------- | -| discount | num | 折扣 | 100为原价 | -| pay_type | obj | 支付相关 | | -| price | str | 售价 | | -| promotion | str | 推广信息 | | -| vip_discount | num | 大会员折扣 | | -| vip_first_promotion | str | | | -| vip_price | str | 大会员售价 | | -| vip_promotion | str | 大会员推广信息 | | +| 字段 | 类型 | 内容 | 备注 | +|---------------------|-----|---------|--------| +| discount | num | 折扣 | 100为原价 | +| pay_type | obj | 支付相关 | | +| price | str | 售价 | | +| promotion | str | 推广信息 | | +| tip | str | | | +| view_start_time | num | | | +| vip_discount | num | 大会员折扣 | | +| vip_first_promotion | str | | | +| vip_price | str | 大会员售价 | | +| vip_promotion | str | 大会员推广信息 | | `payment`中的`pay_type`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------------- | ---- | ------------- | ------------------------- | -| allow_discount | num | 启用折扣 | 0:否
1:是
下同 | -| allow_pack | num | | | -| allow_ticket | num | 启用票券 | | -| allow_time_limit | num | 启用时间限制 | | -| allow_vip_discount | num | 启用大会员折扣 | | -| forbid_bb | num | 禁止使用B币券 | | +| 字段 | 类型 | 内容 | 备注 | +|--------------------|-----|---------|----------------------| +| allow_discount | num | 启用折扣 | 0:否
1:是
下同 | +| allow_pack | num | | | +| allow_ticket | num | 启用票券 | | +| allow_time_limit | num | 启用时间限制 | | +| allow_vip_discount | num | 启用大会员折扣 | | +| forbid_bb | num | 禁止使用B币券 | | + +`result`中的`payPack`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-----------------------|-----|----|----| +| id | num | | | +| not_paid_text_for_app | str | | | +| paid_text_for_app | str | | | +| pay_pack_url | str | | | +| status | num | | | +| title | str | | | + +`result`中的`play_strategy`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|------------|-------|----|----| +| strategies | array | | | `result`中的`positive`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ---- | ---- | -| id | num | | | -| title | str | | | +| 字段 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| id | num | | | +| title | str | | | `result`中的`publish`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | ---------------- | ------------------------ | -| is_finish | num | 完结状态 | 0:未完结
1:已完结 | -| is_started | num | 是否发布 | 0:未发布
1:已发布 | -| pub_time | str | 发布时间 | YYYY-MM-DDD hh:mm:ss | -| pub_time_show | str | 发布时间文字介绍 | | -| unknow_pub_date | num | 0 | 作用尚不明确 | -| weekday | num | 0 | 作用尚不明确 | +| 字段 | 类型 | 内容 | 备注 | +|-----------------|-----|----------|----------------------| +| is_finish | num | 完结状态 | 0:未完结
1:已完结 | +| is_started | num | 是否发布 | 0:未发布
1:已发布 | +| pub_time | str | 发布时间 | YYYY-MM-DDD hh:mm:ss | +| pub_time_show | str | 发布时间文字介绍 | | +| unknow_pub_date | num | 0 | 作用尚不明确 | +| weekday | num | 0 | 作用尚不明确 | `result`中的`rating`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ------------ | ---- | -| count | num | 总计评分人数 | | -| score | num | 评分 | | +| 字段 | 类型 | 内容 | 备注 | +|-------|-----|--------|----| +| count | num | 总计评分人数 | | +| score | num | 评分 | | `result`中的`rights`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------------- | ---- | -------- | ------------------------------- | -| allow_bp | num | | | -| allow_bp_rank | num | | | -| allow_download | num | | | -| allow_review | num | | | -| area_limit | num | | | -| ban_area_show | num | | | -| can_watch | num | | | -| copyright | str | 版权标志 | bilibili:授权
dujia:独家 | -| forbid_pre | num | | | -| is_cover_show | num | | | -| is_preview | num | | | -| only_vip_download | num | | | -| resource | str | | | -| watch_platform | num | | | +| 字段 | 类型 | 内容 | 备注 | +|-------------------|-----|------|---------------------------| +| allow_bp | num | | | +| allow_bp_rank | num | | | +| allow_download | num | | | +| allow_review | num | | | +| area_limit | num | | | +| ban_area_show | num | | | +| can_watch | num | | | +| copyright | str | 版权标志 | bilibili:授权
dujia:独家 | +| forbid_pre | num | | | +| freya_white | num | | | +| is_cover_show | num | | | +| is_preview | num | | | +| only_vip_download | num | | | +| resource | str | | | +| watch_platform | num | | | `result`中的`seasons`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------------- | ------------ | -| 0 | obj | 同系列剧集1 | | -| n | obj | 同系列剧集(n+1) | 按照顺序排列 | -| …… | obj | | | +| 项 | 类型 | 内容 | 备注 | +|----|-----|------------|--------| +| 0 | obj | 同系列剧集1 | | +| n | obj | 同系列剧集(n+1) | 按照顺序排列 | +| …… | obj | | | `seasons`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ---- | ---- | -| badge | str | | | -| badge_info | obj | | | -| badge_type | num | | | -| cover | str | | | -| media_id | str | | | -| new_ep | num | | | -| season_id | obj | | | -| season_title | num | | | -| season_type | str | | | -| stat | obj | | | +| 字段 | 类型 | 内容 | 备注 | +|-----------------------|------|----|----| +| badge | str | | | +| badge_info | obj | | | +| badge_type | num | | | +| cover | str | | | +| enable_vt | bool | | | +| horizontal_cover_1610 | str | | | +| horizontal_cover_169 | str | | | +| icon_font | obj | | | +| media_id | num | | | +| new_ep | obj | | | +| season_id | num | | | +| season_title | str | | | +| season_type | num | | | +| stat | obj | | | + +`seasons`中的`badge_info`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------------|-----|----|----| +| bg_color | str | | | +| bg_color_night | str | | | +| text | str | | | + +`seasons`中的`icon_font`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|------|-----|----|----| +| name | str | | | +| text | str | | | + +`seasons`中的`new_ep`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|------------|-----|----|----| +| cover | str | | | +| id | num | | | +| index_show | str | | | + +`seasons`中的`stat`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|---------------|-----|----|----| +| favorites | num | | | +| series_follow | num | | | +| views | num | | | +| vt | num | | | `result`中的`section`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------------- | ------------ | -| 0 | obj | 其他内容块1 | | -| n | obj | 其他内容块(n+1) | 按照顺序排列 | -| …… | obj | | | +| 项 | 类型 | 内容 | 备注 | +|----|-----|------------|--------| +| 0 | obj | 其他内容块1 | | +| n | obj | 其他内容块(n+1) | 按照顺序排列 | +| …… | obj | | | `section`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ----- | -------- | ---- | -| episode_id | num | 0 | | -| episodes | array | 板块内容 | | -| id | num | 板块id? | | -| title | str | 板块标题 | | -| type | num | ? | | +| 字段 | 类型 | 内容 | 备注 | +|-------------|-------|-------|----| +| attr | num | | | +| episode_id | num | 0 | | +| episode_ids | array | | | +| episodes | array | 板块内容 | | +| id | num | 板块id? | | +| report | obj | | | +| title | str | 板块标题 | | +| type | num | ? | | +| type2 | num | | | + +`episodes`数组中的对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------------------|------|----|----| +| aid | num | | | +| archive_attr | num | | | +| badge | str | | | +| badge_info | obj | | | +| badge_type | num | | | +| bvid | str | | | +| cid | num | | | +| cover | str | | | +| dimension | obj | | | +| duration | num | | | +| enable_vt | bool | | | +| ep_id | num | | | +| from | str | | | +| icon_font | obj | | | +| id | num | | | +| interaction | obj | | | +| is_view_hide | bool | | | +| link | str | | | +| link_type | str | | | +| long_title | str | | | +| pub_time | num | | | +| pv | num | | | +| release_date | str | | | +| report | obj | | | +| rights | obj | | | +| section_type | num | | | +| share_copy | str | | | +| share_url | str | | | +| short_link | str | | | +| show_title | str | | | +| showDrmLoginDialog | bool | | | +| skip | obj | | | +| stat | obj | | | +| stat_for_unity | obj | | | +| status | num | | | +| subtitle | str | | | +| title | str | | | +| toast_title | str | | | +| up_info | obj | | | +| vid | str | | | + +`badge_info`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------------|-----|----|----| +| bg_color | str | | | +| bg_color_night | str | | | +| text | str | | | + +`dimension`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------|-----|----|----| +| height | num | | | +| rotate | num | | | +| width | num | | | + +`icon_font`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|------|-----|----|----| +| name | str | | | +| text | str | | | + +`interaction`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|---------------|------|----|----| +| graph_version | num | | | +| interaction | bool | | | + +`report`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------------|-----|----|----| +| aid | str | | | +| ep_title | str | | | +| position | str | | | +| season_id | str | | | +| season_type | str | | | +| section_id | str | | | +| section_type | str | | | + +`rights`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------------|-----|----|----| +| allow_demand | num | | | +| allow_dm | num | | | +| allow_download | num | | | +| area_limit | num | | | + +`skip`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-----|-----|----|----| +| ed | obj | | | +| op | obj | | | + +`ed`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| end | num | | | +| start | num | | | + +`op`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| end | num | | | +| start | num | | | + +`stat_for_unity`对象 + +### 根对象 -> `result`对象 -> `section`数组中的对象 -> `episodes`数组中的对象 -> `stat_for_unity`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|---------|-----|----|----| +| coin | num | | | +| danmaku | obj | | | +| likes | num | | | +| reply | num | | | +| vt | obj | | | + +`danmaku`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-----------|-----|----|----| +| icon | str | | | +| pure_text | str | | | +| text | str | | | +| value | num | | | + +`vt`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-----------|-----|----|----| +| icon | str | | | +| pure_text | str | | | +| text | str | | | +| value | num | | | + +`stat`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|----------|-----|----|----| +| coin | num | | | +| danmakus | num | | | +| likes | num | | | +| play | num | | | +| reply | num | | | +| vt | num | | | + +`up_info`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------------|-----|----|----| +| avatar | str | | | +| follower | num | | | +| is_follow | num | | | +| mid | num | | | +| uname | str | | | +| verify_type | num | | | +| verify_type2 | num | | | + +`report`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------------|-----|----|----| +| season_id | str | | | +| season_type | str | | | +| sec_title | str | | | +| section_id | str | | | +| section_type | str | | | + `result`中的`series`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ------ | ---- | -| series_id | num | 系列id | | -| series_title | str | 系列名 | | +| 字段 | 类型 | 内容 | 备注 | +|--------------|-----|------|----| +| display_type | num | | | +| series_id | num | 系列id | | +| series_title | str | 系列名 | | `result`中的`show`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | -------- | -------------------- | -| wide_screen | num | 是否全屏 | 0:正常
1:全屏 | +| 字段 | 类型 | 内容 | 备注 | +|-------------|-----|------|----------------| +| wide_screen | num | 是否全屏 | 0:正常
1:全屏 | `result`中的`stat`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------- | ---- | ------ | ---- | -| coins | num | 投币数 | | -| danmakus | num | 弹幕数 | | -| favorites | num | 收藏数 | | -| likes | num | 点赞数 | | -| reply | num | 评论数 | | -| share | num | 分享数 | | -| views | num | 播放数 | | +| 字段 | 类型 | 内容 | 备注 | +|-------------|-----|-----|----| +| coins | num | 投币数 | | +| danmakus | num | 弹幕数 | | +| favorite | num | | | +| favorites | num | 收藏数 | | +| follow_text | str | | | +| hot | num | | | +| likes | num | 点赞数 | | +| reply | num | 评论数 | | +| share | num | 分享数 | | +| views | num | 播放数 | | +| vt | num | | | `result`中的`up_info`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | ----------- | ---- | -| avatar | str | 头像图片url | | -| follower | num | 粉丝数 | | -| is_follow | num | 0 | | -| mid | num | UP主mid | | -| pendant | obj | | | -| theme_type | num | 0 | | -| uname | str | UP主昵称 | | -| verify_type | num | | | -| vip_status | num | | | -| vip_type | num | | | +| 字段 | 类型 | 内容 | 备注 | +|----------------------|-----|---------|----| +| avatar | str | 头像图片url | | +| avatar_subscript_url | str | | | +| follower | num | 粉丝数 | | +| is_follow | num | 0 | | +| mid | num | UP主mid | | +| nickname_color | str | | | +| pendant | obj | | | +| theme_type | num | 0 | | +| uname | str | UP主昵称 | | +| verify_type | num | | | +| vip_label | obj | | | +| vip_status | num | | | +| vip_type | num | | | + +`up_info`中的`pendant`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|-------|-----|----|----| +| image | str | | | +| name | str | | | +| pid | num | | | + +`up_info`中的`vip_label`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|--------------|-----|----|----| +| bg_color | str | | | +| bg_style | num | | | +| border_color | str | | | +| text | str | | | +| text_color | str | | | + +`result`中的`user_status`对象 + +| 字段名 | 类型 | 内容 | 备注 | +|---------------|-----|----|----| +| area_limit | num | | | +| ban_area_show | num | | | +| follow | num | | | +| follow_status | num | | | +| login | num | | | +| pay | num | | | +| pay_pack_paid | num | | | +| sponsor | num | | | # 获取剧集分集信息 diff --git a/docs/clientinfo/ip.md b/docs/clientinfo/ip.md index 841f3c3..a767cff 100644 --- a/docs/clientinfo/ip.md +++ b/docs/clientinfo/ip.md @@ -5,6 +5,8 @@ > https://api.bilibili.com/x/web-interface/zone > > https://api.live.bilibili.com/xlive/web-room/v1/index/getIpInfo +> +> https://app.bilibili.com/x/resource/ip *请求方式:GET* diff --git a/docs/dynamic/detail.md b/docs/dynamic/detail.md index cc2a4a1..13e344d 100644 --- a/docs/dynamic/detail.md +++ b/docs/dynamic/detail.md @@ -3,6 +3,7 @@ ## 动态详情 > https://api.bilibili.com/x/polymer/web-dynamic/v1/detail +> https://api.bilibili.com/x/polymer/web-dynamic/desktop/v1/detail *请求方式: GET* diff --git a/docs/dynamic/space.md b/docs/dynamic/space.md index 6b0aeb8..a83f3a0 100644 --- a/docs/dynamic/space.md +++ b/docs/dynamic/space.md @@ -3,6 +3,8 @@ ## 获取用户空间动态 > https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space +> +> https://api.bilibili.com/x/polymer/web-dynamic/desktop/v1/feed/space *请求方法: GET* diff --git a/docs/garb/lottery.md b/docs/garb/lottery.md index 5b22d56..7e5d0c1 100644 --- a/docs/garb/lottery.md +++ b/docs/garb/lottery.md @@ -760,437 +760,2442 @@ curl -G --url 'https://api.bilibili.com/x/vas/dlc_act/lottery_home_detail' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "lottery_id": 15, - "name": "夏日萌菜", - "item_list": [ - { - "item_type": 1, - "card_info": { - "card_type_id": 700903, - "card_name": "水中嬉戏·隐藏", - "card_img": "https://i0.hdslb.com/bfs/baselabs/d41acfc3bfcc9032a9759fbd9e64147a6d9a24b0.png", - "card_type": 2, - "video_list": [ - "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/2b/y2/_000008vnv2ddoooah248hqoyz2gy22b-1-152111110023.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=d22ca6102adb9ffe257f702047be6ef2&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=753ff946c9e4b3813eb72c744ed3a399ba9a225fe4767a7a03835890fcbe4b8a&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" - ], - "is_physical_orientation": 0, - "card_scarcity": 40, - "is_mute": 0, - "width": 1242, - "height": 1862, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/d38c42b6f1151298888da5902bca5a41e14f67e1.png", - "video_list_download": [ - "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/digital_watermark/ib/30/_00003d7cuie74gr9z2322d7js5b30ib-teaser.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=hw&upsig=24512302cfa3b1f762f3ad08a0a2f5fe&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=5dc3cdfca31fca94c29a2ec945589ff319e97c3291dec2685184ec4083616cc2&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" - ], - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700902, - "card_name": "轻纱花语·隐藏", - "card_img": "https://i0.hdslb.com/bfs/baselabs/e4721d06a5c435be216b5011f0604c9e07d5e4af.png", - "card_type": 2, - "video_list": [ - "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/jb/4u/_00001f04wekkvpmr92osvwpej1e4ujb-1-152111110023.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=ad574839c71e5327783acf248b552b3d&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=49276ec1afce1a8f571e257fb6d2ab7488f623aa50c2c3b7252258be72315c5e&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" - ], - "is_physical_orientation": 0, - "card_scarcity": 30, - "is_mute": 0, - "width": 1242, - "height": 1862, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/0e49e7c8108a98944a96bfa594cf7f74c72398cf.png", - "video_list_download": [ - "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/digital_watermark/nb/58/_000007ovzgblf574s1ywvm7inwx58nb-teaser.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=ec9de21147240e94494d736f277dfb64&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=2370473349a25fae0ea023f65f1e09c70b45d086831eef5f4727b8443acdf9f5&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" - ], - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700904, - "card_name": "甜心女仆", - "card_img": "https://i0.hdslb.com/bfs/baselabs/e1f9c56a8f49910d07852f2bd648fee910f36ff6.png", - "card_type": 2, - "video_list": [ - "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/gb/j6/_000015vmteklku8oj1ypmp1yjijj6gb-1-152111110023.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=c7412fe7b155deecbfea939f7c3d1b21&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=8989673c367aa0ffbe747cdc66129a6d1698f1c2b60ace24861ad62127cdd6da&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" - ], - "is_physical_orientation": 0, - "card_scarcity": 20, - "is_mute": 0, - "width": 1242, - "height": 1862, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/e6c69329d843603166fac8d41682c3489fd137d4.png", - "video_list_download": [ - "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/digital_watermark/zb/eq/_000018oi0e68wv4id2vkrk9ovpteqzb-teaser.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=hw&upsig=f972e8cd996d058deb4e0ffb1d57671e&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=99054c626717b4ba61c01bbb0fe59f67feac394b89e19e4bbf95290d3a425f94&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" - ], - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700901, - "card_name": "约会憧憬", - "card_img": "https://i0.hdslb.com/bfs/baselabs/924ef9a71bf39010935b4a43845bec13c8a2022c.png", - "card_type": 1, - "video_list": null, - "is_physical_orientation": 0, - "card_scarcity": 10, - "is_mute": 0, - "width": 1242, - "height": 1863, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/40a9ff949ca7a50dbce146ad28fbb567c2583261.png", - "video_list_download": null, - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700900, - "card_name": "夏日小憩", - "card_img": "https://i0.hdslb.com/bfs/baselabs/0eddbfc70200f16bef06acc88ef132eb25ede52d.png", - "card_type": 1, - "video_list": null, - "is_physical_orientation": 0, - "card_scarcity": 10, - "is_mute": 0, - "width": 1242, - "height": 1863, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/61e26e17705e06ecdfdb9ff97befb19c702cf81e.png", - "video_list_download": null, - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700899, - "card_name": "微风校园", - "card_img": "https://i0.hdslb.com/bfs/baselabs/bbeaf7993566684e328e74d8ef7c47e6242869a2.png", - "card_type": 1, - "video_list": null, - "is_physical_orientation": 0, - "card_scarcity": 10, - "is_mute": 0, - "width": 1242, - "height": 1863, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/8ac61045334699d621363ccac87153a7128ef0c3.png", - "video_list_download": null, - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700898, - "card_name": "萌宠幻想", - "card_img": "https://i0.hdslb.com/bfs/baselabs/f93f200ec862b4520b30e8f03219fbaca91a2089.png", - "card_type": 1, - "video_list": null, - "is_physical_orientation": 0, - "card_scarcity": 10, - "is_mute": 0, - "width": 1242, - "height": 1863, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/93e59f3080f6b8070b0d0621496e4ed6cb20cf8f.png", - "video_list_download": null, - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - }, - { - "item_type": 1, - "card_info": { - "card_type_id": 700897, - "card_name": "空中环游", - "card_img": "https://i0.hdslb.com/bfs/baselabs/fc0c020091c0a9fb1778c420bc4f9773a72ea7ba.png", - "card_type": 1, - "video_list": null, - "is_physical_orientation": 0, - "card_scarcity": 10, - "is_mute": 0, - "width": 1242, - "height": 1863, - "card_ext_text": "", - "card_img_download": "https://i0.hdslb.com/bfs/garb/c1c6c9ca84b584bf5f2b0e1ec7d239eb935e4d44.png", - "video_list_download": null, - "subtitles_url": "", - "play": null, - "tag": null, - "card_sub_type": 0, - "is_new_tag": 0, - "is_up_tag": 0, - "is_limited_card": 0, - "stock_info": null - } - } - ], - "collect_list": { - "collect_infos": [ - { - "collect_id": 0, - "start_time": 1685372400, - "end_time": 2114406245, - "redeem_text": "1抽必得勋章,可应用为评论背景&动态卡片", - "redeem_item_type": 1001, - "redeem_item_id": "", - "redeem_item_name": "夏日萌菜勋章", - "redeem_item_image": "http://i0.hdslb.com/bfs/archive/b3d915c6ad88609fb658393585f018459a7e620d.png", - "owned_item_amount": 0, - "require_item_amount": 1, - "has_redeemed_cnt": 0, - "effective_forever": 1, - "redeem_item_image_download": "", - "card_item": null, - "jump_url": "", - "redeem_cond_type": "", - "remain_stock": 0, - "total_stock": -1, - "lottery_id": 0, - "reward_tag": "", - "redeem_detail_image": "", - "redeem_detail_videos": null, - "sort": 0, - "redeem_items_optional": null, - "unlock_condition": { - "unlocked": true, - "lock_type": 0, - "expire_at": 0, - "unlocked_at": 0, - "unlock_threshold": 0, - "current_threshold": 0 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "lottery_id": 15, + "name": "夏日萌菜", + "item_list": [ + { + "item_type": 1, + "card_info": { + "card_type_id": 700903, + "card_name": "水中嬉戏·隐藏", + "card_img": "https://i0.hdslb.com/bfs/baselabs/d41acfc3bfcc9032a9759fbd9e64147a6d9a24b0.png", + "card_type": 2, + "video_list": [ + "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/2b/y2/_000008vnv2ddoooah248hqoyz2gy22b-1-152111110023.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=d22ca6102adb9ffe257f702047be6ef2&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=753ff946c9e4b3813eb72c744ed3a399ba9a225fe4767a7a03835890fcbe4b8a&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" + ], + "is_physical_orientation": 0, + "card_scarcity": 40, + "is_mute": 0, + "width": 1242, + "height": 1862, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/d38c42b6f1151298888da5902bca5a41e14f67e1.png", + "video_list_download": [ + "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/digital_watermark/ib/30/_00003d7cuie74gr9z2322d7js5b30ib-teaser.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=hw&upsig=24512302cfa3b1f762f3ad08a0a2f5fe&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=5dc3cdfca31fca94c29a2ec945589ff319e97c3291dec2685184ec4083616cc2&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" + ], + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700902, + "card_name": "轻纱花语·隐藏", + "card_img": "https://i0.hdslb.com/bfs/baselabs/e4721d06a5c435be216b5011f0604c9e07d5e4af.png", + "card_type": 2, + "video_list": [ + "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/jb/4u/_00001f04wekkvpmr92osvwpej1e4ujb-1-152111110023.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=ad574839c71e5327783acf248b552b3d&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=49276ec1afce1a8f571e257fb6d2ab7488f623aa50c2c3b7252258be72315c5e&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" + ], + "is_physical_orientation": 0, + "card_scarcity": 30, + "is_mute": 0, + "width": 1242, + "height": 1862, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/0e49e7c8108a98944a96bfa594cf7f74c72398cf.png", + "video_list_download": [ + "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/digital_watermark/nb/58/_000007ovzgblf574s1ywvm7inwx58nb-teaser.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=ec9de21147240e94494d736f277dfb64&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=2370473349a25fae0ea023f65f1e09c70b45d086831eef5f4727b8443acdf9f5&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" + ], + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700904, + "card_name": "甜心女仆", + "card_img": "https://i0.hdslb.com/bfs/baselabs/e1f9c56a8f49910d07852f2bd648fee910f36ff6.png", + "card_type": 2, + "video_list": [ + "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/gb/j6/_000015vmteklku8oj1ypmp1yjijj6gb-1-152111110023.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=cos&upsig=c7412fe7b155deecbfea939f7c3d1b21&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=8989673c367aa0ffbe747cdc66129a6d1698f1c2b60ace24861ad62127cdd6da&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" + ], + "is_physical_orientation": 0, + "card_scarcity": 20, + "is_mute": 0, + "width": 1242, + "height": 1862, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/e6c69329d843603166fac8d41682c3489fd137d4.png", + "video_list_download": [ + "https://upos-hz-mirrorakam.akamaized.net/panguxcodeboss/digital_watermark/zb/eq/_000018oi0e68wv4id2vkrk9ovpteqzb-teaser.mp4?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&uipk=5&nbs=1&deadline=1723459855&gen=playurlv2&os=akam&oi=1823807565&trid=400d9529a562468c8312c1f4c4beb2e3B&mid=0&platform=html5&og=hw&upsig=f972e8cd996d058deb4e0ffb1d57671e&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform,og&hdnts=exp=1723459855~hmac=99054c626717b4ba61c01bbb0fe59f67feac394b89e19e4bbf95290d3a425f94&bvc=vod&nettype=0&orderid=0,1&logo=00000000&f=B_0_0" + ], + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700901, + "card_name": "约会憧憬", + "card_img": "https://i0.hdslb.com/bfs/baselabs/924ef9a71bf39010935b4a43845bec13c8a2022c.png", + "card_type": 1, + "video_list": null, + "is_physical_orientation": 0, + "card_scarcity": 10, + "is_mute": 0, + "width": 1242, + "height": 1863, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/40a9ff949ca7a50dbce146ad28fbb567c2583261.png", + "video_list_download": null, + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700900, + "card_name": "夏日小憩", + "card_img": "https://i0.hdslb.com/bfs/baselabs/0eddbfc70200f16bef06acc88ef132eb25ede52d.png", + "card_type": 1, + "video_list": null, + "is_physical_orientation": 0, + "card_scarcity": 10, + "is_mute": 0, + "width": 1242, + "height": 1863, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/61e26e17705e06ecdfdb9ff97befb19c702cf81e.png", + "video_list_download": null, + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700899, + "card_name": "微风校园", + "card_img": "https://i0.hdslb.com/bfs/baselabs/bbeaf7993566684e328e74d8ef7c47e6242869a2.png", + "card_type": 1, + "video_list": null, + "is_physical_orientation": 0, + "card_scarcity": 10, + "is_mute": 0, + "width": 1242, + "height": 1863, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/8ac61045334699d621363ccac87153a7128ef0c3.png", + "video_list_download": null, + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700898, + "card_name": "萌宠幻想", + "card_img": "https://i0.hdslb.com/bfs/baselabs/f93f200ec862b4520b30e8f03219fbaca91a2089.png", + "card_type": 1, + "video_list": null, + "is_physical_orientation": 0, + "card_scarcity": 10, + "is_mute": 0, + "width": 1242, + "height": 1863, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/93e59f3080f6b8070b0d0621496e4ed6cb20cf8f.png", + "video_list_download": null, + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + }, + { + "item_type": 1, + "card_info": { + "card_type_id": 700897, + "card_name": "空中环游", + "card_img": "https://i0.hdslb.com/bfs/baselabs/fc0c020091c0a9fb1778c420bc4f9773a72ea7ba.png", + "card_type": 1, + "video_list": null, + "is_physical_orientation": 0, + "card_scarcity": 10, + "is_mute": 0, + "width": 1242, + "height": 1863, + "card_ext_text": "", + "card_img_download": "https://i0.hdslb.com/bfs/garb/c1c6c9ca84b584bf5f2b0e1ec7d239eb935e4d44.png", + "video_list_download": null, + "subtitles_url": "", + "play": null, + "tag": null, + "card_sub_type": 0, + "is_new_tag": 0, + "is_up_tag": 0, + "is_limited_card": 0, + "stock_info": null + } + } + ], + "collect_list": { + "collect_infos": [ + { + "collect_id": 0, + "start_time": 1685372400, + "end_time": 2114406245, + "redeem_text": "1抽必得勋章,可应用为评论背景&动态卡片", + "redeem_item_type": 1001, + "redeem_item_id": "", + "redeem_item_name": "夏日萌菜勋章", + "redeem_item_image": "http://i0.hdslb.com/bfs/archive/b3d915c6ad88609fb658393585f018459a7e620d.png", + "owned_item_amount": 0, + "require_item_amount": 1, + "has_redeemed_cnt": 0, + "effective_forever": 1, + "redeem_item_image_download": "", + "card_item": null, + "jump_url": "", + "redeem_cond_type": "", + "remain_stock": 0, + "total_stock": -1, + "lottery_id": 0, + "reward_tag": "", + "redeem_detail_image": "", + "redeem_detail_videos": null, + "sort": 0, + "redeem_items_optional": null, + "unlock_condition": { + "unlocked": true, + "lock_type": 0, + "expire_at": 0, + "unlocked_at": 0, + "unlock_threshold": 0, + "current_threshold": 0 + } + }, + { + "collect_id": 172, + "start_time": 1691640000, + "end_time": 2114406245, + "redeem_text": "抽出任意5张不同卡牌,即可领取,单UID仅可领取一次", + "redeem_item_type": 5, + "redeem_item_id": "56658", + "redeem_item_name": "夏日萌菜个性主题", + "redeem_item_image": "https://i0.hdslb.com/bfs/garb/48f755d6d08d96bfebcadee0be4bc34ce42421de.jpg", + "owned_item_amount": 0, + "require_item_amount": 5, + "has_redeemed_cnt": 0, + "effective_forever": 1, + "redeem_item_image_download": "", + "card_item": { + "card_type_info": null, + "play": null, + "tag": null, + "card_asset_info": null + }, + "jump_url": "", + "redeem_cond_type": "scarcity", + "remain_stock": -1, + "total_stock": -1, + "lottery_id": 0, + "reward_tag": "任务奖励限定", + "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/48f755d6d08d96bfebcadee0be4bc34ce42421de.jpg", + "redeem_detail_videos": null, + "sort": 0, + "redeem_items_optional": null, + "unlock_condition": { + "unlocked": true, + "lock_type": 0, + "expire_at": 0, + "unlocked_at": 0, + "unlock_threshold": 0, + "current_threshold": 0 + } + }, + { + "collect_id": 51, + "start_time": 1685372400, + "end_time": 2114406245, + "redeem_text": "抽出任意1张隐藏卡牌,即可领取,单UID仅可领取一次", + "redeem_item_type": 3, + "redeem_item_id": "53199", + "redeem_item_name": "夏日萌菜头像框", + "redeem_item_image": "https://i0.hdslb.com/bfs/garb/item/9fcb99ccfd057c5eac165832d71fb63f07f26097.png", + "owned_item_amount": 0, + "require_item_amount": 1, + "has_redeemed_cnt": 0, + "effective_forever": 1, + "redeem_item_image_download": "", + "card_item": { + "card_type_info": null, + "play": null, + "tag": null, + "card_asset_info": null + }, + "jump_url": "", + "redeem_cond_type": "scarcity", + "remain_stock": -1, + "total_stock": -1, + "lottery_id": 0, + "reward_tag": "任务奖励限定", + "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/item/9fcb99ccfd057c5eac165832d71fb63f07f26097.png", + "redeem_detail_videos": null, + "sort": 0, + "redeem_items_optional": null, + "unlock_condition": { + "unlocked": true, + "lock_type": 0, + "expire_at": 0, + "unlocked_at": 0, + "unlock_threshold": 0, + "current_threshold": 0 + } + }, + { + "collect_id": 50, + "start_time": 1685372400, + "end_time": 2114406245, + "redeem_text": "抽出任意3张不同卡牌,即可领取,单UID仅可领取一次", + "redeem_item_type": 2, + "redeem_item_id": "53178", + "redeem_item_name": "夏日萌菜表情包", + "redeem_item_image": "https://i0.hdslb.com/bfs/garb/462ae9b5735fef4bb9ed87a6d6467a4768b06006.png", + "owned_item_amount": 0, + "require_item_amount": 3, + "has_redeemed_cnt": 0, + "effective_forever": 1, + "redeem_item_image_download": "", + "card_item": { + "card_type_info": null, + "play": null, + "tag": null, + "card_asset_info": null + }, + "jump_url": "", + "redeem_cond_type": "scarcity", + "remain_stock": -1, + "total_stock": -1, + "lottery_id": 0, + "reward_tag": "任务奖励限定", + "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/462ae9b5735fef4bb9ed87a6d6467a4768b06006.png", + "redeem_detail_videos": null, + "sort": 0, + "redeem_items_optional": null, + "unlock_condition": { + "unlocked": true, + "lock_type": 0, + "expire_at": 0, + "unlocked_at": 0, + "unlock_threshold": 0, + "current_threshold": 0 + } + }, + { + "collect_id": 366, + "start_time": 1694768400, + "end_time": 1696953600, + "redeem_text": "抽齐全部8张卡牌领取,直接获得全图鉴进度条标记,10月28日前人工发放头像", + "redeem_item_type": 5, + "redeem_item_id": "59374", + "redeem_item_name": "水中嬉戏·隐藏出框头像", + "redeem_item_image": "https://i0.hdslb.com/bfs/garb/ff981dbdca5c6b539e22596674265ef1cb110c9c.png", + "owned_item_amount": 0, + "require_item_amount": 8, + "has_redeemed_cnt": 0, + "effective_forever": 0, + "redeem_item_image_download": "", + "card_item": { + "card_type_info": null, + "play": null, + "tag": null, + "card_asset_info": null + }, + "jump_url": "", + "redeem_cond_type": "scarcity", + "remain_stock": -1, + "total_stock": -1, + "lottery_id": 0, + "reward_tag": "任务奖励限定", + "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/ff981dbdca5c6b539e22596674265ef1cb110c9c.png", + "redeem_detail_videos": null, + "sort": 0, + "redeem_items_optional": null, + "unlock_condition": { + "unlocked": true, + "lock_type": 0, + "expire_at": 0, + "unlocked_at": 0, + "unlock_threshold": 0, + "current_threshold": 0 + } + } + ], + "collect_chain": null }, - { - "collect_id": 172, - "start_time": 1691640000, - "end_time": 2114406245, - "redeem_text": "抽出任意5张不同卡牌,即可领取,单UID仅可领取一次", - "redeem_item_type": 5, - "redeem_item_id": "56658", - "redeem_item_name": "夏日萌菜个性主题", - "redeem_item_image": "https://i0.hdslb.com/bfs/garb/48f755d6d08d96bfebcadee0be4bc34ce42421de.jpg", - "owned_item_amount": 0, - "require_item_amount": 5, - "has_redeemed_cnt": 0, - "effective_forever": 1, - "redeem_item_image_download": "", - "card_item": { - "card_type_info": null, - "play": null, - "tag": null, - "card_asset_info": null - }, - "jump_url": "", - "redeem_cond_type": "scarcity", - "remain_stock": -1, - "total_stock": -1, - "lottery_id": 0, - "reward_tag": "任务奖励限定", - "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/48f755d6d08d96bfebcadee0be4bc34ce42421de.jpg", - "redeem_detail_videos": null, - "sort": 0, - "redeem_items_optional": null, - "unlock_condition": { - "unlocked": true, - "lock_type": 0, - "expire_at": 0, - "unlocked_at": 0, - "unlock_threshold": 0, - "current_threshold": 0 - } - }, - { - "collect_id": 51, - "start_time": 1685372400, - "end_time": 2114406245, - "redeem_text": "抽出任意1张隐藏卡牌,即可领取,单UID仅可领取一次", - "redeem_item_type": 3, - "redeem_item_id": "53199", - "redeem_item_name": "夏日萌菜头像框", - "redeem_item_image": "https://i0.hdslb.com/bfs/garb/item/9fcb99ccfd057c5eac165832d71fb63f07f26097.png", - "owned_item_amount": 0, - "require_item_amount": 1, - "has_redeemed_cnt": 0, - "effective_forever": 1, - "redeem_item_image_download": "", - "card_item": { - "card_type_info": null, - "play": null, - "tag": null, - "card_asset_info": null - }, - "jump_url": "", - "redeem_cond_type": "scarcity", - "remain_stock": -1, - "total_stock": -1, - "lottery_id": 0, - "reward_tag": "任务奖励限定", - "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/item/9fcb99ccfd057c5eac165832d71fb63f07f26097.png", - "redeem_detail_videos": null, - "sort": 0, - "redeem_items_optional": null, - "unlock_condition": { - "unlocked": true, - "lock_type": 0, - "expire_at": 0, - "unlocked_at": 0, - "unlock_threshold": 0, - "current_threshold": 0 - } - }, - { - "collect_id": 50, - "start_time": 1685372400, - "end_time": 2114406245, - "redeem_text": "抽出任意3张不同卡牌,即可领取,单UID仅可领取一次", - "redeem_item_type": 2, - "redeem_item_id": "53178", - "redeem_item_name": "夏日萌菜表情包", - "redeem_item_image": "https://i0.hdslb.com/bfs/garb/462ae9b5735fef4bb9ed87a6d6467a4768b06006.png", - "owned_item_amount": 0, - "require_item_amount": 3, - "has_redeemed_cnt": 0, - "effective_forever": 1, - "redeem_item_image_download": "", - "card_item": { - "card_type_info": null, - "play": null, - "tag": null, - "card_asset_info": null - }, - "jump_url": "", - "redeem_cond_type": "scarcity", - "remain_stock": -1, - "total_stock": -1, - "lottery_id": 0, - "reward_tag": "任务奖励限定", - "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/462ae9b5735fef4bb9ed87a6d6467a4768b06006.png", - "redeem_detail_videos": null, - "sort": 0, - "redeem_items_optional": null, - "unlock_condition": { - "unlocked": true, - "lock_type": 0, - "expire_at": 0, - "unlocked_at": 0, - "unlock_threshold": 0, - "current_threshold": 0 - } - }, - { - "collect_id": 366, - "start_time": 1694768400, - "end_time": 1696953600, - "redeem_text": "抽齐全部8张卡牌领取,直接获得全图鉴进度条标记,10月28日前人工发放头像", - "redeem_item_type": 5, - "redeem_item_id": "59374", - "redeem_item_name": "水中嬉戏·隐藏出框头像", - "redeem_item_image": "https://i0.hdslb.com/bfs/garb/ff981dbdca5c6b539e22596674265ef1cb110c9c.png", - "owned_item_amount": 0, - "require_item_amount": 8, - "has_redeemed_cnt": 0, - "effective_forever": 0, - "redeem_item_image_download": "", - "card_item": { - "card_type_info": null, - "play": null, - "tag": null, - "card_asset_info": null - }, - "jump_url": "", - "redeem_cond_type": "scarcity", - "remain_stock": -1, - "total_stock": -1, - "lottery_id": 0, - "reward_tag": "任务奖励限定", - "redeem_detail_image": "https://i0.hdslb.com/bfs/garb/ff981dbdca5c6b539e22596674265ef1cb110c9c.png", - "redeem_detail_videos": null, - "sort": 0, - "redeem_items_optional": null, - "unlock_condition": { - "unlocked": true, - "lock_type": 0, - "expire_at": 0, - "unlocked_at": 0, - "unlock_threshold": 0, - "current_threshold": 0 - } - } - ], - "collect_chain": null - }, - "button_bubble": null, - "guide_info": null, - "is_booked": 0, - "total_book_cnt": 0, - "is_fission": 0, - "physical_exchange": 0 - } + "button_bubble": null, + "guide_info": null, + "is_booked": 0, + "total_book_cnt": 0, + "is_fission": 0, + "physical_exchange": 0 + } } ``` + +## 主题装扮信息API + +> https://api.bilibili.com/x/garb/v2/mall/suit/detail + +*请求方式: GET* + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|---------|-----|------|----| ---- | +| buvid | str | 设备唯一标识 | 不必要 | | +| csrf | str | 用户csrf | 不必要 | | +| from | str | 来源页面 | 不必要 | | +| from_id | int | 来源页面id | 不必要 | | +| item_id | int | 装扮id | 必要 | | +| part | str | ?分类 | 不必要 | | + +**JSON回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|-----------------| +| code | num | 返回值 | `0`:成功
`-400`:错误 | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|--------|------------| +| item_id | num | 装扮id | | +| name | str | 装扮名称 | | +| group_id | num | 分组id | | +| group_name | str | 分组名称 | | +| part_id | num | 分类id | | +| state | str | 状态 | | +| properties | obj | 装扮具体属性 | | +| current_activity | str | 当前活动 | | +| next_activity | obj | 下一个活动 | | +| current_sources | str | | **作用尚不明确** | +| finish_sources | str | | **作用尚不明确** | +| sale_left_time | num | | **作用尚不明确** | +| sale_time_end | num | | **作用尚不明确** | +| sale_surplus | num | 商品剩余数量 | | +| sale_count_desc | str | 促销销量说明 | | +| total_count_desc | str | 总销量说明 | | +| tag | str | 标签 | | +| jump_link | str | 跳转链接 | | +| sales_mode | num | 促销模式 | | +| suit_items | obj | 装扮具体内容 | | +| fan_user | obj | 装扮来源用户 | | +| unlock_items | obj | 未解锁装扮 | | +| activity_entrance | obj | 活动入口 | | + +`properties` 对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|----------------|-----------------------------| +| desc | str | 说明 | | +| fan_desc | str | 用户说明 | | +| fan_id | str | 装扮id | 获取到的数据,有时候是数字文本,有时候是普通文本 | +| fan_item_ids | str | 装扮id列表 | | +| fan_mid | str | 用户mid | | +| fan_no_color | str | | **为一串颜色16进制字符串,但作用尚不明确** | +| fan_recommend_desc | str | 用户推荐说明 | | +| fan_recommend_jump_type | str | 跳转类型 | | +| fan_recommend_jump_value | str | 跳转的值 | 一般为该装扮所有者的个人空间链接 | +| fan_share_image | str | | | +| gray_rule | str | | **布尔型转换的字符串,作用尚不明确** | +| gray_rule_type | str | | **作用尚不明确** | +| image_cover | str | 图片封面链接 | | +| image_cover_color | str | 图片封面颜色 | | +| is_hide | str | 是否隐藏 | **布尔型转换的字符串,作用尚不明确** | +| item_id_card | str | 动态卡片id | | +| item_id_emoji | str | 表情包id | | +| item_id_thumbup | str | 动态点赞特效id | | +| open_platform_vip_discount | str | 是否开启平台VIP折扣 | | +| owner_uid | str | 装扮所有者的用户uid | | +| rank_investor_show | str | ?显示投资者排名 | **布尔型转换的字符串,作用尚不明确** | +| realname_auth | str | | **布尔型转换的字符串,作用尚不明确** | +| sale_bp_forever_raw | str | | | +| sale_bp_pm_raw | str | | | +| sale_buy_num_limit | str | 促销限制数量 | | +| sale_quantity | str | 促销质量 | 整数型转换的字符串,"10000"可能表示的是这张图的原画 | +| sale_quantity_limit | str | ?是否限制某些质量装扮的销售 | **布尔型转换的字符串,作用尚不明确** | +| sale_region_ip_limit | str | 促销限制地区 | | +| sale_reserve_switch | str | | **布尔型转换的字符串,作用尚不明确** | +| sale_time_begin | str | 促销开始时间的时间戳 | | +| sale_type | str | 促销类型 | | +| suit_card_type | str | 装扮卡片类型 | | +| type | str | 类型 | **作用尚不明确** | + +`suit_items` 对象(可能不全,会继续补充): + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|--------|------------| +| card | array | 动态卡片 | | +| emoji_package | array | 表情包 | | +| card_bg | array | 专属评论装扮 | | +| thumbup | array | 动态点赞特效 | | +| loading | array | 专属加载动画 | | +| play_icon | array | 专属进度条 | | +| skin | array | 专属个性主题 | | +| space_bg | array | 专属空间海报 | | + +`suit_items` 中每个数组的对象: + +**即上文中所列出的 `suit_items` 中的那些数组对象,对于这些数组,
它们其中的字段基本都是相同的,不同的地方会在后面继续说明。** + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|---------|----------------------| +| item_id | num | 装扮id | | +| name | str | 装扮名称 | | +| state | str | 状态 | | +| tab_id | num | 分栏id | | +| suit_item_id | num | 所属装扮的id | | +| properties | obj | 装扮具体属性 | **不同点主要集中在这个地方,下文将继续说明** | +| current_activity | str | 当前活动 | | +| next_activity | obj | 下一个活动 | | +| current_sources | str | | **作用尚不明确** | +| finish_sources | str | | **作用尚不明确** | +| sale_left_time | str | | **作用尚不明确** | +| sale_time_end | str | | **作用尚不明确** | +| sale_surplus | str | 商品剩余数量 | | +| items | str | 装扮的具体内容 | | + +关于上述提到的 `properties` 对象中的共有字段: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|----------------------| +| gray_rule | str | | **布尔型转换的字符串,作用尚不明确** | +| gray_rule_type | str | | **作用尚不明确** | +| realname_auth | str | | **布尔型转换的字符串,作用尚不明确** | +| sale_type | str | 促销类型 | | +| image | str | 图片 | | +| image_preview_small | str | 预览图 | | + +`emoji_package` 数组中的对象中 `properties` 对象中的额外字段: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|-------|----------------------| +| addable | str | | **布尔型转换的字符串,作用尚不明确** | +| biz | str | | **作用尚不明确** | +| is_symbol | str | | **布尔型转换的字符串,作用尚不明确** | +| permanent | str | 是否永久 | | +| preview | str | | **布尔型转换的字符串,作用尚不明确** | +| recently_used | str | | **布尔型转换的字符串,作用尚不明确** | +| recommend | str | 是否推荐 | | +| ref_mid | str | | | +| removable | str | 是否可移除 | | +| setting_pannel_not_show | str | | **布尔型转换的字符串,作用尚不明确** | +| size | str | 尺寸 | | +| sortable | str | 排序类型 | | + +`loading` 数组中的对象中 `properties` 对象中的额外字段: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------------|----------------------| +| loading_frame_url | str | 进度条动画的其中一帧 | | +| loading_url | str | 进度条动画 | | + +`play_icon` 数组中的对象中 `properties` 对象中的额外字段: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|-------------|----------------------| +| drag_left_png | str | 进度条向左拖动时的图片 | | +| drag_right_png | str | 进度条向右拖动时的图片 | | +| middle_png | str | 进度条暂停时的图片 | | +| squared_image | str | 效果图 | | +| static_icon_image | str | 静态图标 | | + +`play_icon` 数组中的对象中 `properties` 对象中的额外字段: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|---------------------|----------------------| +| head_bg | str | 首页顶部图片 | | +| head_myself_mp4_play | str | 个人空间顶部视频动画的播放类型 | | +| head_myself_squared_bg | str | 个人空间顶部图片 | | +| head_tab_bg | str | 首页顶部标签栏背景图 | | +| image_cover | str | 封面图 | | +| package_md5 | str | 装扮图包的md5值 | | +| package_url | str | 装扮图包的压缩包链接 | | +| skin_mode | str | 皮肤模式 | | +| tail_bg | str | 首页底部图片 | | +| tail_color | str | 首页底部颜色 | | +| tail_color_selected | str | 首页底部被选中时的颜色 | | +| tail_icon_ani | str | 首页底部是否播放动画 | | +| tail_icon_ani_mode | str | 首页底部动画的播放类型 | | +| tail_icon_channel | str | 首页底部“动态”按钮图片 | | +| tail_icon_dynamic | str | 首页底部“发布动态”按钮图片 | | +| tail_icon_main | str | 首页底部“首页”按钮图片 | | +| tail_icon_mode | str | 首页底部图标模式 | | +| tail_icon_myself | str | 首页底部“我的”按钮图片 | | +| tail_icon_pub_btn_bg | str | 首页底部“发布动态”按钮图片 | | +| tail_icon_selected_channel | str | 首页底部“动态”按钮被选中时的图片 | | +| tail_icon_selected_dynamic | str | 首页底部“发布动态”按钮被选中时的图片 | | +| tail_icon_selected_main | str | 首页底部“首页”按钮被选中时的图片 | | +| tail_icon_selected_myself | str | 首页底部“我的”按钮被选中时的图片 | | +| tail_icon_selected_pub_btn_bg | str | 首页底部“发布动态”按钮被选中时的图片 | | +| tail_icon_selected_shop | str | 首页底部“会员购”按钮被选中时的图片 | | +| tail_icon_shop | str | 首页底部“会员购”按钮图片 | | + +`space_bg` 数组中的对象中 `properties` 对象中的额外字段: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|-------------|----------------------| +| image1_landscape | str | 第一张空间海报 | | +| image1_portrait | str | 第一张空间海报(纵向) | | + +**如果是第二张图,则是`image2_xxx`,以此类推。** + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/garb/v2/mall/suit/detail' \ + --data-urlencode 'buvid=xxx(非必须)' \ + --data-urlencode 'csrf=xxx(非必须)' \ + --data-urlencode 'item_id=42193' \ + --data-urlencode 'part=suit(非必须)' +``` + +
+查看响应示例: + +```json +{ + "code":0, + "message":"0", + "ttl":1, + "data":{ + "item_id":42193, + "name":"装扮小姐姐·梦幻冬季", + "group_id":69, + "group_name":"装扮小姐姐·梦幻冬季", + "part_id":6, + "state":"active", + "properties":{ + "desc":"扮扮糖集合啦!装扮小姐姐邀你共度梦幻冬季~", + "fan_desc":"装扮小姐姐·梦幻冬季", + "fan_id":"装扮小姐姐·梦幻冬季", + "fan_item_ids":"42190,42124,42192,42191,42188,42189", + "fan_mid":"647193094", + "fan_no_color":"#3e52eb", + "fan_recommend_desc":"扮扮糖集合啦!装扮小姐姐邀你共度梦幻冬季~", + "fan_recommend_jump_type":"url", + "fan_recommend_jump_value":"https://space.bilibili.com/647193094?spm_id_from=333.337.0.0", + "fan_share_image":"https://i0.hdslb.com/bfs/garb/item/f9ad456fb74fc58896743eb393664e3c7622de0c.jpg", + "gray_rule":"true", + "gray_rule_type":"all", + "image_cover":"https://i0.hdslb.com/bfs/garb/item/14072c2cb4f82c053d85dc92911da37583a17668.jpg", + "image_cover_color":"#dcf0f9", + "is_hide":"false", + "item_id_card":"42123", + "item_id_emoji":"42157", + "item_id_thumbup":"42125", + "open_platform_vip_discount":"true", + "owner_uid":"647193094", + "rank_investor_show":"false", + "realname_auth":"false", + "sale_bp_forever_raw":"5500", + "sale_bp_pm_raw":"800", + "sale_buy_num_limit":"100", + "sale_quantity":"10000", + "sale_quantity_limit":"true", + "sale_region_ip_limit":"全球", + "sale_reserve_switch":"false", + "sale_time_begin":"1670410800", + "sale_type":"pay", + "suit_card_type":"big_img", + "type":"ip" + }, + "current_activity":null, + "next_activity":{ + "type":"open_platform_vip_discount", + "time_limit":true, + "time_left":410175990, + "tag":"大会员平台折扣", + "price_bp_month":640, + "price_bp_forever":4400, + "type_month":"open_platform_vip_discount", + "tag_month":"大会员平台折扣", + "time_limit_month":true, + "time_left_month":410175990 + }, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-65301210, + "sale_time_end":-1735712010, + "sale_surplus":0, + "sale_count_desc":"1万+", + "total_count_desc":"", + "tag":"粉丝套装已售罄", + "jump_link":"", + "sales_mode":0, + "suit_items":{ + "card":[ + { + "item_id":42124, + "name":"装扮小姐姐梦幻冬季粉丝", + "state":"active", + "tab_id":35, + "suit_item_id":42193, + "properties":{ + "gray_rule":"true", + "gray_rule_type":"all", + "hot":"false", + "image":"https://i0.hdslb.com/bfs/garb/item/3bebd46d5ac6eaa1d6c3f65854b184932fb6230b.png", + "image_preview_small":"https://i0.hdslb.com/bfs/garb/item/611fc0d3401623977f580f592747d721de330fc6.png", + "realname_auth":"false", + "sale_type":"other" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + }, + { + "item_id":42123, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":35, + "suit_item_id":42193, + "properties":{ + "gray_rule":"true", + "gray_rule_type":"all", + "hot":"false", + "image":"https://i0.hdslb.com/bfs/garb/item/757320776561f6bf881b3c50bd59fc937cea3387.png", + "realname_auth":"false", + "sale_type":"other" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ], + "card_bg":[ + { + "item_id":42189, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":44, + "suit_item_id":42193, + "properties":{ + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/38cbcb481923f6a3d7e724a3837324a8ab0f602e.png", + "image_preview_small":"https://i0.hdslb.com/bfs/garb/item/c9621eedabdc728d728158aafab2e271f152561e.png", + "realname_auth":"false", + "sale_type":"suit" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ], + "emoji_package":[ + { + "item_id":42157, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":8, + "suit_item_id":42193, + "properties":{ + "addable":"true", + "biz":"dynamic,reply,watch_full", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/0dd53dc27d401cad0a3bfc07d91dba3af3a5d6d0.png", + "is_symbol":"false", + "item_ids":"42158,42159,42160,42161,42162,42163,42164,42165,42166,42167,42168,42169,42170,42171,42172,42173,42174,42175,42176,42177,42178,42179,42180,42181,42182,42183,42184,42185,42186,42187", + "permanent":"false", + "preview":"false", + "realname_auth":"false", + "recently_used":"false", + "recommend":"false", + "ref_mid":"0", + "removable":"true", + "sale_type":"pay", + "setting_pannel_not_show":"false", + "size":"L", + "sortable":"true" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":[ + { + "item_id":42158, + "name":"[装扮小姐姐梦幻冬季_揉脸]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/e47ad8b1c16ebaa780e0574f360c67f4c45e6325.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42159, + "name":"[装扮小姐姐梦幻冬季_啾咪]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/098619d6f2859966157dc0da4d3a24ae7a690781.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42160, + "name":"[装扮小姐姐梦幻冬季_下雪了]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/08a64a396b710f8670096c5f380f2839f973d218.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42161, + "name":"[装扮小姐姐梦幻冬季_圣诞老人]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/e86122e145000e00362d635c6ebe8ac4260de7f6.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42162, + "name":"[装扮小姐姐梦幻冬季_多喝热水]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/59fb78d3801682c94b126abc0fc1f1b7603dee06.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42163, + "name":"[装扮小姐姐梦幻冬季_扔]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/d762bb454bb2f4fc3827167749b3d61597657b3b.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42164, + "name":"[装扮小姐姐梦幻冬季_生气]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/47fc00a0f13ebd61237c4617a1e5485d0647e7f5.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42165, + "name":"[装扮小姐姐梦幻冬季_贴贴]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/3a7580978ee11f033860af2435bcef6fa282ee64.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42166, + "name":"[装扮小姐姐梦幻冬季_没米了]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/55b3660d73951fb394c6f0594c9fdbeca4f39bea.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42167, + "name":"[装扮小姐姐梦幻冬季_冲鸭]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/cb7c2fbc6ab19d3462d44cabf10b87458650bf28.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42168, + "name":"[装扮小姐姐梦幻冬季_累了]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/884f721618392a0efe6686c2c61fddf04c6f2d73.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42169, + "name":"[装扮小姐姐梦幻冬季_斯密马赛]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/1bbe9b564ee17701a22e848287a5f7983fdfcb34.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42170, + "name":"[装扮小姐姐梦幻冬季_告辞]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/264c9ab6a2503013e79eecdb86118f057762bae5.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42171, + "name":"[装扮小姐姐梦幻冬季_吃我一拳]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/2f7b233826fa0d0729619bbf3dc2220b4c534b3f.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42172, + "name":"[装扮小姐姐梦幻冬季_乌拉]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/23dca67aed7565a4f3e21d8d9d5337125b34d399.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42173, + "name":"[装扮小姐姐梦幻冬季_委屈]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/cec0b3ade7249740cee45f98100275fa7cf7320a.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42174, + "name":"[装扮小姐姐梦幻冬季_溜冰]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/3704984c68c867820103795c4b5313fea0c097e9.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42175, + "name":"[装扮小姐姐梦幻冬季_好耶]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/621d4683d492901c814c64ca3c7bb880ae818779.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42176, + "name":"[装扮小姐姐梦幻冬季_硬撑罢了]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/b4d10356d0ac483b29c875518e0c539809468ba9.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42177, + "name":"[装扮小姐姐梦幻冬季_摸鱼]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/da7205f6a8e7213cca2a06e71c819850cae28977.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42178, + "name":"[装扮小姐姐梦幻冬季_注意保暖]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/170df6f81c3f42defbc07192d19de02525b14348.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42179, + "name":"[装扮小姐姐梦幻冬季_抽我]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/45541e4471e57e59b4aa6b7bcc43e800e3cbde85.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42180, + "name":"[装扮小姐姐梦幻冬季_疑问]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/0d07fd66d3888ea55aa98fa8d520a6e759596e2b.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42181, + "name":"[装扮小姐姐梦幻冬季_抱抱]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/44481b886560e9e1300781ad8a1a4d1dfbbfd6fe.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42182, + "name":"[装扮小姐姐梦幻冬季_烤红薯]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/828555bbfa4dd8cadb9fdfa5868d3101c637945b.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42183, + "name":"[装扮小姐姐梦幻冬季_Power!]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/e4744b70edd5a271dcb6f1b1c62fa32dfa92c9fb.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42184, + "name":"[装扮小姐姐梦幻冬季_堆雪人]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/9407cb861173253f1a1206e3bda7497aebfd98ec.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42185, + "name":"[装扮小姐姐梦幻冬季_好的]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/d73bccf93a20c6eedeb81d975eba99ebc048a88e.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42186, + "name":"[装扮小姐姐梦幻冬季_滑雪]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/36af70fea3fc1636de990597c1a929fecba412db.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + }, + { + "item_id":42187, + "name":"[装扮小姐姐梦幻冬季_吃火锅]", + "state":"active", + "tab_id":7, + "suit_item_id":0, + "properties":{ + "associate":"false", + "gray_rule":"true", + "gray_rule_type":"all", + "image":"https://i0.hdslb.com/bfs/garb/item/bc234259d7971bd6255f9c464597285582e7ff82.png", + "is_symbol":"false", + "ref_mid":"0", + "sale_type":"pay" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0 + } + ] + } + ], + "loading":[ + { + "item_id":42191, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":54, + "suit_item_id":42193, + "properties":{ + "gray_rule":"true", + "gray_rule_type":"all", + "image_preview_small":"https://i0.hdslb.com/bfs/garb/item/32377c9cb1167e1e251c467f6a56ca2b59f130b0.png", + "loading_frame_url":"https://i0.hdslb.com/bfs/garb/item/f2121039298817318e9a10ef25cd802ef7a546f0.png", + "loading_url":"https://i0.hdslb.com/bfs/garb/item/e5ba77a4c2d21809e5f2e407e7bf03a7df635a2c.webp", + "realname_auth":"false", + "ver":"1670384406" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ], + "play_icon":[ + { + "item_id":42192, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":56, + "suit_item_id":42193, + "properties":{ + "drag_left_png":"https://i0.hdslb.com/bfs/garb/item/933cdf41a554ce65b2bac7cc2af578c065a01ff8.png", + "drag_right_png":"https://i0.hdslb.com/bfs/garb/item/1632ab1d853694d61fe170710b447f6bd9c9152b.png", + "gray_rule":"true", + "gray_rule_type":"all", + "middle_png":"https://i0.hdslb.com/bfs/garb/item/4e1eaa52e65da8e14bce321e7abab9e9a3a28b30.png", + "realname_auth":"false", + "squared_image":"https://i0.hdslb.com/bfs/garb/item/ca4d76d7e8384b18354709ac7e3a422a900f7e07.png", + "static_icon_image":"https://i0.hdslb.com/bfs/garb/item/a98ffc9a8871ded890959c22916f38aba61521fc.png", + "ver":"1670384416" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ], + "skin":[ + { + "item_id":42190, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":45, + "suit_item_id":42193, + "properties":{ + "color":"#ffffff", + "color_mode":"dark", + "color_second_page":"#5d85c0", + "gray_rule":"true", + "gray_rule_type":"all", + "head_bg":"https://i0.hdslb.com/bfs/garb/item/6c74dac067a429029befc787572b5b7bc83f50a1.jpg", + "head_myself_mp4_play":"once", + "head_myself_squared_bg":"https://i0.hdslb.com/bfs/garb/item/8cff6c83023c9523669e89fc28e1cd7600f196ff.jpg", + "head_tab_bg":"https://i0.hdslb.com/bfs/garb/item/1fe3d1b486ab50d6ffdf30b29bc063818ecde544.jpg", + "image_cover":"https://i0.hdslb.com/bfs/garb/item/14072c2cb4f82c053d85dc92911da37583a17668.jpg", + "image_preview":"https://i0.hdslb.com/bfs/garb/item/14072c2cb4f82c053d85dc92911da37583a17668.jpg", + "package_md5":"4ed60db32789eb79c3e96dc8d6a23ebb", + "package_url":"https://i0.hdslb.com/bfs/garb/zip/b3c95365b791bc58fd56bba7c14b43377d7af82d.zip", + "realname_auth":"false", + "skin_mode":"normal", + "tail_bg":"https://i0.hdslb.com/bfs/garb/item/fda401903a377d79afd576f9ba921c83091e6943.png", + "tail_color":"#f6f1fd", + "tail_color_selected":"#5af1ff", + "tail_icon_ani":"true", + "tail_icon_ani_mode":"once", + "tail_icon_channel":"https://i0.hdslb.com/bfs/garb/item/504a27e5227f30741e35b5817079974335f13d29.png", + "tail_icon_dynamic":"https://i0.hdslb.com/bfs/garb/item/4e0ef0c9540277694087f0aca8aca86b87dc9331.png", + "tail_icon_main":"https://i0.hdslb.com/bfs/garb/item/2a1a97c098bf0d2374a141d8da7fad1e0d1cee24.png", + "tail_icon_mode":"img", + "tail_icon_myself":"https://i0.hdslb.com/bfs/garb/item/20050ddbc0265828e42f068b74b8f5d947f8b7b8.png", + "tail_icon_pub_btn_bg":"https://i0.hdslb.com/bfs/garb/item/4e0ef0c9540277694087f0aca8aca86b87dc9331.png", + "tail_icon_selected_channel":"https://i0.hdslb.com/bfs/garb/item/d14d87016fa2e995917f40148239bc1fa5961ec5.png", + "tail_icon_selected_dynamic":"https://i0.hdslb.com/bfs/garb/item/1b0fb973534600990ad48058eff901643fe7e9fc.png", + "tail_icon_selected_main":"https://i0.hdslb.com/bfs/garb/item/ce1272d036f196ea90e08a433d0003246822aabf.png", + "tail_icon_selected_myself":"https://i0.hdslb.com/bfs/garb/item/a7bbb67de4f22c105529e57b2a1b27737fb6d9df.png", + "tail_icon_selected_pub_btn_bg":"https://i0.hdslb.com/bfs/garb/item/1b0fb973534600990ad48058eff901643fe7e9fc.png", + "tail_icon_selected_shop":"https://i0.hdslb.com/bfs/garb/item/e1622e9643b6ec2186e9f88ee6251334a842e3d0.png", + "tail_icon_shop":"https://i0.hdslb.com/bfs/garb/item/a2eaa41ae4aba160b8b8a9cdc7bc98fd47f2720d.png", + "ver":"1670384396" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ], + "space_bg":[ + { + "item_id":42188, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":37, + "suit_item_id":42193, + "properties":{ + "fan_no_color":"#3e52eb", + "fan_no_image":"https://i0.hdslb.com/bfs/garb/item/d4888365d80401c72fc34bcc1697c36eb2477a97.png", + "gray_rule":"true", + "gray_rule_type":"all", + "image1_landscape":"https://i0.hdslb.com/bfs/garb/item/971519888f96d2e3cd88e55cb2360ac087f1dde7.png", + "image1_portrait":"https://i0.hdslb.com/bfs/garb/item/78fb9e4a63a17854c7df1e3b1f5f9f48df723e2c.jpg", + "image2_landscape":"https://i0.hdslb.com/bfs/garb/item/90a99f2615ba34596b05cd2a268490cf0072f1e7.png", + "image2_portrait":"https://i0.hdslb.com/bfs/garb/item/11d1a96097ebe357c47277f6c0397a0323c316a5.jpg", + "image3_landscape":"https://i0.hdslb.com/bfs/garb/item/3d2e029d2f6d8c3a425377af5be47a4c8bf2d102.jpg", + "image3_portrait":"https://i0.hdslb.com/bfs/garb/item/3d1495d80211c07ab6773f7aa1d6cb198940907d.jpg", + "realname_auth":"false" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ], + "thumbup":[ + { + "item_id":42125, + "name":"装扮小姐姐梦幻冬季", + "state":"active", + "tab_id":36, + "suit_item_id":42193, + "properties":{ + "gray_rule":"true", + "gray_rule_type":"all", + "image_ani":"https://i0.hdslb.com/bfs/garb/item/6a2ae0534879d765087c284c745b3e88340a7371.bin", + "image_ani_cut":"https://i0.hdslb.com/bfs/garb/item/6a2ae0534879d765087c284c745b3e88340a7371.bin", + "image_preview":"https://i0.hdslb.com/bfs/garb/item/0cbe14efc8d5397bb6edbd4adae5dcf0ce307c15.png", + "realname_auth":"false" + }, + "current_activity":null, + "next_activity":null, + "current_sources":null, + "finish_sources":null, + "sale_left_time":-1735712010, + "sale_time_end":-1735712010, + "sale_surplus":0, + "items":null + } + ] + }, + "fan_user":{ + "mid":647193094, + "nickname":"装扮小姐姐", + "avatar":"https://i1.hdslb.com/bfs/baselabs/523830e526a81001e4c3dcec9f317623a4f1dd2e.png" + }, + "unlock_items":null, + "activity_entrance":{ + "id":0, + "item_id":0, + "title":"", + "image_cover":"", + "jump_link":"" + } + } +} +``` + +
+ +## 主题装扮列表API + +> https://api.bilibili.com/x/garb/v2/mall/partition/item/list + +*请求方式: GET* + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|----------|-----|---------|-----|---------------------------------------------------------------------------| +| csrf | str | 用户csrf | 非必要 | | +| group_id | num | 分组id | 非必要 | 建议加上,不填的时候为0,一般配合`part_id`使用。
`0`: 装扮
`22`: 头像挂件
`5`: 动态卡片 | +| location | str | | 非必要 | **尚不明确** | +| part_id | num | 分类id | 必要 | 一般配合`group_id`使用。
`6`: 装扮
`1`: 头像挂件
`2`: 动态卡片
| +| pn | num | 页码 | 非必要 | 不填为1 | +| ps | num | 每页的数据数量 | 非必要 | 不填为20,默认值和最大值也都为20 | +| sort_type | num | 排序方式 | 非必要 | `0`: 默认排序
`1`: 按销量排序
`2`: 按最新上架时间排序 | +| user_info | str | 用户信息 | 非必要 | 为json对象,其中包含`buvid`和`buvid3`两个字段。 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|-----------------------| +| code | num | 返回值 | `0`:成功
`-400`:错误 | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +|------|-------|------|--------------| +| page | obj | 分页信息 | 包含装扮总数、页码和每页的数据数量 | +| list | array | 装扮列表 | | +| offset_info | str | 补偿信息 | **作用尚不明确** | +| group | str | 分组 | **作用尚不明确** | + +`list`对象: + +| 字段 | 类型 | 内容 | 备注 | +|--------------|-----|-----|---------------| +| item_id | num | 装扮id | 如果为0,则该装扮为收藏集 | +| name | str | 装扮名称 | | +| group_id | num | 分组id | | +| group_name | str | 分组名称 | | +| part_id | num | 分类id | | +| state | str | 状态 | | +| properties | obj | 装扮具体属性 | | +| current_activity | str | 当前活动 | | +| next_activity | obj | 下一个活动 | | +| current_sources | str | | **作用尚不明确** | +| finish_sources | str | | **作用尚不明确** | +| sale_left_time | num | | **作用尚不明确** | +| sale_time_end | num | | **作用尚不明确** | +| sale_surplus | num | 商品剩余数量 | | +| sale_count_desc | str | 促销销量说明 | | +| total_count_desc | str | 总销量说明 | | +| tag | str | 标签 | | +| jump_link | str | 跳转链接 | | +| sales_mode | num | 促销模式 | | + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/garb/v2/mall/partition/item/list' \ + --data-urlencode 'group_id=0' \ + --data-urlencode 'part_id=6' \ + --data-urlencode 'pn=1' \ + --data-urlencode 'ps=20' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "page": { + "total": 0, + "pn": 1, + "ps": 10 + }, + "list": [ + { + "item_id": 0, + "name": "MyGO!!!!!收藏集", + "group_id": 47, + "group_name": "MyGO!!!!!收藏集", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "59811", + "dlc_act_id": "102857", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "102858", + "dlc_lottery_sale_quantity": "1418368", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/c34fdba0b2a2aa31ff22bda77e217ca9c7e37344.jpg", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "100万+", + "total_count_desc": "已售100万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=102857&hybrid_set_header=2&lottery_id=102858", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "饿殍:明末千里行", + "group_id": 49, + "group_name": "饿殍:明末千里行", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "21825", + "dlc_act_id": "102794", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "102886", + "dlc_lottery_sale_quantity": "520677", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/838639725c0c37f6ccc5e85b2a1ed6ff895baca2.jpg", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "52万+", + "total_count_desc": "已售52万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=102794&hybrid_set_header=2&lottery_id=102886", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "2024拜年纪", + "group_id": 70, + "group_name": "2024拜年纪", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "30103", + "dlc_act_id": "279", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "256", + "dlc_lottery_sale_quantity": "332544", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "http://i0.hdslb.com/bfs/archive/f96a8cf6866ccef8f54de4773acf0cb07b915ac6.png", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "33万+", + "total_count_desc": "已售33万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=279&hybrid_set_header=2&lottery_id=256", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "2233·十五周年站庆", + "group_id": 70, + "group_name": "2233·十五周年站庆", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "38339", + "dlc_act_id": "293", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "302", + "dlc_lottery_sale_quantity": "63336", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "http://i0.hdslb.com/bfs/archive/633174e11f3587166e31b37cc87feb184808408d.jpg", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "6万+", + "total_count_desc": "已售6万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=293&hybrid_set_header=2&lottery_id=302", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "奈姬niki收藏集", + "group_id": 47, + "group_name": "奈姬niki收藏集", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "24158", + "dlc_act_id": "104783", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "104784", + "dlc_lottery_sale_quantity": "120787", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/6a2395d9be428ac09766deafbd8ead49503216ea.jpg", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "12万+", + "total_count_desc": "已售12万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=104783&hybrid_set_header=2&lottery_id=104784", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "黎歌Neeko收藏集-幻夏恋歌", + "group_id": 47, + "group_name": "黎歌Neeko收藏集-幻夏恋歌", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "22125", + "dlc_act_id": "100858", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "102305", + "dlc_lottery_sale_quantity": "528139", + "dlc_lottery_type": "2", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/ff57aba427ce4dd3608660233ba1d3ec518ff6aa.png", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "52万+", + "total_count_desc": "已售52万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=100858&hybrid_set_header=2&lottery_id=102305", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "2024明日方舟音律联觉", + "group_id": 49, + "group_name": "2024明日方舟音律联觉", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "59594", + "dlc_act_id": "102942", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "102943", + "dlc_lottery_sale_quantity": "1126215", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/c59397dff6e6618058b7d943aa9614b0d74a9c17.jpg", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "100万+", + "total_count_desc": "已售100万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=102942&hybrid_set_header=2&lottery_id=102943", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "BLG·2023LPL出征收藏集", + "group_id": 49, + "group_name": "BLG·2023LPL出征收藏集", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "18878", + "dlc_act_id": "228", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "157", + "dlc_lottery_sale_quantity": "14537", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "http://i0.hdslb.com/bfs/archive/dc0af06ae0e5018cc24ecab1be76742ff1ad9fc2.png", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "1万+", + "total_count_desc": "已售1万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=228&hybrid_set_header=2&lottery_id=157", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "幻星乐园", + "group_id": 107, + "group_name": "幻星乐园", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "22563", + "dlc_act_id": "103874", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "103875", + "dlc_lottery_sale_quantity": "319104", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/0f8eb52dfb0d3c7f89fb4d33749e4bf62544112e.jpg", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "31万+", + "total_count_desc": "已售31万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=103874&hybrid_set_header=2&lottery_id=103875", + "sales_mode": 0 + }, + { + "item_id": 0, + "name": "玉之けだま_毛玉收藏集", + "group_id": 46, + "group_name": "玉之けだま_毛玉收藏集", + "part_id": 0, + "state": "active", + "properties": { + "book_amount": "30723", + "dlc_act_id": "104459", + "dlc_act_status": "2", + "dlc_is_free": "0", + "dlc_lottery_id": "104460", + "dlc_lottery_sale_quantity": "267724", + "dlc_lottery_type": "1", + "dlc_sale_end_time": "0", + "dlc_sale_mode": "0", + "dlc_sale_start_time": "0", + "dlc_surplus_stock": "0", + "image_cover": "https://i0.hdslb.com/bfs/garb/565bf9465865efdd28b07c40f8352e43091ff4da.png", + "sale_bp_forever_raw": "990", + "type": "dlc_act" + }, + "current_activity": null, + "next_activity": null, + "current_sources": null, + "finish_sources": null, + "sale_left_time": -1735808611, + "sale_time_end": -1735808611, + "sale_surplus": 0, + "sale_count_desc": "26万+", + "total_count_desc": "已售26万+份", + "tag": "", + "jump_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=104459&hybrid_set_header=2&lottery_id=104460", + "sales_mode": 0 + } + ], + "offset_info": "pool::10", + "group": "garb_feed_recommend_rule_ab_key:1" + } +} +``` + +
+ +## 收藏集列表API + +> https://api.bilibili.com/x/vas/dlc_act/act/list + +*请求方式: GET* + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|-------|------|--------|-----|---------------------------| +| csrf | str | 用户csrf | 非必要 | | +| scene | num | | 非必要 | **作用尚不明确,默认为1,不填则获取到空数据** | +| site | site | 位置 | 非必要 | 不填为20,但建议填上,会影响到后面的json数据 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|------|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------| +| code | num | 返回值 | `0`:成功 | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | | +| is_more | bool | 是否还有足够的收藏集 | 如果为true,则说明如果继续增加url参数中site的值,都还能从当前的位置往后列出20份收藏集;
如果为false,则说明如果继续增加url参数中site的值,将无法继续从当前位置列出20份收藏集(最多也是20份),
这表示页面已经拉到底了,可用于判断是否已经获取完了所有收藏集的数据。 | +| site | num | 位置 | **它的值为url参数中site的值的基础上再加20**,比如url参数中的site值为0,则此site的值为20,
表示这页的收藏集列表是从序号为0的收藏集开始列出,直到列出往后的20份。 | + +`data` 对象中的 `list` 数组对象: + +| 字段 | 类型 | 内容 | 备注 | +|--------------|-----|---------|---------------| +| act_id | num | 收藏集id | | +| act_name | num | 收藏集名称 | | +| act_pic | num | 收藏集封面图片 | | +| sale_price | num | 收藏集价格 | 以0.01B币为单位 | +| act_desc | num | 收藏集说明 | | +| tag | num | 标签 | | +| lottery_id | num | 抽奖id | | +| lottery_type | num | 抽奖类型 | | +| act_link | num | 收藏集链接 | | + +**示例:** + +```shell +curl -G 'https://api.bilibili.com/x/vas/dlc_act/act/list' \ + --data-urlencode 'csrf=xxx' \ + --data-urlencode 'scene=1' \ + --data-urlencode 'site=0' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "act_id": 105432, + "act_name": "挚友的旅途·羽毛收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/b6a7314b6ad321b638c3d2270903c02c0d2d7b20.png", + "sale_price": 9900, + "act_desc": "已售份数6千+", + "tag": "新奖励", + "lottery_id": 105433, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105432&hybrid_set_header=2&lottery_id=105433" + }, + { + "act_id": 102054, + "act_name": "兰音的衣柜奇缘-兰音·拾光幻梦", + "act_pic": "https://i0.hdslb.com/bfs/garb/b7e5465ff80a3260cdc1c1255853730bfc6bd818.jpg", + "sale_price": 9900, + "act_desc": "已售份数3万+", + "tag": "新卡池", + "lottery_id": 105434, + "lottery_type": 2, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=102054&hybrid_set_header=2&lottery_id=105434" + }, + { + "act_id": 102550, + "act_name": "洛天依·收藏集-戏游九州", + "act_pic": "https://i0.hdslb.com/bfs/garb/74706a52bc08764828f9251439055b18646e98b3.png", + "sale_price": 9900, + "act_desc": "已售份数6万+", + "tag": "新奖励", + "lottery_id": 105269, + "lottery_type": 2, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=102550&hybrid_set_header=2&lottery_id=105269" + }, + { + "act_id": 105006, + "act_name": "村村宇宙·小猫女仆降临", + "act_pic": "https://i0.hdslb.com/bfs/garb/cfccce3c1520b828f02d7b4e009cc7d965133025.jpg", + "sale_price": 9900, + "act_desc": "已售份数1万+", + "tag": "新奖励", + "lottery_id": 105167, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105006&hybrid_set_header=2&lottery_id=105167" + }, + { + "act_id": 105435, + "act_name": "东方收藏集·浮生若梦", + "act_pic": "https://i0.hdslb.com/bfs/garb/27156281f59f774198f38b9a4a64d9a74efb9290.png", + "sale_price": 9900, + "act_desc": "已售份数6万+", + "tag": "新奖励", + "lottery_id": 105438, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105435&hybrid_set_header=2&lottery_id=105438" + }, + { + "act_id": 105407, + "act_name": "紫罗兰永恒花园收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/9e54ae06dfd32625071153adc702eb7554b45af8.jpg", + "sale_price": 9900, + "act_desc": "已售份数1万+", + "tag": "新奖励", + "lottery_id": 105408, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105407&hybrid_set_header=2&lottery_id=105408" + }, + { + "act_id": 105461, + "act_name": "Team Spirit 冠军收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/0a68dac1e2d37767c26930ad4d3121e2b7c56c44.jpg", + "sale_price": 9900, + "act_desc": "已售份数9千+", + "tag": "新奖励", + "lottery_id": 105462, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105461&hybrid_set_header=2&lottery_id=105462" + }, + { + "act_id": 105326, + "act_name": "小神奈殿下收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/ed3b6e516ef05cf595cf9d24203e16205eea55e5.png", + "sale_price": 9900, + "act_desc": "已售份数1万+", + "tag": "新奖励", + "lottery_id": 105327, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105326&hybrid_set_header=2&lottery_id=105327" + }, + { + "act_id": 105444, + "act_name": "yumekiii收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/afc2dd57c962244d8021b92752038714b7b3341e.png", + "sale_price": 9900, + "act_desc": "已售份数3千+", + "tag": "新奖励", + "lottery_id": 105445, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105444&hybrid_set_header=2&lottery_id=105445" + }, + { + "act_id": 101545, + "act_name": "Sheya收藏集-月食梦-镜海之梦", + "act_pic": "https://i0.hdslb.com/bfs/garb/262e59d60698d6797488f081826e172e6689c339.jpg", + "sale_price": 9900, + "act_desc": "已售份数3千+", + "tag": "新卡池", + "lottery_id": 105451, + "lottery_type": 2, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=101545&hybrid_set_header=2&lottery_id=105451" + }, + { + "act_id": 105388, + "act_name": "LOOPY可爱计划", + "act_pic": "https://i0.hdslb.com/bfs/garb/f24711f2f35cb9db7919bb888af3fe23f5c588ad.jpg", + "sale_price": 9900, + "act_desc": "", + "tag": "限时卡池", + "lottery_id": 105411, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105388&hybrid_set_header=2&lottery_id=105411" + }, + { + "act_id": 105413, + "act_name": "范式起源", + "act_pic": "https://i0.hdslb.com/bfs/garb/784d6073f5cc3110117449da018845443b9c484d.png", + "sale_price": 9900, + "act_desc": "已售份数1万+", + "tag": "", + "lottery_id": 105414, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105413&hybrid_set_header=2&lottery_id=105414" + }, + { + "act_id": 105409, + "act_name": "VirtuaReal碧波澜影", + "act_pic": "https://i0.hdslb.com/bfs/garb/63f57f0014e47d1302005a5c6ab0164e925c69ef.png", + "sale_price": 9900, + "act_desc": "已售份数3万+", + "tag": "", + "lottery_id": 105410, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105409&hybrid_set_header=2&lottery_id=105410" + }, + { + "act_id": 101388, + "act_name": "寺田堤拉 TERADA TERA-白橙绘锦", + "act_pic": "https://i0.hdslb.com/bfs/garb/8ec594c0a11706846f5394eaac78fd97065000b1.png", + "sale_price": 9900, + "act_desc": "已售份数5千+", + "tag": "", + "lottery_id": 104985, + "lottery_type": 2, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=101388&hybrid_set_header=2&lottery_id=104985" + }, + { + "act_id": 104978, + "act_name": "少女乐队的呐喊", + "act_pic": "https://i0.hdslb.com/bfs/garb/cdf0c00bd070ee77951e695355b3394be53b8288.jpg", + "sale_price": 9900, + "act_desc": "已售份数39万+", + "tag": "", + "lottery_id": 105056, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=104978&hybrid_set_header=2&lottery_id=105056" + }, + { + "act_id": 104174, + "act_name": "顾晓Khaos收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/52152a236bcd4e2829012eb8cc32d1e2f24490c9.png", + "sale_price": 9900, + "act_desc": "已售份数8千+", + "tag": "", + "lottery_id": 104181, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=104174&hybrid_set_header=2&lottery_id=104181" + }, + { + "act_id": 105151, + "act_name": "晴云-醒时晴空", + "act_pic": "https://i0.hdslb.com/bfs/garb/1320dd55c13a11dfc7c714a75b56159d73c2feae.jpg", + "sale_price": 9900, + "act_desc": "已售份数3千+", + "tag": "", + "lottery_id": 105168, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=105151&hybrid_set_header=2&lottery_id=105168" + }, + { + "act_id": 103966, + "act_name": "礼拜六Liu收藏集", + "act_pic": "https://i0.hdslb.com/bfs/garb/9c5b03a79074b1354ee4277d77c108441ac8ff35.jpg", + "sale_price": 9900, + "act_desc": "已售份数1万+", + "tag": "", + "lottery_id": 103967, + "lottery_type": 1, + "act_link": "https://www.bilibili.com/h5/mall/digital-card/home?-Abrowser=live&act_id=103966&hybrid_set_header=2&lottery_id=103967" + } + ], + "is_more": true, + "site": 20 + } +} +``` + +
\ No newline at end of file diff --git a/docs/live/danmaku.md b/docs/live/danmaku.md index 68b8309..abff259 100644 --- a/docs/live/danmaku.md +++ b/docs/live/danmaku.md @@ -408,10 +408,10 @@ curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig' \ | bubble | num | (?) | 非必要 | 值为`0` | | room\_type | num | (?) | 非必要 | `0` | | jumpfrom | num | (?) | 非必要 | `0` | -| reply\_mid | num | (?) | 非必要 | `0` | +| reply\_mid | num | 要“@”的用户mid | 非必要 | 默认为`0` | | reply\_attr | num | (?) | 非必要 | `0` | -| reply\_uname | str | (?) | 非必要 | `""` | -| replay\_dmid | str | (?) | 非必要 | `""` | +| reply\_uname | str | 要“@”的用户名称 | 非必要 | 默认为`""`,提供reply\_mid时不需要提供 | +| replay\_dmid | str | 要回复的弹幕id | 非必要 | 默认为`""` | | statistics | str | (?) | 非必要 | `{"appId":100,"platform":5}` | | csrf_token | str | 同csrf | 非必要 | | diff --git a/docs/live/follow_up_live.md b/docs/live/follow_up_live.md index 5e88da5..8c7d0a1 100644 --- a/docs/live/follow_up_live.md +++ b/docs/live/follow_up_live.md @@ -158,4 +158,160 @@ curl -G 'https://api.live.bilibili.com/xlive/web-ucenter/user/following' \ ``` + + +## 用户关注的所有UP且正在直播的列表(PC端) + +> https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|-----|------|----------------------------------|-----|------------------| +| hit_ab | bool | 会影响到json回复中部分字段的值,具体的影响效果会在下表列出。 | 非必要 | 默认为true,不填为false | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|------------------| +| code | num | 返回值 | 0:成功
1:参数错误 | +| msg | str | 错误信息 | 默认为空 | +| message | str | 错误信息 | 默认为空 | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|------|--------------|--------------------------------------------------------------------| +| rooms | list | 正在直播的房间列表 | 受到url参数hit_ab的影响:
true时能够获取到全部正在开播的直播间列表,
false时只会获取到前10个。 | +| list | list | 正在直播的房间列表 | 疑似与rooms字段的内容相同,并且同样受到url参数hit_ab的影响,受影响的效果同rooms字段。 | +| count | num | 关注列表中正在直播的人数 | 受到url参数hit_ab的影响:hit_ab为true时为0 | +| not_living_num | num | 关注列表中未开播的人数 | 受到url参数hit_ab的影响:hit_ab为false时为0 | + +`rooms`对象: + +| 字段 | 类型 | 内容 | 备注 | +|---------|------|--------------|---------------------------------------------------------------| +| title | num | 直播间标题 | | +| room_id | num | 直播间真实id | | +| uid | num | 目标用户mid | | +| online | num | 观看人数 | 受url参数hit_ab的影响,hit_ab为true时为0 | +| live_time | num | 已经直播的时长(单位为秒) | 受url参数hit_ab的影响,hit_ab为true时为0 | +| live_status | num | 开播状态 | 0:未开播
1:直播中
2:轮播中 | +| short_id | num | 直播间短id | 受url参数hit_ab的影响,hit_ab为true时为0 | +| area | num | 分区id | 受url参数hit_ab的影响,hit_ab为true时为0 | +| area_name | str | 分区名称 | | +| area_v2_id | num | 二级分区id | | +| area_v2_name | str | 二级分区名 | | +| area_v2_parent_name | str | 二级父分区名 | | +| area_v2_parent_id | num | 二级父分区id | | +| uname | str | 用户名 | | +| face | str | 用户头像图片链接 | | +| tag_name | str | 标签名 | | +| tags | str | 标签列表 | | +| cover_from_user | str | 直播间封面图片链接 | 受url参数hit_ab的影响,hit_ab为true时为0 | +| keyframe | str | 关键帧图片链接 | 用于网页端悬浮展示。受url参数hit_ab的影响,hit_ab为true时为0 | +| lock_till | str | 未知 | 时间日期格式为:yyyy-MM-dd hh-mm-ss。
受url参数hit_ab的影响,hit_ab为true时为空字符串 | +| hidden_till | str | 未知 | 时间日期格式为:yyyy-MM-dd hh-mm-ss。
受url参数hit_ab的影响,hit_ab为true时为空字符串 | +| broadcast_type | num | 广播类型 | | +| is_encrypt | bool | 直播间是否加密 | | +| link | str | 直播间链接 | 受url参数hit_ab的影响,hit_ab为true时为空字符串 | +| nickname | str | 用户昵称 | 受url参数hit_ab的影响,hit_ab为true时为空字符串 | +| roomname | str | 直播间名称 | 受url参数hit_ab的影响,hit_ab为true时为空字符串 | +| roomid | num | 直播间真实id | 受url参数hit_ab的影响,hit_ab为true时为0 | +| liveTime | num | 开播时间 | 受url参数hit_ab的影响,hit_ab为true时为0 | + +**示例:** + +```shell +curl -G 'https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList' \ +--header 'Cookie: SESSDATA=xxx' \ +--data-urlencode 'hit_ab=false' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "rooms": [ + { + "title": "虚拟区优质跨年直播展演", + "room_id": 21496316, + "uid": 441666939, + "online": 2308, + "live_time": 17313, + "live_status": 1, + "short_id": 36, + "area": 6, + "area_name": "生活娱乐", + "area_v2_id": 744, + "area_v2_name": "虚拟Singer", + "area_v2_parent_name": "虚拟主播", + "area_v2_parent_id": 9, + "uname": "虚拟区官方频道", + "face": "https://i0.hdslb.com/bfs/face/a26b52bc7837ce6867802575d300ed70d5e6f2d5.jpg", + "tag_name": "", + "tags": "", + "cover_from_user": "https://i0.hdslb.com/bfs/live/new_room_cover/5d7a4526062cf1dc4e88e016638a856c1ac7db03.jpg", + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe12311645000021496316pkuk08.jpg", + "lock_till": "0000-00-00 00:00:00", + "hidden_till": "0000-00-00 00:00:00", + "broadcast_type": 0, + "is_encrypt": false, + "link": "https://live.bilibili.com/21496316?broadcast_type=0", + "nickname": "虚拟区官方频道", + "roomname": "虚拟区优质跨年直播展演", + "roomid": 21496316, + "liveTime": 1735617438 + } + ], + "list": [ + { + "title": "虚拟区优质跨年直播展演", + "room_id": 21496316, + "uid": 441666939, + "online": 2308, + "live_time": 17313, + "live_status": 1, + "short_id": 36, + "area": 6, + "area_name": "生活娱乐", + "area_v2_id": 744, + "area_v2_name": "虚拟Singer", + "area_v2_parent_name": "虚拟主播", + "area_v2_parent_id": 9, + "uname": "虚拟区官方频道", + "face": "https://i0.hdslb.com/bfs/face/a26b52bc7837ce6867802575d300ed70d5e6f2d5.jpg", + "tag_name": "", + "tags": "", + "cover_from_user": "https://i0.hdslb.com/bfs/live/new_room_cover/5d7a4526062cf1dc4e88e016638a856c1ac7db03.jpg", + "keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe12311645000021496316pkuk08.jpg", + "lock_till": "0000-00-00 00:00:00", + "hidden_till": "0000-00-00 00:00:00", + "broadcast_type": 0, + "is_encrypt": false, + "link": "https://live.bilibili.com/21496316?broadcast_type=0", + "nickname": "虚拟区官方频道", + "roomname": "虚拟区优质跨年直播展演", + "roomid": 21496316, + "liveTime": 1735617438 + } + ], + "count": 1, + "not_living_num": 0 + } +} +``` +
\ No newline at end of file diff --git a/docs/live/gift.md b/docs/live/gift.md new file mode 100644 index 0000000..daa99a1 --- /dev/null +++ b/docs/live/gift.md @@ -0,0 +1,191 @@ +## 获取直播间内礼物 + +> https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/roomGiftList + +*请求方式:GET* + +认证方式:无 (无需添加Cookie) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------- | ---- | ---------- | ------ | -------------------------------- | +| platform | str | web | 必要 | | +| room_id | num | 主播房间号 | 必要 | | +| area_parent_id | num | 直播分区 | 非必要 | 不填写可能会获取不到部分活动礼物 | +| area_id | num | 直播子分区 | 非必要 | 不填写可能会获取不到部分活动礼物 | + +**json回复:** + + + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data.gift_config.base_config.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ---- | ------------------- | --------------------------- | +| id | num | 礼物id | | +| name | str | 礼物名字 | | +| price | num | 该值/1000的单位为元 | | +| type | num | | | +| coin_type | str | 一般为gold,即电池 | | +| effect | num | 特效类型? | 观察到可能出现的值为0,2,3 | +| stay_time | num | 礼物展示的时间? | 均为3 | +| animation_frame_num | num | 礼物动画帧数 | | +| desc | str | 礼物描述 | | +| img_basic | str | 礼物图片 | | +| gif | str | 礼物gif动画 | | + +**示例:** + +查询`room_id=23375552`的直播间礼物信息 + +```shell +curl 'https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/roomGiftList?platform=pc&room_id=23174842' +``` + +## 获取盲盒概率 + +> https://api.live.bilibili.com/xlive/general-interface/v1/blindFirstWin/getInfo + +*请求方式:GET* + +认证方式:无 (无需添加Cookie) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------- | ---- | ---- | ---------------- | ---- | +| gift_id | num | | 盲盒对应的礼物id | | + +**json回复:** + + + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ----- | -------- | ---- | +| note_text | str | 描述 | | +| blind_price | num | 盲盒价格 | | +| blind_gift_name | str | 盲盒名字 | | +| gifts | array | 盲盒价格 | | + +`gifts数组`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------------- | ---- | +| gift_id | num | 爆出的礼物id | | +| price | num | 爆出的礼物价格 | | +| gift_name | str | 礼物名字 | | +| gift_img | str | 礼物图片 | | +| chance | str | 概率 | | + +**示例:** + +查询`心动盲盒`的概率 + +```shell +curl 'https://api.live.bilibili.com/xlive/general-interface/v1/blindFirstWin/getInfo?gift_id=32251' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "note_text": "每日1次机会,首次投喂盲盒时享首抽福利!", + "blind_price": 15000, + "gifts": [ + { + "gift_id": 32125, + "price": 2000, + "gift_name": "电影票", + "gift_img": "https://s1.hdslb.com/bfs/live/20864a10beaea541c7dce264d5bbc56676d63e4f.png", + "is_win_gift": 0, + "chance": "6%" + }, + { + "gift_id": 32126, + "price": 9000, + "gift_name": "棉花糖", + "gift_img": "https://s1.hdslb.com/bfs/live/b555682af41551c28f8ad19dc5c4ed87943c84f4.png", + "is_win_gift": 0, + "chance": "44.5%" + }, + { + "gift_id": 32128, + "price": 16000, + "gift_name": "爱心抱枕", + "gift_img": "https://s1.hdslb.com/bfs/live/824714c830966d7bec381e35ef808b1f478e21ee.png", + "is_win_gift": 1, + "chance": "45.56%" + }, + { + "gift_id": 32281, + "price": 40000, + "gift_name": "绮彩权杖", + "gift_img": "https://s1.hdslb.com/bfs/live/5cecbf274a4205ef76ed3f11c6540f0c6743363c.png", + "is_win_gift": 1, + "chance": "3.7%" + }, + { + "gift_id": 32282, + "price": 100000, + "gift_name": "时空之站", + "gift_img": "https://s1.hdslb.com/bfs/live/9ee53aedda3c891fdf23d35c14b3bdc4e0504a97.png", + "is_win_gift": 1, + "chance": "0.12%" + }, + { + "gift_id": 34894, + "price": 200000, + "gift_name": "蛇形护符", + "gift_img": "https://s1.hdslb.com/bfs/live/2127dd998083a8981ef4e31a4e6787ce5a4d0f9f.png", + "is_win_gift": 1, + "chance": "0.08%" + }, + { + "gift_id": 32132, + "price": 2233000, + "gift_name": "浪漫城堡", + "gift_img": "https://s1.hdslb.com/bfs/live/216fac597b3c5619d56ed332bcf5f880ea657e8e.png", + "is_win_gift": 1, + "chance": "0.04%" + } + ], + "friday_yq_id": 106472, + "is_first": true, + "ab_res": 1, + "uid": 451537183, + "conf_id": 51, + "pre_imgs": [ + { + "gift_id": 32132, + "preview_url": "http://i0.hdslb.com/bfs/live/e40708d0c8ef9505027ac33ad2a17a23e8e01139.mp4" + } + ], + "blind_gift_name": "心动盲盒" + } +} +``` +
\ No newline at end of file diff --git a/docs/live/guard.md b/docs/live/guard.md new file mode 100644 index 0000000..2938907 --- /dev/null +++ b/docs/live/guard.md @@ -0,0 +1,592 @@ +## 查询大航海成员 +> https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topListNew + +*请求方式: GET* + +认证方式:无(无需Cookie) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------- | ------ | --------------------------------------- | +| roomid | num | 直播间号 | 必要 | | +| page | num | 页数 | 必要 | | +| ruid | num | 主播id | 必要 | | +| page_size | num | 页大小 | 非必要 | 默认20,最大30,若超过则作为10处理 | +| typ | num | 排序方式 | 非必要 | typ=3,4,5分别为按周/月/总航海亲密度排序 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ----- | -------------- | --------------------------------------- | +| info | obj | 主播mid | | +| top3 | array | 整个列表的top3 | +| list | array | 大航海成员 | page=1时,list[0]得到的会是榜单的第四名 | + +`list`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------- | ----- | +| ruid | num | 主播UID | | +| rank | num | 榜单排名 | | +| accompany | num | 陪伴天数 | | +| uinfo | obj | 用户信息 | | +| score | num | 亲密度 | 恒为0 | + +`list`对象的`uinfo`: +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------ | -------------------------------------------------------- | +| uid | num | 用户UID | | +| base | obj | 用户基本信息 | | +| medal | obj | 粉丝牌 | 与[此处](/bilibili-API-collect/docs/user/medals)基本一致 | + +`list`对象的`uinfo`的`base`: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ------ | -------- | ---- | +| name | string | 用户名 | | +| face | string | 用戶头像 | | + + +**示例:** + +查询`23174842`直播间的大航海成员 + + +```shell +curl ' https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topListNew?ruid=504140200&roomid=23174842&page=1' +``` + + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "info": { + "num": 23, + "page": 10, + "now": 1, + "achievement_level": 1, + "anchor_guard_achieve_level": 0, + "achievement_icon_src": "", + "buy_guard_icon_src": "https://i0.hdslb.com/bfs/live/4a481b491767f9d91165a4631252de4503d63a17.png", + "rule_doc_src": "", + "ex_background_src": "https://i0.hdslb.com/bfs/live/d0e938839a9dee733e8a7f9f6a3a132108ae22bc.png", + "color_start": "", + "color_end": "", + "tab_color": [ + "#4DDDDBD5", + "#26CFCBC0" + ], + "title_color": [ + "#FFC9CCD0", + "#FF9499A0" + ] + }, + "list": [ + { + "ruid": 504140200, + "rank": 4, + "accompany": 36, + "uinfo": { + "uid": 432911315, + "base": { + "name": "幻想乡的年华", + "face": "https://i2.hdslb.com/bfs/face/5ddde7a8466aa2d60d082ccfc08a0267445b193b.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "幻想乡的年华", + "face": "https://i2.hdslb.com/bfs/face/5ddde7a8466aa2d60d082ccfc08a0267445b193b.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 25, + "color_start": 398668, + "color_end": 6850801, + "color_border": 16771156, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + }, + { + "ruid": 504140200, + "rank": 5, + "accompany": 513, + "uinfo": { + "uid": 7816639, + "base": { + "name": "在这样的时光", + "face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "在这样的时光", + "face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 3, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 3, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + } + ], + "top3": [ + { + "ruid": 504140200, + "rank": 1, + "accompany": 306, + "uinfo": { + "uid": 85743027, + "base": { + "name": "-小fa---", + "face": "https://i0.hdslb.com/bfs/face/82b2d0fef27b7b69be0d121b3ef0491504bbaae8.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "-小fa---", + "face": "https://i0.hdslb.com/bfs/face/82b2d0fef27b7b69be0d121b3ef0491504bbaae8.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 16771156, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + }, + { + "ruid": 504140200, + "rank": 2, + "accompany": 1005, + "uinfo": { + "uid": 28601039, + "base": { + "name": "捏软软的上帝", + "face": "https://i2.hdslb.com/bfs/face/1f2a9b20294452d5c6ce9f40c66b186ef57b92e5.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "捏软软的上帝", + "face": "https://i2.hdslb.com/bfs/face/1f2a9b20294452d5c6ce9f40c66b186ef57b92e5.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 29, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 16771156, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + }, + { + "ruid": 504140200, + "rank": 3, + "accompany": 95, + "uinfo": { + "uid": 3546834244995088, + "base": { + "name": "老实逸流-恩师软软riu", + "face": "https://i1.hdslb.com/bfs/face/0b1f95d926acfb06c8d7d9c66d2e1fabf3e1a3c4.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": { + "name": "老实逸流-恩师软软riu", + "face": "https://i1.hdslb.com/bfs/face/0b1f95d926acfb06c8d7d9c66d2e1fabf3e1a3c4.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "软饭兔", + "level": 28, + "color_start": 398668, + "color_end": 6850801, + "color_border": 16771156, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 2, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": null, + "title": null, + "guard": { + "level": 2, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "score": 0 + } + ], + "my_follow_info": { + "accompany_days": 0, + "auto_renew": 0, + "renew_remind": { + "content": "", + "type": 0, + "hint": "" + }, + "rank": 0, + "ruid": 0, + "uinfo": null, + "expired_time": "" + }, + "guard_warn": { + "is_warn": 0, + "warn": "", + "expired": 0, + "will_expired": 0, + "address": "" + }, + "exist_benefit": false, + "remind_benefit": "立即上船", + "ab": { + "guard_accompany_list": 1 + }, + "remind_msg": "头号粉丝大航海,上船后可上榜", + "typ": 0, + "extop": null, + "guard_leader": null, + "main_text": "", + "sub_text": "", + "btn_type": 1, + "prompt_text": "头号粉丝大航海,等你来上船" + } +} +``` + +
+ + +## 查询粉丝团成员 + + +> https://api.live.bilibili.com/xlive/general-interface/v1/rank/getFansMembersRank + +*请求方式: GET* + +认证方式:无(无需Cookie) + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| --------- | ---- | -------------- | ------------------- | ----------------------------------------------------------------------------------------------- | +| page | num | 页数 | 必要 | | +| ruid | num | 主播id | 必要 | | +| page_size | num | 每页返回的数量 | 必要 | 最大30,若超过则作为10处理 | +| rank_type | num | 排序方式 | 非必要 | 1:按照粉丝牌还亮着的粉丝团成员的亲密度排序
2:按照**所有**没上过舰的粉丝团成员的亲密度排序 | +| ts | num | 13位时间戳 | 当rank_type=2时必要 | 该值>=1000即可 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ----- | -------------- | ---- | +| item | array | 内容 | | +| num | num | 粉丝团成员数量 | +| medal_status | num | | + +`list`对象 + +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | ---------------------------------------------------------------- | ---- | +| user_rank | num | 排名 | +| uid | num | 用户UID | +| name | str | 用户名 | +| face | str | 用户头像 | +| score | num | 亲密度 | +| medal_name | str | 粉丝牌名字 | +| level | num | 粉丝牌等级 | +| target_id | num | 主播UID | +| guard_level | num | 大航海类型,1,2,3分别为总督,提督,舰长 | +| medal_color_start | num | 粉丝牌渐变起始色 | +| medal_color_end | num | 粉丝牌渐变结束色 | +| medal_color_border | num | 粉丝牌边框颜色 | +| guard_icon | str | 大航海图标URL | +| uinfo_medal | obj | 粉丝牌,与[此处](/bilibili-API-collect/docs/user/medals)基本一致 | + + +**示例:** + +查询用户`504140200`的粉丝团成员 + +```shell +curl 'https://api.live.bilibili.com/xlive/general-interface/v1/rank/getFansMembersRank?ruid=504140200&page_size=10&page=1' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "item": [ + { + "user_rank": 1, + "uid": 85743027, + "name": "小软兔のfa", + "face": "https://i0.hdslb.com/bfs/face/bdbcabf8d927844ae4f8f9c65862077e29afb989.jpg", + "score": 50990540, + "medal_name": "软饭兔", + "level": 30, + "target_id": 504140200, + "special": "", + "guard_level": 3, + "medal_color_start": 2951253, + "medal_color_end": 10329087, + "medal_color_border": 6809855, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "uinfo_medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 0, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 3, + "score": 50990540, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "tag": null, + "is_pokeable": false + }, + { + "user_rank": 2, + "uid": 7816639, + "name": "在这样的时光", + "face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg", + "score": 50704568, + "medal_name": "软饭兔", + "level": 30, + "target_id": 504140200, + "special": "", + "guard_level": 3, + "medal_color_start": 2951253, + "medal_color_end": 10329087, + "medal_color_border": 6809855, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "uinfo_medal": { + "name": "软饭兔", + "level": 30, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 0, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 504140200, + "guard_level": 3, + "score": 50704568, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "tag": null, + "is_pokeable": false + } + ], + "num": 89, + "medal_status": 1 + } +} +``` + +
diff --git a/docs/live/info.md b/docs/live/info.md index 2106b00..2960d52 100644 --- a/docs/live/info.md +++ b/docs/live/info.md @@ -726,7 +726,7 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomBaseInfo' | keyframe | str | 直播间关键帧url | | | lock_till | str | 直播间封禁信息 | | | hidden_till | str | 直播间隐藏信息 | | -| broadcast_type | num | 直播类型 | 0:普通直播
1:手机直播 | +| broadcast_type | num | 直播类型 | 0:普通直播
1:手机直播 | **示例:** @@ -829,7 +829,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids' \ | dm_type | num | 弹幕类型 | | | uid | num | 弹幕发送者的UID | | | nickname | str | 弹幕发送者的昵称 | | -| uname_color | str | 弹幕发送者的颜色? | | +| uname_color | str | 弹幕发送者的昵称颜色? | | | timeline | str | 弹幕发送时间 | 格式为`yyyy-MM-dd HH:mm:ss` | | isadmin | num | 是否为管理员 | | | vip | num | 是否为VIP? || @@ -839,9 +839,9 @@ curl 'https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids' \ | user_level | array | 用户等级信息? | 格式不明 | | rank | num | 排名? | [用户空间详细信息](../user/info.md#获取用户详细信息) | | teamid | num | | | -| rnd | str | 发送时间? | UNIX 秒级时间戳 | -| user_title | 用户标题? | 格式不明 | -| guard_level | | | | +| rnd | str | 随机数种子? | | +| user_title | str | 用户头衔? |格式不明| +| guard_level | | 大航海等级? | | | bubble | | | | | bubble_color | | | | | lpl | | | | @@ -849,15 +849,43 @@ curl 'https://api.live.bilibili.com/room/v1/Room/get_status_info_by_uids' \ | jump_to_url | | | | | check_info | obj | 弹幕审核信息? | | | voice_dm_info | obj | 语音弹幕信息? | | -| emoticon | obj | 表情信息? | | -| emots | null | | | +| emoticon | obj | 房间独有表情信息 | | +| emots | obj | 默认表情信息 | 结构为`表情名-信息`组成的键值对
如果信息不含默认表情,则返回 null | | id_str | str | 弹幕ID? | | | wealth_level | num | 财富等级? | | | bubble_id_v2 | num | | | -| reply | obj | | | +| reply | obj | 回复的弹幕 | | | group_medal | null | | | | user | obj | 该用户信息 || +`data`对象中的`emoticon`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ------------------------ | ---------------------------- | +| id | num | 0 | | +| emoticon_unique | str | 表情的独特标识 | 格式为`room_房间号_表情id` | +| text | text | 表情的触发词 | | +| perm | num | 发送权限? | 1:所有人都可发送 | +| url | str | 表情的图像链接 | | +| in_player_area | num | 是否显示在直播画面区域? | | +| bulge_display | num | 是否高亮显示? | | +| is_dynamic | num | 是否为动态表情 | 0:静态图像
1:动态图像 | +| height | num | 表情的高度 | | +| width | num | 表情的宽度 | | + +`data`对象中的`emots`对象中的任意一个值对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | ---------------- | ------------------------- | +| count | num | 重复发送数量 | | +| descript | str | 表情描述 | | +| emoji | str | 表情描述 | | +| emotion_id | num | 表情 id | | +| emotion_unique | str | 表情的独特标识符 | 格式可能为`emoji_表情 id` | +| height | num | 表情的宽度 | | +| url | str | 表情的图像链接 | | +| width | num | 表情的高度 | | + `data`对象中的`user`对象: | 字段 | 类型 | 内容 | 备注 | diff --git a/docs/live/live_bill.md b/docs/live/live_bill.md new file mode 100644 index 0000000..16c07fd --- /dev/null +++ b/docs/live/live_bill.md @@ -0,0 +1,328 @@ +# 直播流水 + +## 获取所有礼物列表 + +> https://api.live.bilibili.com/gift/v1/master/getGiftTypes + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | -------------- | +| code | num | 返回值 | 0:成功 | +| msg | str | 错误信息 | 默认为 success | +| message | str | 错误信息 | 默认为 success | +| data | array | 礼物列表 | | + +`data` 数组: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | -------- | ------------------------------------------------------------------------------ | +| gift_id | num | 礼物 id | | +| gift_name | str | 礼物名称 | | +| price | num | 瓜子数量 | 电池礼物为金瓜子数量,银瓜子礼物为银瓜子数量。 (金瓜子数量 / 100 = 电池数量) | + +*注:特殊礼物如舰长、提督、总督等没有 `price` 字段* + +
+查看响应示例: + +```jsonc + { + "code": 0, + "msg": "success", + "message": "success", + "data": [ + { + "gift_id": 10001, + "gift_name": "总督" + }, + { + "gift_id": 10002, + "gift_name": "提督" + }, + { + "gift_id": 10003, + "gift_name": "舰长" + }, + { + "gift_id": 12000, + "gift_name": "醒目留言" + }, + { + "gift_id": 1, + "price": 100, + "gift_name": "辣条" + }, + { + "gift_id": 3, + "price": 9900, + "gift_name": "B坷垃" + }, + { + "gift_id": 6, + "price": 1000, + "gift_name": "亿圆" + }, + { + "gift_id": 30426, + "price": 0, + "gift_name": "BLS能量石" + }, + { + "gift_id": 30706, + "price": 1000, + "gift_name": "生日快乐" + }, + { + "gift_id": 30707, + "price": 5200, + "gift_name": "生日蛋糕" + }, + { + "gift_id": 30708, + "price": 52000, + "gift_name": "生日王冠" + }, + { + "gift_id": 31049, + "price": 6600, + "gift_name": "干杯" + }, + { + "gift_id": 31116, + "price": 6600, + "gift_name": "干杯" + }, + { + "gift_id": 31251, + "price": 6600, + "gift_name": "干杯" + }, + { + "gift_id": 31531, + "price": 0, + "gift_name": "PK票" + }, + { + "gift_id": 31588, + "price": 19900, + "gift_name": "星河入梦" + }, + { + "gift_id": 31589, + "price": 131400, + "gift_name": "我星永恒" + }, + { + "gift_id": 32276, + "price": 0, + "gift_name": "粉丝团灯牌" + }, + // ... + ] + } +``` + +
+ +## 获取流水 + +> https://api.live.bilibili.com/xlive/revenue/v1/giftStream/getReceivedGiftStreamNextList + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +请求参数: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ------------- | ----------------------- | ---------- | -------------------------------------- | +| limit | num | 一页有多少条目 | 必要 | | +| coin_type | num | 礼物类型 | 必要 | 0 为所有,1 为电池礼物,2 为银瓜子礼物 | +| begin_time | date / string | 流水的日期 | 必要 | 格式为 yyyy-MM-dd | +| uname | string | 筛选的用户名 | 非必要 | | +| last_id | num | 上一页页末的礼物列表 id | 翻页时必要 | 见下方 `list` 数组说明 | +| gift_id | num | 筛选的礼物 id | | | + +请求示例:`https://api.live.bilibili.com/xlive/revenue/v1/giftStream/getReceivedGiftStreamNextList?limit=20&coin_type=0&begin_time=2023-01-01` + +请求示例(翻页时):`https://api.live.bilibili.com/xlive/revenue/v1/giftStream/getReceivedGiftStreamNextList?last_id=13834493&limit=20&coin_type=0&begin_time=2023-01-01` + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ------ | -------- | -------------- | +| code | num | 返回值 | 0:成功 | +| msg | str | 错误信息 | 默认为 success | +| message | str | 错误信息 | 默认为 success | +| data | object | 流水 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ----- | -------------- | -------------- | +| has_more | num | 是否由下一页 | 1 为是,0 为否 | +| total_hamster | num | 总的金仓鼠收益 | | +| list | array | 礼物列表 | | + +`list` 数组: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---------- | ------------------------------------- | -------------------------- | +| uid | num | 送礼用户的 uid | | +| uname | str | 用户名 | | +| time | date / str | 送礼时间 | | +| gift_id | num | 礼物 id | | +| gift_name | str | 礼物名字 | | +| gift_img | str | 礼物图片链接 | | +| gift_num | num | 礼物数量 | | +| hamster | num | 金仓鼠数量 | | +| gold | num | 礼物价值(金瓜子) | | +| silver | num | 礼物价值(银瓜子) | | +| ios_hamster | num | 由 iOS 端送出的礼物所收到的金仓鼠 | | +| normal_hamster | num | 一般情况下收到的金仓鼠 | | +| ios_gold | num | 由 iOS 端送出的礼物所收到的金瓜子数量 | | +| normal_gold | num | 一般情况下收到的金瓜子数量 | | +| is_hybrid | bool | 是否混合 | 作用不明 | +| id | num | 此项 id | 用于翻页 | +| is_open_platfrom | num | 是否开放平台 | 作用不明 | +| open_platfrom_rate | num | 开放平台比率 (?) | 作用不明 | +| receive_title | str | | 作用不明 ,一般为 `"主播"` | +| room_id | num | 送礼房间id | 如果礼物为上舰,此项为 `0` | + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "uid": 0000000000, + "uname": "XXXXXXX", + "time": "2023-01-01 00:00:00", + "gift_id": 31216, + "gift_name": "i了i了", + "gift_img": "https://s1.hdslb.com/bfs/live/1157a445487b39c0b7368d91b22290c60fa665b2.png", + "gift_num": 1, + "hamster": 50, + "gold": 100, + "silver": 0, + "ios_hamster": 0, + "normal_hamster": 50, + "ios_gold": 0, + "normal_gold": 100, + "is_hybrid": false, + "id": 14269551, + "is_open_platfrom": 0, + "open_platfrom_rate": 0, + "receive_title": "主播", + "room_id": 000001 + }, + { + "uid": 0000000000, + "uname": "XXXXXXX", + "time": "2023-01-01 00:00:00", + "gift_id": 10003, + "gift_name": "舰长", + "gift_img": "https://i0.hdslb.com/bfs/live/f1be2a2d5b227ce72641de1ad64bcc7f9e4111c3.png", + "gift_num": 1, + "hamster": 69000, + "gold": 138000, + "silver": 0, + "ios_hamster": 0, + "normal_hamster": 69000, + "ios_gold": 0, + "normal_gold": 138000, + "is_hybrid": false, + "id": 14258453, + "is_open_platfrom": 0, + "open_platfrom_rate": 0, + "receive_title": "主播", + "room_id": 000000 + }, + { + "uid": 0000000000, + "uname": "XXXXXXX", + "time": "2023-01-01 00:00:00", + "gift_id": 31036, + "gift_name": "小花花", + "gift_img": "https://s1.hdslb.com/bfs/live/8b40d0470890e7d573995383af8a8ae074d485d9.png", + "gift_num": 1, + "hamster": 50, + "gold": 100, + "silver": 0, + "ios_hamster": 0, + "normal_hamster": 50, + "ios_gold": 0, + "normal_gold": 100, + "is_hybrid": false, + "id": 14243903, + "is_open_platfrom": 0, + "open_platfrom_rate": 0, + "receive_title": "主播", + "room_id": 000001 + }, + { + "uid": 0000000000, + "uname": "XXXXXXX", + "time": "2023-01-01 00:00:00", + "gift_id": 30047, + "gift_name": "友谊的小船", + "gift_img": "https://s1.hdslb.com/bfs/live/b33c94c51b669bd88f811ecf5f4e34a1db22a648.png", + "gift_num": 1, + "hamster": 2450, + "gold": 4900, + "silver": 0, + "ios_hamster": 0, + "normal_hamster": 2450, + "ios_gold": 0, + "normal_gold": 4900, + "is_hybrid": false, + "id": 14242683, + "is_open_platfrom": 0, + "open_platfrom_rate": 0, + "receive_title": "主播", + "room_id": 000001 + }, + { + "uid": 0000000000, + "uname": "XXXXXXX", + "time": "2023-01-01 00:00:00", + "gift_id": 31738, + "gift_name": "粉丝团灯牌", + "gift_img": "https://s1.hdslb.com/bfs/live/cbed3bb0a894369b49ceaf0b5337b4491b75ac42.png", + "gift_num": 1, + "hamster": 0, + "gold": 1000, + "silver": 1000, + "ios_hamster": 0, + "normal_hamster": 0, + "ios_gold": 0, + "normal_gold": 0, + "is_hybrid": false, + "id": 14237376, + "is_open_platfrom": 0, + "open_platfrom_rate": 0, + "receive_title": "主播", + "room_id": 000001 + } + ], + "has_more": 1, + "total_hamster": 122050 + } +} +``` + +
diff --git a/docs/live/live_replay.md b/docs/live/live_replay.md new file mode 100644 index 0000000..0bad582 --- /dev/null +++ b/docs/live/live_replay.md @@ -0,0 +1,1269 @@ +# 直播回放 + + + +注: 直播回放相关接口较新,随时可能出现变化。 + +## 获取直播回放列表 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetReplayList + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +只能获取自己14天的回放,详细信息请查看[对应页面](https://link.bilibili.com/#/my-room/live-record) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| page | num | 页码 | 非必要 | 默认第1页 | +| page_size | num | 每页内容数量 | 非必要 | 默认30项,最大30项 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0:成功
-101:未登录 | +| message | str | 提示信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| replay_info | arr | 回放信息列表 | 无结果时为`null` | +| pagination | obj | 分页信息 | | +| archive_flag | bool | (?) | 作用尚不明确 | +| can\_edit | num | (?) | 作用尚不明确 | + +`data.replay_info` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| replay_id | num | 直播回放id | | +| live_info | obj | 直播信息 | | +| video_info | obj | 回放视频信息 | | +| alarm_info | obj | 警报信息 | | +| room_id | num | 直播间id | | +| live_key | str | 标记直播场次的key | | +| start_time | num | 直播开始秒时间戳 | 调用[开始直播](manage.md#开始直播)接口的时间 | +| end_time | num | 直播结束秒时间戳 | 调用[关闭直播](manage.md#关闭直播)接口的时间 | + +`data.replay_info[i].live_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| title | str | 直播标题 | 直播结束时的标题 | +| cover | str | 直播封面 | | +| live_time | num | 直播时间 | 同`data.replay_info[i].start_time` | +| live_type | num | 直播类型? | 作用尚不明确 | + +`data.replay_info[i].video_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| replay_status | num | 回放状态 | 作用尚不明确 | +| estimated_time | str | 直播回放合成结束时间 | 未合成时为`"1970-01-01 08:00:00"` | +| duration | num | 直播时长 | 单位秒 | +| download_url | str | 下载链接片段 | 整场直播回放合成成功时存在
建议通过[请求整场直播回放下载链接](#请求整场直播回放下载链接)来获取下载链接 | +| alert_code | num | 快速检查警告代码 | 整场直播回放合成失败时不存在 | +| alert_message | str | 快速检查警告信息 | 整场直播回放合成失败时不存在 | + +`data.replay_info[i].alarm_info` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 回放合成警报代码 | | +| message | str | 回放合成错误信息 | | +| cur_time | num | 当前时间戳 | Unix秒时间戳 | +| is_ban_publish | bool | 是否禁止发布? | | + +`data.pagination` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| page | num | 请求的页码 | | +| page_size | num | 内容数量 | | +| total | num | 总计内容数量 | | + +**示例:** + +获取自己直播回放列表的第1页,每页2项 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetReplayList?page=1&page_size=2' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "replay_info": [ + { + "replay_id": 10707737, + "live_info": { + "title": "摆", + "cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "live_time": 1747509268, + "live_type": 1 + }, + "video_info": { + "replay_status": 2, + "estimated_time": "1970-01-01 08:00:00", + "duration": 1820, + "alert_code": 2, + "alert_message": "录像时长远小于开播时长,请关注直播时网络状况" + }, + "alarm_info": { + "code": 2, + "message": "录像生成失败,请稍后再试", + "cur_time": 1747557808, + "is_ban_publish": false + }, + "room_id": 18992371, + "live_key": "609043243693510451", + "start_time": 1747509268, + "end_time": 1747511088 + }, + { + "replay_id": 10707664, + "live_info": { + "title": "摆", + "cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "live_time": 1747508293, + "live_type": 1 + }, + "video_info": { + "replay_status": 2, + "estimated_time": "1970-01-01 08:00:00", + "duration": 206, + "alert_code": 2, + "alert_message": "录像时长远小于开播时长,请关注直播时网络状况" + }, + "alarm_info": { + "code": 2, + "message": "录像生成失败,请稍后再试", + "cur_time": 1747557808, + "is_ban_publish": false + }, + "room_id": 18992371, + "live_key": "609041817764368179", + "start_time": 1747508293, + "end_time": 1747508499 + } + ], + "pagination": { + "page": 1, + "page_size": 2, + "total": 29 + }, + "archive_flag": false, + "can_edit": 1 + } +} +``` + +
+ +## 获取已发布片段的信息 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetVideoSliceList + +*请求方式: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| page | num | 页码 | 非必要 | 默认第1页 | +| page_size | num | 每页内容数量 | 非必要 | 默认20项,最大20项 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0:成功
-101:未登录 | +| message | str | 提示信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 切片信息 | | +| page | num | 请求的页码 | | +| page_size | num | 内容数量 | | +| total | num | 总计内容数量 | | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| silce_id | num | 切片id | | +| av_title | str | 切片标题 | | +| av_cover | str | 切片封面 | | +| av_status | num | 切片状态 | 1:发布中
2:已投稿
3:投稿失败 | +| avid | num | 切片视频的avid | 状态为2时存在 | +| ctime | str | 切片创建时间 | | +| start_tm | str | 切片开始时间 | | +| end_tm | str | 切片结束时间 | | +| av_duration | num | 切片时长 | 状态为2且创作中心出现有效视频时长时存在 | +| failed_reason | str | 失败原因 | 状态为3时存在,2024-09-01前发布失败的切片可能不存在 | +| live_type | num | (?) | 作用尚不明确 | +| cnt_play | num | 播放数 | 视频有播放时存在;若该页出现任意状态不为2的项也会不存在 | +| cnt_danmaku | num | 弹幕数 | 视频有弹幕时存在;若该页出现任意状态不为2的项也会不存在 | + +**示例:** + +获取自己第1页的已发布片段信息,每页3项 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorGetVideoSliceList?page=1&page_size=3' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "slice_id": 882357, + "av_title": "2025051720 error", + "av_cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "av_status": 1, + "ctime": "2025-05-18 18:13:13", + "start_tm": "2025-05-17 21:07:04", + "end_tm": "2025-05-17 21:16:00", + "live_type": 1 + }, + { + "slice_id": 879189, + "av_title": "2025051721 zzz 0", + "av_cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "av_status": 3, + "ctime": "2025-05-18 00:32:52", + "start_tm": "2025-05-17 21:07:34", + "end_tm": "2025-05-17 23:02:03", + "failed_reason": "duration_false", + "live_type": 1 + }, + { + "slice_id": 876259, + "av_title": "202505171449", + "av_cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "av_status": 2, + "avid": 114521830065531, + "ctime": "2025-05-17 14:49:18", + "start_tm": "2025-05-17 14:19:36", + "end_tm": "2025-05-17 14:23:48", + "av_duration": 341, + "live_type": 1 + } + ], + "page": 1, + "page_size": 3, + "total": 347 + } +} +``` + +
+ +## 获取回放剪辑草稿列表 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetDraftList + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| page | num | 页码 | 非必要 | 默认第1页 | +| page_size | num | 每页内容数量 | 非必要 | 默认30项,最大30项 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -101:未登录
0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| draft_info | arr | 草稿信息 | 无结果时为`null` | +| pagination | obj | 分页信息 | | + +`data.draft_info` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| id | num | 回放剪辑id | | +| title | str | 回放剪辑标题 | | +| cover | str | 回放剪辑封面 | 有封面时存在;若不存在将使用 https://s1.hdslb.com/bfs/static/blive/blfe-link-center/static/img/default.187078d.png | +| live\_key | str | 标记直播场次的key | | +| ctime | str | 回放剪辑创建时间 | | +| live_start_time | str | 直播开始时间 | | +| live_end_time | str | 直播结束时间 | | +| live_type | num | (?) | 作用尚不明确 | + +`data.pagination` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| page | num | 请求的页码 | | +| page_size | num | 内容数量 | | +| total | num | 总计内容数量 | | + +**示例:** + +请求自己的回放剪辑草稿列表 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetDraftList?page=1&page_size=12' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "draft_info": [ + { + "id": 988275, + "title": "直播场次 2025-05-19 20:45:04", + "live_key": "609431465787395891", + "ctime": "2025-05-22 01:08:20", + "live_start_time": "2025-05-19 20:45:04", + "live_end_time": "2025-05-20 09:40:13", + "live_type": 1 + }, + { + "id": 987665, + "title": "直播场次 2025-05-19 20:45:04 切片", + "cover": "http://i0.hdslb.com/bfs/live/9bdf1df3d823734c59382120a9a7c10b177dbefd.png", + "live_key": "609431465787395891", + "ctime": "2025-05-21 20:28:48", + "live_start_time": "2025-05-19 20:45:04", + "live_end_time": "2025-05-20 09:40:13", + "live_type": 1 + } + ], + "pagination": { + "page": 1, + "page_size": 30, + "total": 2 + } + } +} +``` + +
+ +## 删除某个回放剪辑草稿 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/DeleteSliceDraft + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| draft_id | num | 回放剪辑id | 必要 | | +| csrf_token | str | CSRF Token(位于cookie) | 非必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:参数错误
-101:未登录
-111:csrf校验失败
0:成功
206:无可操作草稿 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | `0` | | +| message | str | `""` | | + +**示例:** + +删除回放剪辑id为`988275`的草稿 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/DeleteSliceDraft' \ + --data-urlencode 'draft_id=988275' \ + --data-urlencode 'csrf=xxx' + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "code": 0, + "message": "" + } +} +``` + +
+ +## 请求整场直播回放下载链接 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorVideoDownload + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +未生成整场直播回放时将进行生成。 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| record_id | num | 直播回放id | 必要(可选) | `record_id`和`live_key`必选其一 | +| live_key | str | 标记直播场次的key | 必要(可选) | `record_id`和`live_key`必选其一 | +| csrf_token | str | CSRF Token(位于cookie) | 非必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -101:未登录
-111:csrf校验失败
0:成功
100:非法参数
210:回放id或场次key无效 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| record | obj | 回放状态 | | +| download_url | str | 回放下载链接 | 完成时存在 | +| download_url_list | arr | 回放下载链接列表 | 完成时存在 | + +`data.record` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| uid | num | 用户mid | | +| record_id | num | 直播回放id | | +| status | num | 回放状态 | | +| estimated_time | num | 预计结束时间 | Unix秒时间戳 | +| current_time | num | 当前时间 | Unix秒时间戳 | +| merge_time | num | 开始合并时间 | Unix秒时间戳 | +| toast | str | 提示信息 | 失败时存在 | + +`data.download_url_list` 数组: + +| 项 | 类型 | 内容 | 备注 | +| -- | --- | --- | --- | +| 0 | str | 回放下载链接 | | + +**示例:** + +请求回放id为`10597910`的下载链接 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorVideoDownload' \ + --data-urlencode 'record_id=10597910' \ + --data-urlencode 'live_key=607942821532667699' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "record": { + "uid": 438160221, + "record_id": 10597910, + "status": 30, + "estimated_time": 1747639543, + "current_time": 1747639106, + "merge_time": 1747638665 + }, + "download_url": "https://upos-sz-mirrorali.bilivideo.com/ugcever/n250519sa3hkpirw61hjskuit4d9fdsj.mp4?deadline=1747682306&gen=record2vod&os=upos&trid=da40b42594d5446da29cb0d2b2f25f45&uparams=deadline,gen,os,trid&upsig=c6ac5f218af40b2c120b3f5add2e4d6b&attname=直播回放_2025-05-13_20-49-04.mp4", + "download_url_list": [ + "https://upos-sz-mirrorali.bilivideo.com/ugcever/n250519sa3hkpirw61hjskuit4d9fdsj.mp4?deadline=1747682306&gen=record2vod&os=upos&trid=da40b42594d5446da29cb0d2b2f25f45&uparams=deadline,gen,os,trid&upsig=c6ac5f218af40b2c120b3f5add2e4d6b&attname=直播回放_2025-05-13_20-49-04.mp4" + ] + } +} +``` + +
+ +## 获取回放的信息 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecordsSubsect + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| record_id | num | 直播回放id | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:参数错误
-101:未登录
0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | 失败时不可用 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 回放信息列表 | | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| uid | num | 用户mid | | +| record_id | num | 直播回放id | | +| title | str | 直播标题 | | +| cover | str | 直播封面 | | +| status | num | 回放状态 | | +| start\_time | num | 直播开始时间 | Unix秒时间戳 | +| end_time | num | 直播结束时间 | Unix秒时间戳 | + +**示例:** + +获取回放id为`10707664`的信息 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecordsSubsect?record_id=10707664' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "uid": 438160221, + "record_id": 10707664, + "title": "摆", + "cover": "https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png", + "status": 2, + "start_time": 1747508293, + "end_time": 1747508499 + } + ] + } +} +``` + +
+ +## 轮询回放合成状态 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecord + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| records | str | 直播回放id列表 | 必要 | 用`,`分隔 | +| csrf_token | str | CSRF Token(位于cookie) | 非必要 | | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -101:未登录
-400:参数错误
0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 查询结果 | 无效的id会被忽略 | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| uid | num | 用户mid | | +| record_id | num | 直播回放id | | +| status | num | 回放状态 | | +| current_time | num | 当前时间戳 | Unix秒时间戳 | +| estimated_time | num | 预计结束时间戳 | 初次[请求回放下载链接](#请求整场直播回放下载链接)后存在 | +| merge_time | num | 合成开始时间戳 | 初次[请求回放下载链接](#请求整场直播回放下载链接)后存在 | + +**示例:** + +查询各种回放id + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoUidRecord' \ + --data-urlencode 'records=10727160,10597910,10687720,10230000,99999999' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "uid": 91089731, + "record_id": 10230000, + "status": 2, + "current_time": 1747641604 + }, + { + "uid": 438160221, + "record_id": 10597910, + "status": 30, + "estimated_time": 1747639543, + "current_time": 1747641604, + "merge_time": 1747638665 + }, + { + "uid": 438160221, + "record_id": 10687720, + "status": -30, + "estimated_time": 1747635525, + "current_time": 1747641604, + "merge_time": 1747635486, + "toast": "因直播过程中存在推流质量问题(网络波动或丢包),本场直播回放无法合成" + }, + { + "uid": 3493299121817771, + "record_id": 10727160, + "status": 2, + "current_time": 1747641604 + } + ] + } +} +``` + +
+ +## 获取切片视频流 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStream + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].live_key` | +| start_time | num | 直播开始时间戳 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].start_time` | +| end_time | num | 直播结束时间戳 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].end_time` | +| web_location | str | (?) | 非必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:参数缺失
-101:未登录
0:成功
100:非法参数
202:场次无效 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 直播回放视频列表 | 如果该场回放没有视频流将为`null` | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| start_time | num | 片段开始时间戳 | Unix秒时间戳 | +| end_time | num | 片段结束时间戳 | Unix秒时间戳 | +| stream | str | 直播回放视频流 | | +| type | num | 类型? | 2:一般回放? | + +**示例:** + +获取某个场次的视频流 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStream?live_key=607113721045847859&start_time=1746863101&end_time=1746879299' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "start_time": 1746863103, + "end_time": 1746879246, + "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879246&header_name=1746863103.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=12f649dd540096672745d60b84f18eda&start_time=1746863103&stream_name=live_438160221_32373699&ts=1752930893&version=2", + "type": 2 + }, + { + "start_time": 1746879267, + "end_time": 1746879269, + "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879269&header_name=1746863104.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=5c63605f1fa88561a6257b6812725b4f&start_time=1746879267&stream_name=live_438160221_32373699&ts=1752930893&version=2", + "type": 2 + }, + { + "start_time": 1746879269, + "end_time": 1746879298, + "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879298&header_name=1746863105.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=70929627354f4380b54b97fcdb69c8a2&start_time=1746879269&stream_name=live_438160221_32373699&ts=1752930893&version=2", + "type": 2 + } + ] + } +} +``` + +
+ +## 获取直播会话数据 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetLiveSessionData + +*请求方法: GET* + +认证方式: Cookie (SESSDATA) + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | | +| start_tm | str | 开始时间 | 必要 | 格式为`yyyy-mm-dd+HH:MM:SS`,时区为`UTC+08:00`(中国标准时间);取值对实际无影响 | +| end_tm | str | 开始时间 | 必要 | 格式为`yyyy-mm-dd+HH:MM:SS`,时区为`UTC+08:00`(中国标准时间);取值对实际无影响 | +| web_location | str | (?) | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -500:服务器错误
-101:未登录
0:成功
100:非法参数
202:场次无效 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| session_data | arr | 会话数据 | | +| max_danmaku | num | 弹幕最多的时间戳 | Unix秒时间戳,没有则为`0` | +| max_pcu | num | 进房最多的时间戳 | Unix秒时间戳,没有则为`0` | +| max_value | num | (?) | 效果未知 | +| high_light_data | arr | 高光时刻数据 | | +| ass_url | str | ASS字幕链接 | 用作弹幕显示 | + +`data.session_data` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| ts | num | 采样时间 | Unix秒时间戳 | +| value | num | 弹幕数量 | | + +`data.high_light_data` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| id | num | 高光id | | +| type | num | 高光类型 | 1:弹幕
2:进房 | +| start_time | num | 高光开始时间戳 | Unix秒时间戳 | +| end_time | num | 高光结束时间戳 | Unix秒时间戳 | +| title | str | 高光提示标题 | | +| cover | str | (?) | 目前为`""` | +| extra | str | (?) | 目前为`""` | + +**示例:** + +获取场次key为`607113721045847859`的会话数据 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetLiveSessionData?live_key=607113721045847859&start_tm=0000-01-01+00:00:00&end_tm=1970-01-01+00:00:00' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```jsonc +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "session_data": [ + { + "ts": 1746863100, + "value": 0 + }, + { + "ts": 1746863160, + "value": 0 + }, + { + "ts": 1746863220, + "value": 0 + }, + { + "ts": 1746863280, + "value": 0 + }, + { + "ts": 1746863340, + "value": 0 + }, + { + "ts": 1746863400, + "value": 0 + }, + { + "ts": 1746863460, + "value": 0 + }, + { + "ts": 1746863520, + "value": 0 + }, + { + "ts": 1746863580, + "value": 0 + }, + { + "ts": 1746863640, + "value": 0 + }, + { + "ts": 1746863700, + "value": 0 + }, + { + "ts": 1746863760, + "value": 0 + }, + { + "ts": 1746863820, + "value": 0 + }, + // 省略100多条数据 + { + "ts": 1746878520, + "value": 0 + }, + { + "ts": 1746878580, + "value": 0 + }, + { + "ts": 1746878640, + "value": 0 + }, + { + "ts": 1746878700, + "value": 0 + }, + { + "ts": 1746878760, + "value": 0 + }, + { + "ts": 1746878820, + "value": 0 + }, + { + "ts": 1746878880, + "value": 0 + }, + { + "ts": 1746878940, + "value": 0 + }, + { + "ts": 1746879000, + "value": 0 + }, + { + "ts": 1746879060, + "value": 0 + }, + { + "ts": 1746879120, + "value": 0 + }, + { + "ts": 1746879180, + "value": 0 + }, + { + "ts": 1746879240, + "value": 0 + } + ], + "max_danmaku": 1746864660, + "max_pcu": 1746864660, + "max_value": 0, + "high_light_data": [ + { + "id": 6226272, + "type": 1, + "start_time": 1746873300, + "end_time": 1746873480, + "title": "弹幕高光 Top 1", + "cover": "", + "extra": "" + }, + { + "id": 6226274, + "type": 1, + "start_time": 1746873120, + "end_time": 1746873420, + "title": "弹幕高光 Top 2", + "cover": "", + "extra": "" + }, + { + "id": 6226271, + "type": 2, + "start_time": 1746864600, + "end_time": 1746864780, + "title": "进房高光时刻", + "cover": "", + "extra": "" + } + ], + "ass_url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/dmass_1899237171_607113721045847859.ass?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T130358Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=5e3ddfbcb8893dc6e76deea7981165e18e5df9a7579f4e6e97c7a32abec53d84" + } +} +``` + +
+ +## 获取某个时间的视频帧 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoKeyFrame + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**正文参数( application/json ):** + +根对象: + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | | +| time_list | str | 秒时间戳列表,用`,`分隔 | 必要 | 时间间隔低于30秒将会导致只提供部分内容 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -400:请求错误
-111:csrf校验失败
-101:未登录
0:成功 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| list | arr | 指定时间的视频帧列表 | 场次key无效时为`null` | + +`data.list` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| ts | num | 时间戳 | 对应请求的`time_list`其中某一个 | +| url | str | 该时间的视频帧 | 该时间有视频时存在 | + +**示例:** + +获取某场直播的视频帧 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVideoKeyFrame?csrf=xxx' \ + -H 'Content-Type: application/json' \ + -b 'SESSDATA=xxx;bili_jct=xxx' \ + -d '{"live_key":"609431465787395891","time_list":"174758900,1747658930,1747658960"}' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "list": [ + { + "ts": 174758900 + }, + { + "ts": 1747658930, + "url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/live_438160221_32373699_20250519204900.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T180202Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=8d42a3d5fd1995e5e2bf98d453a986bec48529a9ae97d5d7eedee8a59b22418a" + }, + { + "ts": 1747658960, + "url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/live_438160221_32373699_20250519205001.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T180202Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=f4a3803d4147492ced14eefbb6953e772b886e195d51dbfac800e77320adeba2" + } + ] + } +} +``` + +
+ +## 投稿直播回放片段 + +> https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorPublishVideoSlice + +*请求方法: POST* + +认证方式: Cookie (SESSDATA) + +鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| live_key | str | 标记直播场次的key | 必要 | 必须为自己的live_key | +| start_ts | num | 开始时间戳 | 必要 | 开始和结束时间目前相差不能大于2小时 | +| end_ts | num | 结束时间戳 | 必要 | 开始和结束时间目前相差不能大于2小时 | +| av_title | str | 切片标题 | 必要 | 不能与现有标题重复 | +| av_cover | str | 切片封面URL | 必要 | 必须为`.hdslb.com`域名下的图片,否则合成结束时会出错 | +| av_highlight | num | 高光绑定? | 非必要 | | +| with_subtitle | num | 是否自动生成字幕? | 非必要 | 效果不明确 | +| with_danmaku | num | 是否带弹幕? | 非必要 | 传递`1`时可能导致处于“发布中”状态时不在[获取已发布片段的信息](#获取已发布片段的信息)中显示 | +| with_reserve | num | (?) | 非必要 | 作用尚不明确 | +| csrf | str | CSRF Token(位于cookie) | 必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | -111:csrf校验失败
-101:未登录
0:成功
4000:时长过长
4001:操作太快
4002:片段已投稿
4003:请选择精彩片段再投稿哦
4006:标题已使用 | +| message | str | 错误信息 | | +| ttl | num | `1` | | +| data | obj | 信息本体 | 成功时有效 | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| video_slice_id | num | 切片id | | + +注: 若返回值出现4001不一定就是操作太快,不提供某些必要参数或某个参数不正确也会导致返回4001。 + +**示例:** + +为某个场次投稿切片 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorPublishVideoSlice' \ + --data-urlencode 'live_key=609431465787395891' \ + --data-urlencode 'start_ts=1747680306' \ + --data-urlencode 'end_ts=1747687506' \ + --data-urlencode 'av_title=2025051920' \ + --data-urlencode 'av_cover=https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png' \ + --data-urlencode 'av_highlight=0' \ + --data-urlencode 'with_subtitle=0' \ + --data-urlencode 'with_danmaku=0' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data":{ + "video_slice_id": 898374 + } +} +``` + +
+ +## 下载整场直播回放的流程 + +此处的流程是从[直播回放](https://link.bilibili.com/#/my-room/live-record)的“下载回放”功能得出的。 + +1. 先[请求整场直播回放下载链接](#请求整场直播回放下载链接)接口,让它开始合成回放; + +2. (可选)请求[获取回放的信息](#获取回放的信息)接口,生成合成进度页面; + +3. [轮询回放合成状态](#轮询回放合成状态),当状态变为`30`转到流程4,变为`-30`转到流程5; + +4. 再次[请求整场直播回放下载链接](#请求整场直播回放下载链接),获取下载链接并下载。 + +5. 请求[获取直播回放列表](#获取直播回放列表),刷新页面并根据信息提示失败。 + +## 直播回放片段发布页面 + +通过此处的链接可以打开直播回放片段发布页面。 + +> https://live.bilibili.com/web-cut/quick-publish.html (网页端) + +> https://live.bilibili.com/web-cut/quick-publish-mobile.html (移动端) + +注:移动端强制限制只能投稿15分钟的片段,网页端则看[投稿直播回放片段](#投稿直播回放片段)接口允许多长的时间。 + +**url查询参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| start_time | num | 直播开始时间 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].start_time` | +| end_time | num | 直播结束时间 | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].end_time` | +| live_key | str | 标记直播场次的key | 必要 | 对应[获取直播回放列表](#获取直播回放列表)的`data.replay_info[i].live_key` | +| cover | str | 封面URL | 非必要 | 可以自定义封面,或者在[获取直播回放列表](#获取直播回放列表)使用直播封面 | + +**示例链接:** + +网页端: https://live.bilibili.com/web-cut/quick-publish.html?start_time=1747508293&end_time=1747508499&live_key=609041817764368179&cover=https%3A%2F%2Fi0.hdslb.com%2Fbfs%2Flive%2F59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png + +移动端: https://live.bilibili.com/web-cut/quick-publish-mobile.html?start_time=1747508293&end_time=1747508499&live_key=609041817764368179 + +## 直播回放剪辑页面 + +此链接用于打开直播回放轻剪辑页面,在点击[直播回放片段发布页面](#直播回放片段发布页面)的“高级剪辑工具”或某一个[回放剪辑草稿](#获取回放剪辑草稿列表)后自动打开。 + +> https://live.bilibili.com/web-cut/index.html + +**url查询参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| start_time | num | 直播开始时间戳 | 必要 | 用于[获取切片视频流](#获取切片视频流) | +| end_time | num | 直播结束时间戳 | 必要 | 用于[获取切片视频流](#获取切片视频流) | +| live_key | str | 标记直播场次的key | 必要 | 用于[获取切片视频流](#获取切片视频流) | +| draft_id | num | 回放剪辑id | 必要 | | + +**示例链接:** https://live.bilibili.com/web-cut/index.html?start_time=1747658704&end_time=1747705213&live_key=609431465787395891&draft_id=988275 diff --git a/docs/live/manage.md b/docs/live/manage.md index 8150b28..c53c202 100644 --- a/docs/live/manage.md +++ b/docs/live/manage.md @@ -274,7 +274,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | -------- | ---- | ------------------------ | ------ | ----------------------------------- | | room_id | num | 直播间id | 必要 | 必须为自己的直播间id | | area_v2 | num | 直播分区id(子分区id) | 必要 | 详见[直播分区](live_area.md) | -| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link
web在线直播:web_link
bililink:android_link | +| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link
web在线直播:web_link(已下线)
bililink:android_link | | csrf | str | CSRF Token(位于cookie) | 必要 | | **json回复:** @@ -283,7 +283,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功
65530:token错误(登录错误)
1:错误
60009:分区不存在
60024: 目标分区需要人脸认证
60013:非常抱歉,您所在的地区受实名认证限制无法开播
**(其他错误码有待补充)** | +| code | num | 返回值 | 0:成功
65530:token错误(登录错误)
1:错误
60009:分区不存在
60013:非常抱歉,您所在的地区受实名认证限制无法开播
60024: 目标分区需要人脸认证
60037: web 在线开播已下线
**(其他错误码有待补充)** | | msg | str | 错误信息 | 默认为空 | | message | str | 错误信息 | 默认为空 | | data | obj | 信息本体 | | @@ -296,7 +296,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | status | str | 直播间状态 | `LIVE` | | room_type | num | 0 | 作用尚不明确 | | rtmp | obj | RTMP推流地址信息 | | -| protocols | array | ??? | 作用尚不明确 | +| protocols | array | 推流协议、地址、密钥等信息
其中地址、密钥与 `rtmp` 字段的内容是一致的 | 协议只见到过 `rtmp` | | try_time | str | ??? | 作用尚不明确 | | live_key | str | 标记直播场次的key | | | sub_session_key | str | 信息变动标识 | | @@ -314,23 +314,23 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \ | addr | str | RTMP推流(发送)地址 | **重要** | | code | str | RTMP推流参数(密钥) | **重要** | | new_link | str | 获取CDN推流ip地址重定向信息的url | 没啥用 | -| provider | str | ??? | 作用尚不明确 | +| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 | `data`中的`protocols`数组: | 项 | 类型 | 内容 | 备注 | | ---- | ---- | ------ | ------------ | -| 0 | obj | ??? | 作用尚不明确 | +| 0 | obj | 与 `rtmp` 字段在地址和密钥上相同的推流协议信息 | | `data`中的`protocols`数组中的对象: | 字段 | 类型 | 内容 | 备注 | | -------- | ---- | -------------------------------- | ------------ | -| protocol | str | rtmp | 作用尚不明确 | -| addr | str | RTMP推流(发送)地址 | | -| code | str | RTMP推流参数(密钥) | | +| protocol | str | rtmp | 推流协议 | +| addr | str | RTMP推流(发送)地址 | 格式为 `rtmp://<推流节点>/live-bvc/` | +| code | str | RTMP推流参数(密钥) | 格式为 `?streamname=live__<未知数字>&key=<密钥>&schedule=rtmp&pflag=<开播平台标志>` | | new_link | str | 获取CDN推流ip地址重定向信息的url | | -| provider | str | txy | 作用尚不明确 | +| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 | `data`中的`notice`对象: @@ -431,6 +431,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------- | ---- | ------------------------ | ------ | -------------------- | +| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link
web在线直播:web_link(已下线)
bililink:android_link | | room_id | num | 直播间id | 必要 | 必须为自己的直播间id | | csrf | str | CSRF Token(位于cookie) | 必要 | | @@ -480,6 +481,121 @@ curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \ +## 预更新直播间信息 + +> https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo + +*请求方法: POST* + +认证方式:Cookie(SESSDATA) + +鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同 + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ----- | --- | ---- | ----- | --- | +| csrf | str | CSRF Token(位于cookie) | 必要 | | +| csrf_token | str | CSRF Token(位于cookie) | 必要 | | +| platform | str | 平台标识 | 必要 | 似乎可随意提供
网页端: web | +| mobi_app | str | 平台标识? | 必要 | 似乎可随意提供
网页端: web | +| build | num | 构建标识? | 必要 | 建议取`1`,似乎可随意提供 | +| cover | str | 直播封面链接 | 非必要 | 图片链接需要在`.hdslb.com`域名下 | +| title | str | 直播间标题 | 非必要 | 参见[更新直播间信息](#更新直播间信息)的title参数 | +| coverVertical | str | (?) | 非必要 | 作用尚不明确 | +| liveDirectionType | num | (?) | 非必要 | `1` | +| visit_id | str | (?) | 非必要 | `""` | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| code | num | 返回值 | 0: 成功
1: 错误
100402: 图片地址不合法 | +| message | str | 错误信息 | 成功时为`"0"` | +| ttl | num | `1` | | +| data | obj | 内容本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| audit_info | obj | 审核信息 | | + +`data.audit_info`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| audit_title | str | 被审核的标题 | | +| audit_title_status | num | 标题审核状态 | | +| audit_title_reason | str | 标题审核提示 | | + +**示例:** + +更新直播间封面 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \ + --data-urlencode 'platform=web' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'build=1' \ + --data-urlencode 'cover=https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data":{ + "audit_info":{ + "audit_title": "", + "audit_title_status": 0, + "audit_title_reason": "" + } + } +} +``` + +
+ +使用此接口更新直播间标题 + +```shell +curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \ + --data-urlencode 'platform=web' \ + --data-urlencode 'mobi_app=web' \ + --data-urlencode 'build=1' \ + --data-urlencode 'title=你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧' \ + --data-urlencode 'csrf=xxx' \ + -b 'SESSDATA=xxx;bili_jct=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data":{ + "audit_info":{ + "audit_title": "你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧", + "audit_title_status": 2, + "audit_title_reason": "先发后审" + } + } +} +``` + +
## 更新直播间公告 diff --git a/docs/live/message_stream.md b/docs/live/message_stream.md index 7d106df..a66673b 100644 --- a/docs/live/message_stream.md +++ b/docs/live/message_stream.md @@ -8,6 +8,8 @@ 认证方式: Cookie(SESSDATA) +鉴权方式:[Wbi 签名](../misc/sign/wbi.md) + 可以选择进行认证,若未认证视作未登录,将会受到限制,详见后续内容。 **URL参数:** @@ -15,6 +17,12 @@ | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | ------------ | ------ | ---- | | id | num | 直播间真实id | 必要 | | +| type | num | (?) | 非必要 | 作用尚不明确 | +| web_location | str | (?) | 非必要 | 作用尚不明确 | +| w_rid | str | Wbi 签名 | 必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | +| wts | num | 当前时间戳 | 必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) | + +注: 从2025年5月26日开始正式强制要求Wbi签名。 **JSON回复:** @@ -50,11 +58,10 @@ **示例:** -获得直播间 `14047` 的信息流认证秘钥 +获得直播间 `1017` 的信息流认证秘钥 ```shell -curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \ ---url-query 'id=14047' +curl 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?id=1017&type=0&web_location=444.8&w_rid=cf24f88ea0cbb61e7b29aed0c070187d&wts=1748266797' ```
@@ -65,30 +72,42 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \ "code": 0, "message": "0", "ttl": 1, - "data": { + "data":{ "group": "live", "business_id": 0, "refresh_row_factor": 0.125, "refresh_rate": 100, "max_delay": 5000, - "token": "IFfrzJxUd-K6mBPLGCpu-Z9QAz1V3KzIxde_-tCzvah05fYgfXjBWyuqRywF8Ov2w-MGQWt7l80pLiZEsfx3OPEDsXSRaJlzihV0hTXYwkiJvRmzMH3JjfAjdzlvI8sytUCrIbezBgbr_grGPd4ENTEknvu165L-ocW_cyql1e-L_EE=", - "host_list": [ + "token": "gZ2Pp2T4rIc2HfD0e53FHhQAwKWjb6-QDD84AcxXi8sk3S89XcdvPWOgClZIMZ5mESr19-JKTOFxayX4IjeSQuckWqohE5Y0aHn-agpc2uU7aPXW3-Xmra3QEKljMZS5fM3q2vCf2XcAsjc8Xup7MVAc8SLWWXhQz0s7f1alCkaJBAIPA-i2nS39Ri4O", + "host_list":[ { - "host": "hw-sg-live-comet-02.chat.bilibili.com", + "host": "zj-cn-live-comet.chat.bilibili.com", "port": 2243, - "wss_port": 443, + "wss_port": 2245, "ws_port": 2244 }, { - "host": "hw-sg-live-comet-01.chat.bilibili.com", + "host": "zj-cn-live-comet.chat.bilibili.com", "port": 2243, - "wss_port": 443, + "wss_port": 2245, + "ws_port": 2244 + }, + { + "host": "bd-sz-live-comet-14.chat.bilibili.com", + "port": 2243, + "wss_port": 2245, + "ws_port": 2244 + }, + { + "host": "bd-bj-live-comet-09.chat.bilibili.com", + "port": 2243, + "wss_port": 2245, "ws_port": 2244 }, { "host": "broadcastlv.chat.bilibili.com", "port": 2243, - "wss_port": 443, + "wss_port": 2245, "ws_port": 2244 } ] @@ -104,7 +123,7 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \ **注: 特别的**, WS 与 WSS 连接地址带有路径 `/sub`, 如 `wss://broadcastlv.chat.bilibili.com:443/sub`. -**再注:** B 站更新了隐私政策, 连接建立后, 若该连接认证时传入信息来自未登录用户, 会提示 `为保护用户隐私,未注册登陆用户将无法查看他人昵称`, 随后部分数据包(如“弹幕”、“进场或关注消息”)的用户 mid 都为 `0`, 用户名部分也使用 `*` 保护, 部分房间受到豁免, 参见 [#732](https://github.com/SocialSisterYi/bilibili-API-collect/issues/732) +**再注:** B 站更新了隐私政策, 连接建立后, 若该连接认证时传入信息来自未登录用户, 会提示 `为保护用户隐私,未注册登陆用户将无法查看他人昵称`, 随后部分数据包(如“弹幕”、“用户交互消息”)的用户 mid 都为 `0`, 用户名部分也使用 `*` 保护, 部分房间受到豁免, 参见 [#732](https://github.com/SocialSisterYi/bilibili-API-collect/issues/732) 操作流程 (伪代码): @@ -380,7 +399,7 @@ while (!s.isclosed()) { 见下方 JSONC -```json +```jsonc { "send_from_me": false, // 是否由该接收消息的用户发送 "mode": 0, // 弹幕模式 (info[0][1]) @@ -706,7 +725,7 @@ while (!s.isclosed()) { | -------- | ---- | -------- | ---- | | id | num | 事件 ID | | | status | num | 状态 | | -| type | num | 事件类型 | 102:弹幕
103:
104:送礼
105:分享
106:点赞 | +| type | num | 事件类型 | 101:投票
102:弹幕
103:关注
104:送礼
105:分享
106:点赞 | | data | str | 事件数据 | 一个JSON字符串 | | dmsource | num | | | @@ -716,6 +735,49 @@ while (!s.isclosed()) { 温馨提示: 要记得先解析`data.data`内的JSON字符串,不要直接使用哦。 +`data.data(101)` 对象: (投票) + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| question | str | 投票问题 | | +| options | obj | 投票详细选项 | | +| vote_id | num | 投票id | | +| cnt | num | 弹幕计数 | | +| duration | num | 持续时间 | 单位毫秒 | +| left_duration | num | 剩余时间 | 单位毫秒 | +| fade_duration | num | (?) | | +| waiting_duration | num | (?) | | +| result | num | 投票倾向状态 | | +| result_text | str | 投票倾向提示 | | +| component | str | 投票链接 | | +| natural_die_duration | num | (?) | | +| my_vote | num | (?) | | +| component_anchor | str | 投票控制链接 | | +| audit_reason | str | 审核结果 | | +| combo | obj | 投票状态展示 | | + +`data.data(101).options` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| idx | num | 选项索引 | | +| desc | str | 选项内容 | | +| cnt | num | 票数 | | +| percent | num | 显示占比 | | + +`data.data(101).combo` 数组中对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| id | num | 标识id | 同`data.data.options`数组中对象的`idx` | +| status | num | 状态 | 同`data.status` | +| content | str | 投票选项内容 | | +| cnt | str | 弹幕计数 | | +| guide | str | (?) | 空字符串 | +| left_duration | num | 剩余时间 | | +| fade_duration | num | (?) | | +| prefix_icon | str | 投票选项图标 | | + `data.data(102)` 对象: (弹幕) | 字段 | 类型 | 内容 | 备注 | @@ -737,6 +799,17 @@ while (!s.isclosed()) { | left_duration | num | 左移时长 | | | fade_duration | num | 淡化时长 | | +`data.data(103)` 对象: (关注) + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| fade\_duration | num | | | +| cnt | num | 关注计数 | | +| card_appear_interval | num | | | +| suffix\_text | str | 提示文本 | `人关注了主播` | +| reset\_cnt | num | | | +| display\_flag | num | | | + `data.data(104)` 对象: (送礼) | 字段 | 类型 | 内容 | 备注 | @@ -777,6 +850,21 @@ while (!s.isclosed()) {
查看正文示例: +type===101 + +```json +{ + "cmd": "DM_INTERACTION", + "data": { + "data": "{\"question\":\"投票\",\"options\":[{\"idx\":1,\"desc\":\"赞成\",\"cnt\":0,\"percent\":0.5},{\"idx\":2,\"desc\":\"弃权\",\"cnt\":0,\"percent\":0.5}],\"vote_id\":98014370742272,\"cnt\":0,\"duration\":60000,\"left_duration\":60000,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":1,\"result_text\":\"平局\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"您提交的弹幕投票未审核通过,请修改\",\"combo\":[{\"id\":1,\"status\":2,\"content\":\"赞成\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":2,\"content\":\"弃权\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}", + "dmscore": 36, + "id": 98014370742272, + "status": 2, + "type": 101 + } +} +``` + type===102 ```json @@ -806,6 +894,21 @@ type===102 } ``` +type===103 + +```json +{ + "cmd": "DM_INTERACTION", + "data": { + "data": "{\"fade_duration\":10000,\"cnt\":6,\"card_appear_interval\":0,\"suffix_text\":\"人关注了主播\",\"reset_cnt\":0,\"display_flag\":1}", + "dmscore": 36, + "id": 94362402889728, + "status": 4, + "type": 103 + } +} +``` + type===104 ```json @@ -853,9 +956,9 @@ type===106
-#### 进场或关注消息 (INTERACT_WORD) +#### 用户交互消息 (INTERACT_WORD) -注: 有用户进入直播间或关注主播时触发 +注: 有用户进入直播间、关注主播、分享直播间时触发 **JSON消息:** @@ -2901,6 +3004,7 @@ type===106 | priority | num | 优先级? | | | basemap_url | str | 进场特效背景 URL | APP 端 | | show_avatar | num | 是否显示用户头像 | 1: 显示
0: 不显示 | +| effective_time | num | ? | | | web_basemap_url | str | 进场特效背景 URL | 网页端 | | web_effective_time | num | 进场特效生存时间 | 网页端 | | web_effect_close | num | ? | | @@ -2916,6 +3020,13 @@ type===106 | web_dynamic_url_webp | str | ? | | | web_dynamic_url_apng | str | ? | | | mobile_dynamic_url_webp | str | ? | | +| wealthy_info | obj | 荣耀等级信息 | | +| new_style | num | ? | | +| is_mystery | bool | ? | | +| uinfo | obj | 用户信息 | | +| full_cartoon_id | num | ? | | +| priority_level | num | ? | | +| wealth_style_info | obj | 荣耀等级样式信息 | | **示例:** @@ -2924,37 +3035,181 @@ type===106 ```json { - "cmd": "ENTRY_EFFECT", - "data": { - "id": 4, - "uid": 489893482, - "target_id": 27717502, - "mock_effect": 0, - "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg", - "privilege_type": 3, - "copy_writing": "欢迎舰长 <%天使雨晰%> 进入直播间", - "copy_color": "#ffffff", - "highlight_color": "#E6FF00", - "priority": 1, - "basemap_url": "https://i0.hdslb.com/bfs/live/mlive/11a6e8eb061c3e715d0a6a2ac0ddea2faa15c15e.png", - "show_avatar": 1, - "effective_time": 2, - "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/11a6e8eb061c3e715d0a6a2ac0ddea2faa15c15e.png", - "web_effective_time": 2, - "web_effect_close": 0, - "web_close_time": 0, - "business": 1, - "copy_writing_v2": "欢迎舰长 <%天使雨晰%> 进入直播间", - "icon_list": [], - "max_delay_time": 7, - "trigger_time": 1673625604373633300, - "identities": 6, - "effect_silent_time": 0, - "effective_time_new": 0, - "web_dynamic_url_webp": "", - "web_dynamic_url_apng": "", - "mobile_dynamic_url_webp": "" - } + "cmd": "ENTRY_EFFECT", + "data": { + "id": 380, + "uid": 31382283, + "target_id": 12892411, + "mock_effect": 0, + "face": "https://i0.hdslb.com/bfs/face/876e30e89faa5672858cc17bdb357362ec96bc29.jpg", + "privilege_type": 0, + "copy_writing": "<%WYCBat%> 来了", + "copy_color": "#F7F7F7", + "highlight_color": "#FFFFFF", + "priority": 1, + "basemap_url": "", + "show_avatar": 0, + "effective_time": 0, + "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/19e7564ed9d466b02f341abfa979c6e38c2ffffb.png", + "web_effective_time": 4, + "web_effect_close": 1, + "web_close_time": 900, + "business": 6, + "copy_writing_v2": "<%WYCBat%> 来了", + "icon_list": [], + "max_delay_time": 7, + "trigger_time": 1748545763327647435, + "identities": 1, + "effect_silent_time": 0, + "effective_time_new": 0, + "web_dynamic_url_webp": "", + "web_dynamic_url_apng": "", + "mobile_dynamic_url_webp": "", + "wealthy_info": { + "uid": 0, + "level": 17, + "level_total_score": 0, + "cur_score": 0, + "upgrade_need_score": 0, + "status": 0, + "dm_icon_key": "" + }, + "new_style": 1, + "is_mystery": false, + "uinfo": { + "uid": 31382283, + "base": { + "name": "WYCBat", + "face": "https://i0.hdslb.com/bfs/face/876e30e89faa5672858cc17bdb357362ec96bc29.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": null, + "official_info": null, + "name_color_str": "" + }, + "medal": null, + "wealth": { + "level": 17, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 0, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "full_cartoon_id": 1802, + "priority_level": 0, + "wealth_style_info": { + "url": "https://i0.hdslb.com/bfs/live/b6f2bf3e27f22b3039594842f0005b05a0dc5dae.png" + } + } +} +``` + +
+ +#### 必须接受的用户进场特效 (ENTRY_EFFECT_MUST_RECEIVE) + +注: 在部分主播进入自己的直播间时下发。 + +结构与 [用户进场特效 (ENTRY_EFFECT)](#用户进场特效-ENTRY_EFFECT) 完全相同。 + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "ENTRY_EFFECT_MUST_RECEIVE", + "data": { + "id": 135, + "uid": 438160221, + "target_id": 438160221, + "mock_effect": 0, + "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg", + "privilege_type": 0, + "copy_writing": "<%weatfe%> 来了", + "copy_color": "#000000", + "highlight_color": "#FFF100", + "priority": 1, + "basemap_url": "https://i0.hdslb.com/bfs/live/mlive/da6933ea70f31c4df63f4b68b735891284888357.png", + "show_avatar": 1, + "effective_time": 1, + "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/da6933ea70f31c4df63f4b68b735891284888357.png", + "web_effective_time": 2, + "web_effect_close": 0, + "web_close_time": 900, + "business": 3, + "copy_writing_v2": "<%weatfe%> 来了", + "icon_list": [], + "max_delay_time": 7, + "trigger_time": 1746031259272981482, + "identities": 1, + "effect_silent_time": 0, + "effective_time_new": 0, + "web_dynamic_url_webp": "", + "web_dynamic_url_apng": "", + "mobile_dynamic_url_webp": "", + "wealthy_info": null, + "new_style": 0, + "is_mystery": false, + "uinfo": { + "uid": 438160221, + "base": { + "name": "weatfe", + "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": null, + "origin_info": null, + "official_info": null, + "name_color_str": "" + }, + "medal": { + "name": "粉丝团", + "level": 11, + "color_start": 9272486, + "color_end": 9272486, + "color_border": 9272486, + "color": 9272486, + "id": 2956282, + "typ": 0, + "is_light": 1, + "ruid": 438160221, + "guard_level": 0, + "score": 16000, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#596FE099", + "v2_medal_color_end": "#596FE099", + "v2_medal_color_border": "#596FE099", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 5, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 0, + "expired_str": "" + }, + "uhead_frame": null, + "guard_leader": null + }, + "full_cartoon_id": 0, + "priority_level": 0, + "wealth_style_info": { + "url": "https://i0.hdslb.com/bfs/live/24f6ef867c3905064136f5c4e33a8d423d41ebdd.png" + } + } } ``` @@ -3470,6 +3725,123 @@ type===106
+#### 礼物星球信息 (WIDGET_WISH_INFO) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `WIDGET_WISH_INFO` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| sid | num | (?) | | +| wish | arr | 礼物需求信息 | | +| jump_url | str | 用户端礼物星球界面 | | +| wish_status | num | 礼物星球状态 | | +| card_text | str | 卡片提示文本 | | +| modal_text | str | 需求标题 | | +| button_text | str | 按钮文本 | | +| show_time | num | 显示时间 | 单位秒 | +| ts | num | 发送时间戳 | Unix秒时间戳 | +| tid | num | (?) | | +| wish_status_info | arr | 状态对照信息 | | +| wish_name | str | 礼物星球名称 | | + +`data.wish` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| gift_id | num | 礼物id | | +| target_num | num | 需求数量 | | +| gift_img | str | 礼物图片URL | | +| gift_price | num | 礼物金瓜子标价 | CNY×1000 | +| gift_name | str | 礼物名称 | | +| wish_status | num | 该礼物达成状态 | | + +`data.wish_status_info` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| wish_status_msg | str | 状态提示信息 | | +| wish_status_img | str | 状态图片URL | | +| wish_status | str | 状态 | | +| wish_status_desc | str | 状态描述 | 不一定存在 | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "WIDGET_WISH_INFO", + "data": { + "sid": 658537, + "wish": [ + { + "gift_id": 31036, + "target_num": 1, + "gift_img": "https://s1.hdslb.com/bfs/live/8b40d0470890e7d573995383af8a8ae074d485d9.png", + "gift_price": 100, + "gift_name": "小花花", + "wish_status": 1 + }, + { + "gift_id": 30758, + "target_num": 1, + "gift_img": "https://s1.hdslb.com/bfs/live/3ddb10b055b9d1826829ec0fad93ab56484d4a90.png", + "gift_price": 100, + "gift_name": "这个好诶", + "wish_status": 1 + }, + { + "gift_id": 31039, + "target_num": 1, + "gift_img": "https://s1.hdslb.com/bfs/live/91ac8e35dd93a7196325f1e2052356e71d135afb.png", + "gift_price": 100, + "gift_name": "牛哇牛哇", + "wish_status": 1 + } + ], + "jump_url": "https://live.bilibili.com/p/html/bilili-page-gift-wishes-mix-planet/user.html?is_live_half_webview=1&hybrid_half_ui=1,3,100p,70p,0,0,30,100,15,0;2,2,375,100p,0,0,30,100,15,0;3,3,100p,70p,0,0,30,100,15,0;4,2,375,100p,0,0,30,100,15,0;5,3,100p,70p,0,0,30,100,15,0;6,3,100p,70p,0,0,30,100,15,0;7,3,100p,70p,0,0,30,100,15,0;8,3,100p,70p,0,0,30,100,15,0", + "wish_status": 1, + "card_text": "主播今日心愿还未完成", + "modal_text": "今日心愿礼物", + "button_text": "去助力", + "show_time": 5, + "ts": 1746257134, + "tid": 6585370000, + "wish_status_info": [ + { + "wish_status_msg": "礼物星球待点亮", + "wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png", + "wish_status": -1 + }, + { + "wish_status_msg": "今日心愿暂未达成", + "wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png", + "wish_status": 1 + }, + { + "wish_status_msg": "今日心愿已达成", + "wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png", + "wish_status": 2, + "wish_status_desc": "已完成" + } + ], + "wish_name": "心愿礼物" + } +} +``` + +
+ #### 下播的直播间 (STOP_LIVE_ROOM_LIST) 注: 估计是更新关注的主播直播状态的 @@ -4388,6 +4760,63 @@ type===106 +#### 语音连麦开关 (VOICE_JOIN_SWITCH) + +在直播姬开关连麦功能时下发。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `VOICE_JOIN_SWITCH` | | +| data | obj | 信息本体 | | +| room_id | num | 直播间id | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| room_id | num | 直播间id | | +| room_status | num | 连麦开关状态 | | +| root_status | num | 连麦开关状态 | | + +**示例:** + +
+查看消息示例: + +开: + +```json +{ + "cmd": "VOICE_JOIN_SWITCH", + "data": { + "room_id": 1899237171, + "room_status": 1, + "root_status": 1 + }, + "room_id": 1899237171 +} +``` + +关: + +```json +{ + "cmd": "VOICE_JOIN_SWITCH", + "data": { + "room_id": 1899237171, + "room_status": 0, + "root_status": 0 + }, + "room_id": 1899237171 +} +``` + +
+ #### 邀请视频连线 (VIDEO_CONNECTION_JOIN_START) **示例:** @@ -4526,12 +4955,47 @@ type===106 +#### ??? (PLAYTOGETHER_ICON_CHANGE) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `PLAYTOGETHER_ICON_CHANGE` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| area_id | num | 直播分区id | | +| has_perm | num | | | +| show_count | num | | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "PLAYTOGETHER_ICON_CHANGE", + "data": { + "area_id": 40, + "has_perm": 0, + "show_count": 0 + } +} +``` + +
+ #### 直播小助手? (ANCHOR_BROADCAST) 第一次达到了某种条件下发。 -已知当在一个分区(中途不能切换)开播时长达到150、180、200、300分钟可能下发,直播间初次被分享1~2次时下发。 - **JSON消息:** 根对象: @@ -4790,3 +5254,473 @@ type===106 ``` + +#### 有人购买主播推荐商品 (GOTO_BUY_FLOW) + +用户昵称会打星号(`*`)显示。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `GOTO_BUY_FLOW` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| text | str | 去购买提示 | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "GOTO_BUY_FLOW", + "data": { + "text": "回**正在去买" + } +} +``` + +
+ +#### 热抢提示 (HOT_BUY_NUM) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `HOT_BUY_NUM` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| num | num | 热抢数量 | | +| goods_id | str | 商品id | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "HOT_BUY_NUM", + "data": { + "num": 81, + "goods_id": "1817875296579985408" + } +} +``` + +
+ +#### 荣耀等级通知 (WEALTH_NOTIFY) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `WEALTH_NOTIFY` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| flag | num | 标志? | | +| info | obj | 信息 | | + +`data.info`: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| effect_key | num | (?) | | +| has_items_changed | num | (?) | | +| level | num | 达到的等级 | | +| send_time | num | 发送时间 | UNIX 毫秒时间戳 | +| status | num | 状态? | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "WEALTH_NOTIFY", + "data": { + "flag": 3, + "info": { + "effect_key": 1073, + "has_items_changed": 1, + "level": 5, + "send_time": 1743337942833, + "status": 1 + } + } +} +``` + +
+ +#### ??? (USER_PANEL_RED_ALARM) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `USER_PANEL_RED_ALARM` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| module | str | (?) | | +| alarm_num | num | (?) | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "USER_PANEL_RED_ALARM", + "data": { + "module": "user_head_dot", + "alarm_num": 1 + } +} +``` + +
+ +#### ??? (GIFT_BOARD_RED_DOT) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `GIFT_BOARD_RED_DOT` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| categoryL1 | str | (?) | 作用尚不明确 | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "GIFT_BOARD_RED_DOT", + "data": { + "categoryL1": "3" + } +} +``` + +
+ +#### 粉丝勋章更新 (MESSAGEBOX_USER_MEDAL_CHANGE) + +升级或点亮时下发。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `MESSAGEBOX_USER_MEDAL_CHANGE` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| type | num | 提示类型 | 1:升级
2:点亮 | +| uid | num | 用户mid | | +| up_uid | num | 主播mid | | +| medal_level | num | 粉丝勋章等级 | | +| medal_name | str | 粉丝勋章名称 | | +| medal_color_start | num | 十进制粉丝勋章起始颜色 | | +| medal_color_end | num | 十进制粉丝勋章结束颜色 | | +| medal_color_border | num | 十进制粉丝勋章边框颜色 | | +| is_lighted | num | 是否点亮? | 1:点亮? | +| is_lighted_v2 | bool | 是否点亮v2? | | +| guard_level | num | 大航海等级 | | +| unlock | num | (?) | | +| unlock_level | num | (?) | | +| multi_unlock_level | str | (?) | | +| upper_bound_content | str | 提示内容 | | +| uinfo_medal | obj | 粉丝勋章信息 | 参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) `data.list[n].uinfo_medal` 对象 | +| effect_id | num | (?) | | + +`data.uinfo_medal` 对象: + +参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) json回复的 `data.list[n].uinfo_medal` 对象。 + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "MESSAGEBOX_USER_MEDAL_CHANGE", + "data": { + "type": 2, + "uid": 438160221, + "up_uid": 407045223, + "medal_level": 3, + "medal_name": "研究猿", + "medal_color_start": 6067854, + "medal_color_end": 6067854, + "medal_color_border": 6067854, + "is_lighted": 1, + "is_lighted_v2": true, + "guard_level": 0, + "unlock": 0, + "unlock_level": 0, + "multi_unlock_level": "", + "upper_bound_content": "", + "uinfo_medal": { + "name": "研究猿", + "level": 3, + "color_start": 6067854, + "color_end": 6067854, + "color_border": 6067854, + "color": 0, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 407045223, + "guard_level": 0, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#5762A799", + "v2_medal_color_end": "#5762A799", + "v2_medal_color_border": "#5762A799", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "effect_id": 1861 + } +} +``` + +
+ +#### 获得粉丝勋章 (MESSAGEBOX_USER_GAIN_MEDAL) + +获得时下发。 + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `MESSAGEBOX_USER_GAIN_MEDAL` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| type | num | 类型 | 0 | +| uid | num | 用户mid | | +| up_uid | num | 主播uid | | +| medal_id | num | 勋章id | | +| medal_name | str | 勋章名称 | | +| medal_level | num | 勋章等级 | | +| medal_color | num | 勋章颜色 | | +| medal_color_start | num | 十进制勋章起始颜色 | | +| medal_color_end | num | 十进制勋章结束颜色 | | +| medal_color_border | num | 十进制勋章边框颜色 | | +| msg_title | str | 消息标题 | | +| msg_content | str | 消息内容 | | +| normal_color | num | (?) | | +| highlight_color | num | (?) | | +| intimacy | num | 当前亲密度 | | +| next_intimacy | num | 升级所需亲密度 | | +| today_feed | num | 今日亲密度 | | +| day_limit | num | 今日亲密度上限 | | +| is_wear | num | (?) | | +| guard_level | num | 大航海等级 | | +| is_received | num | (?) | | +| is_lighted | num | 是否点亮? | 1:点亮? | +| is_lighted_v2 | bool | 是否点亮v2? | | +| toast | str | 提示 | | +| fan_name | str | 粉丝名称 | | +| uinfo_medal | obj | 粉丝勋章信息 | 参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) `data.list[n].uinfo_medal` 对象 | + +`data.uinfo_medal` 对象: + +参见 [指定用户的所有粉丝勋章信息](../user/medals.md#指定用户的所有粉丝勋章信息) json回复的 `data.list[n].uinfo_medal` 对象。 + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "MESSAGEBOX_USER_GAIN_MEDAL", + "data": { + "type": 0, + "uid": 438160221, + "up_uid": 11602644, + "medal_id": 19252517, + "medal_name": "广药", + "medal_level": 1, + "medal_color": 6067854, + "medal_color_start": 6067854, + "medal_color_end": 6067854, + "medal_color_border": 6067854, + "msg_title": "恭喜你获得【WuGuangYao】的粉丝勋章~", + "msg_content": "获得100点亲密度\n你的粉丝勋章达到1级", + "normal_color": 7697781, + "highlight_color": 16478873, + "intimacy": 100, + "next_intimacy": 201, + "today_feed": 100, + "day_limit": 2000, + "is_wear": 0, + "guard_level": 0, + "is_received": 1, + "is_lighted": 1, + "is_lighted_v2": true, + "toast": "成功入团并关注主播,得1级大礼包", + "fan_name": "weatfe", + "uinfo_medal": { + "name": "广药", + "level": 1, + "color_start": 6067854, + "color_end": 6067854, + "color_border": 6067854, + "color": 6067854, + "id": 19252517, + "typ": 0, + "is_light": 1, + "ruid": 11602644, + "guard_level": 0, + "score": 0, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#5762A799", + "v2_medal_color_end": "#5762A799", + "v2_medal_color_border": "#5762A799", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + } + } +} +``` + +
+ +#### 粉丝团戳一戳礼物通知 (FANS_CLUB_POKE_GIFT_NOTICE) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `FANS_CLUB_POKE_GIFT_NOTICE` | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| icon | str | 图标 | | +| uface | str | 头像 | | +| bg_img_url | str | 背景图片 | | +| text | str | 提示文本 | | +| highlight_text | str | 高亮文本? | | +| button_text | str | 按钮文本 | | +| display_duration | num | 显示时间? | | +| room_id | num | 房间号 | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "FANS_CLUB_POKE_GIFT_NOTICE", + "data": { + "icon": "https://i0.hdslb.com/bfs/live/37a2fe03f2af95928c67cbac889e10dab6f7d42a.png", + "uface": "https://i0.hdslb.com/bfs/face/member/noface.jpg", + "bg_img_url": "https://i0.hdslb.com/bfs/live/fbe99002b5914157d783f8e07f021e2fd6ba5c1b.png", + "text": "主播戳了戳你~投喂礼物获5倍亲密度加成", + "highlight_text": "5倍亲密度加成", + "button_text": "去投喂", + "display_duration": 8, + "room_id": 1899237171 + } +} +``` + +
+ +#### ??? (master_qn_strategy_chg) + +**JSON消息:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| cmd | str | `master_qn_strategy_chg` | | +| data | str | 信息本体 | JSON文本 | + +`data` JSON解析后对象: + +| 字段 | 类型 | 内容 | 备注 | +| --- | --- | --- | --- | +| mtime | num | (?) | Unix秒时间戳 | +| scatter | arr | (?) | | + +**示例:** + +
+查看消息示例: + +```json +{ + "cmd": "master_qn_strategy_chg", + "data": "{\"mtime\":1744380444,\"scatter\":[0,300]}" +} +``` + +
diff --git a/docs/live/user.md b/docs/live/user.md index 9a6fb5f..560998e 100644 --- a/docs/live/user.md +++ b/docs/live/user.md @@ -1,6 +1,6 @@ # 直播间用户实用 API -## 获取用户持有的粉丝勋章信息 +## 获取自己持有的粉丝勋章信息 > ~~https://api.live.bilibili.com/fans_medal/v5/live_fans_medal/iApiMedal~~ (旧) > https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals @@ -20,12 +20,12 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------------------------------- | | code | num | 返回值 | 0:成功
-1002002:参数异常
-500:服务器异常 | -| message | str | 错误信息 | 默认为 "0" | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 "0" | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -44,7 +44,7 @@ | guard_level | num | | | | guard_medal_title | str | 加成状态 | | | intimacy | num | 当前已得亲密度 | | -| is_lighted | num | 是否点亮 | 0:未点亮
1:点亮 | +| is_lighted | num | 是否点亮 | 0:未点亮
1:点亮 | | level | num | 勋章等级 | | | medal_name | str | 勋章名 | | | medal_color_border | num | 勋章边框颜色信息 | 颜色数值为 10 进制的 16 进制值(下同) | @@ -116,6 +116,7 @@ curl https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals?page=1& + ## 佩戴勋章 > https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear @@ -193,12 +194,12 @@ _请求方式:GET_ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------ | | code | num | 返回值 | 0:成功
1:参数错误 | -| ttl | num | 1 | | -| message | str | 错误信息 | 默认为当日签到奖励内容 | -| data | obj | 信息本体 | 默认为空 | +| ttl | num | 1 | | +| message | str | 错误信息 | 默认为当日签到奖励内容 | +| data | obj | 信息本体 | 默认为空 | (目前已下线) @@ -229,29 +230,29 @@ _请求方式:GET_ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | | code | num | 返回值 | 0:成功 | -| ttl | num | 1 | | +| ttl | num | 1 | | | message | str | 错误信息 | 默认为0 | -| data | obj | 信息本体 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------------- | ----- | ---------------------------- | ---------------------- | -| text | str | 今日签到奖励信息 | 默认为空 | -| specialText | str | 连续签到奖励信息 | 默认为空 | +| 字段 | 类型 | 内容 | 备注 | +| ----------------- | ----- | ---------------------------- | ------------------------ | +| text | str | 今日签到奖励信息 | 默认为空 | +| specialText | str | 连续签到奖励信息 | 默认为空 | | status | num | 签到状态 | 0:未签到
1:已签到 | -| allDays | num | 当月天数 | | -| curMonth | num | 当前月 | | -| curYear | num | 当前年 | | -| curDay | num | 当前日 | | -| curData | str | 当前日期(格式化) | eg: 2023-2-19 | -| hadSignDays | num | 当月已签到天数 | 默认为0 | -| newTask | num | 作用未知 | 默认为0 | -| signDaysList | array | 当月已签到日列表 | 默认为空 | -| signBonusDaysList | array | 当月已签到且有特殊奖励日列表 | 默认为空 | +| allDays | num | 当月天数 | | +| curMonth | num | 当前月 | | +| curYear | num | 当前年 | | +| curDay | num | 当前日 | | +| curData | str | 当前日期(格式化) | eg: 2023-2-19 | +| hadSignDays | num | 当月已签到天数 | 默认为0 | +| newTask | num | 作用未知 | 默认为0 | +| signDaysList | array | 当月已签到日列表 | 默认为空 | +| signBonusDaysList | array | 当月已签到且有特殊奖励日列表 | 默认为空 |
查看响应示例: @@ -308,12 +309,12 @@ _请求方式:GET_ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------- | | code | num | 返回值 | 0:成功 | -| ttl | num | 1 | | +| ttl | num | 1 | | | message | str | 错误信息 | 默认为0 | -| data | obj | 信息本体 | | +| data | obj | 信息本体 | | `data`对象: @@ -368,3 +369,880 @@ _请求方式:GET_ ```
+ +## 查询直播间贡献榜 + +> https://api.live.bilibili.com//xlive/general-interface/v1/rank/getOnlineGoldRank + +*请求方式:GET* + +认证方式:无 + +**url 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | -------------- | ------ | ------ | +| roomId | num | 房间号 | 必要 | | +| page | num | 返回结果页数 | 必要 | | +| pageSize | num | 返回结果页大小 | 必要 | 最大50 | +| ruid | num | 主播uid | 必要 | | + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | num | 返回值 | | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | + + + + + +`data`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ----- | ------------ | ---- | +| onlineNum | num | 在线观众数量 | | +| OnlineRankItem | array | 结果 | | | + +`OnlineRankItem`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ---- | ------------ | ---- | +| userRank | num | 贡献值排名 | | +| uid | num | 用户id | | | +| name | str | 用户名字 | | | +| face | str | 用户头像 | | | +| score | num | 贡献值 | | | +| medalInfo | obj | 粉丝牌对象 | | | +| guard_level | num | 大航海类型 | | | +| wealth_level | num | 荣耀等级 | | | +| guard_level | num | 大航海类型 | | | +| uinfo | obj | 用户详细信息 | | | + +`uinfo`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------ | ---- | +| uid | num | 用户uid | | +| base | obj | 用户基本信息 | | | +| medal | obj | 用户粉丝牌 | | | +| face | str | 用户头像 | | | +| guard | obj | 大航海 | | | + +`guard`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------------- | ---- | +| level | num | 大航海类型 | | +| expired_str | str | 大航海到期时间 | | | + + +**示例:** + +查询`23174842`直播间的大航海成员 + + +```shell +curl 'https://api.live.bilibili.com//xlive/general-interface/v1/rank/getOnlineGoldRank?roomId=26854650&ruid=3493118494116797&page=3&pageSize=20' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "onlineNum": 45, + "OnlineRankItem": [ + { + "userRank": 1, + "uid": 36136895, + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg", + "score": 3768, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 2951253, + "medalColorEnd": 10329087, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 29, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 41, + "is_mystery": false, + "uinfo": { + "uid": 36136895, + "base": { + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg" + }, + "origin_info": { + "name": "四月hallu", + "face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 29, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 6809855, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50422604, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": { + "level": 41, + "dm_icon_key": "ChronosWealth_4.png" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-07-07 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 2, + "uid": 1182882611, + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg", + "score": 1546, + "medalInfo": { + "guardLevel": 0, + "medalColorStart": 12632256, + "medalColorEnd": 12632256, + "medalColorBorder": 12632256, + "medalName": "雪狐咕", + "level": 24, + "targetId": 477792, + "isLight": 0 + }, + "guard_level": 3, + "wealth_level": 22, + "is_mystery": false, + "uinfo": { + "uid": 1182882611, + "base": { + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg" + }, + "origin_info": { + "name": "重生指令", + "face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "雪狐咕", + "level": 24, + "color_start": 12632256, + "color_end": 12632256, + "color_border": 12632256, + "color": 1725515, + "id": 0, + "typ": 0, + "is_light": 0, + "ruid": 477792, + "guard_level": 0, + "score": 50010220, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#919298CC", + "v2_medal_color_end": "#919298CC", + "v2_medal_color_border": "#919298CC", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C6C7299", + "user_receive_count": 0 + }, + "wealth": { + "level": 22, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-29 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 3, + "uid": 35007043, + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg", + "score": 1543, + "medalInfo": { + "guardLevel": 2, + "medalColorStart": 2951253, + "medalColorEnd": 10329087, + "medalColorBorder": 16771156, + "medalName": "钢板鹿", + "level": 29, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 2, + "wealth_level": 40, + "is_mystery": false, + "uinfo": { + "uid": 35007043, + "base": { + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg" + }, + "origin_info": { + "name": "_单推哈鹿halluの狐狸", + "face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 29, + "color_start": 2951253, + "color_end": 10329087, + "color_border": 16771156, + "color": 2951253, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 2, + "score": 50360413, + "guard_icon": "https://i0.hdslb.com/bfs/live/98a201c14a64e860a758f089144dcf3f42e7038c.png", + "honor_icon": "", + "v2_medal_color_start": "#9660E5CC", + "v2_medal_color_end": "#9660E5CC", + "v2_medal_color_border": "#D47AFFFF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#6C00A099", + "user_receive_count": 0 + }, + "wealth": { + "level": 40, + "dm_icon_key": "ChronosWealth_4.png" + }, + "title": null, + "guard": { + "level": 2, + "expired_str": "2025-07-30 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 7, + "uid": 44152084, + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg", + "score": 324, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 398668, + "medalColorEnd": 6850801, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 26, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 32, + "is_mystery": false, + "uinfo": { + "uid": 44152084, + "base": { + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg" + }, + "origin_info": { + "name": "_柚_子_hallu", + "face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 26, + "color_start": 398668, + "color_end": 6850801, + "color_border": 6809855, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50057285, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 32, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-27 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 8, + "uid": 8242366, + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg", + "score": 276, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 398668, + "medalColorEnd": 6850801, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 28, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 35, + "is_mystery": false, + "uinfo": { + "uid": 8242366, + "base": { + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg" + }, + "origin_info": { + "name": "翟赧hallu", + "face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 28, + "color_start": 398668, + "color_end": 6850801, + "color_border": 6809855, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50208414, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 35, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-08-05 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 9, + "uid": 418232, + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif", + "score": 171, + "medalInfo": { + "guardLevel": 3, + "medalColorStart": 398668, + "medalColorEnd": 6850801, + "medalColorBorder": 6809855, + "medalName": "钢板鹿", + "level": 26, + "targetId": 3493118494116797, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 28, + "is_mystery": false, + "uinfo": { + "uid": 418232, + "base": { + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif" + }, + "origin_info": { + "name": "lug7", + "face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "钢板鹿", + "level": 26, + "color_start": 398668, + "color_end": 6850801, + "color_border": 6809855, + "color": 398668, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493118494116797, + "guard_level": 3, + "score": 50050050, + "guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png", + "honor_icon": "", + "v2_medal_color_start": "#4775EFCC", + "v2_medal_color_end": "#4775EFCC", + "v2_medal_color_border": "#58A1F8FF", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 28, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-15 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 10, + "uid": 452228643, + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg", + "score": 35, + "medalInfo": { + "guardLevel": 0, + "medalColorStart": 6126494, + "medalColorEnd": 6126494, + "medalColorBorder": 6126494, + "medalName": "牧斯", + "level": 6, + "targetId": 3493087074585126, + "isLight": 1 + }, + "guard_level": 3, + "wealth_level": 35, + "is_mystery": false, + "uinfo": { + "uid": 452228643, + "base": { + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg" + }, + "origin_info": { + "name": "很糊的小龔鬱hallu", + "face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": { + "name": "牧斯", + "level": 6, + "color_start": 6126494, + "color_end": 6126494, + "color_border": 6126494, + "color": 6126494, + "id": 0, + "typ": 0, + "is_light": 1, + "ruid": 3493087074585126, + "guard_level": 0, + "score": 3400, + "guard_icon": "", + "honor_icon": "", + "v2_medal_color_start": "#5866C799", + "v2_medal_color_end": "#5866C799", + "v2_medal_color_border": "#5866C799", + "v2_medal_color_text": "#FFFFFFFF", + "v2_medal_color_level": "#000B7099", + "user_receive_count": 0 + }, + "wealth": { + "level": 35, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-06-19 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + { + "userRank": 11, + "uid": 164871173, + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg", + "score": 26, + "medalInfo": null, + "guard_level": 3, + "wealth_level": 36, + "is_mystery": false, + "uinfo": { + "uid": 164871173, + "base": { + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg", + "name_color": 0, + "is_mystery": false, + "risk_ctrl_info": { + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg" + }, + "origin_info": { + "name": "奶浴-bllss", + "face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg" + }, + "official_info": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "name_color_str": "" + }, + "medal": null, + "wealth": { + "level": 36, + "dm_icon_key": "" + }, + "title": null, + "guard": { + "level": 3, + "expired_str": "2025-07-20 23:59:59" + }, + "uhead_frame": null, + "guard_leader": null + } + }, + ], + "ownInfo": { + "uid": 0, + "name": "", + "face": "", + "rank": -1, + "needScore": 0, + "score": 0, + "guard_level": 0, + "wealth_level": 0, + "is_mystery": false, + "uinfo": null + }, + "tips_text": "投喂、点赞、发弹幕、持续观看均可上榜", + "value_text": "贡献值", + "ab": { + "guard_accompany_list": 1 + }, + "onlineNumText": "45" + } +} +``` +
+ +## 查询自己在某直播间观看时长 + +> https://api.live.bilibili.com/xlive/general-interface/v1/guard/GuardActive + +*请求方式:GET* + +认证方式:Cookie(SESSDATA)或 APP + +**url 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ------- | ------ | ---- | +| platform | str | android | 必要 | | +| ruid | num | 主播uid | 必要 | | + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | num | 返回值 | | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + + + + + +`data`中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------------- | ----------------------------- | +| ruid | num | 主播uid | | +| rusername | str | 主播用户名 | | +| rface | str | 主播头像 | | +| username | str | 自己的用户名 | | +| accomany | int | 大航海陪伴天数 | 似乎b站程序员把这个单词拼错了 | +| rusername | str | 主播用户名 | | +| watch_time | num | 观看时长 | 单位是秒 | +| up_medal | obj | 粉丝牌 | | +| guard_num_3 | num | 主播舰长数量 | +| guard_num_2 | num | 主播提督数量 | | +| guard_num_1 | num | 主播总督数量 | | +| is_live | num | 直播状态 | | + + + +## 查询用户在直播间的信息 + +> https://api.live.bilibili.com/xlive/app-ucenter/v2/card/user + +*请求方式:GET* + +认证方式:无 + +**url 参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------- | ------ | ---- | +| uid | num | 目标用户uid | 必要 | | +| ruid | num | 主播uid | 必要 | | + +**json 回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---- | +| code | num | 返回值 | | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | + + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------------ | ------------------------------ | +| uid | num | 目标用户id | | +| uname | str | 目标用户名 | | +| desc | str | 目标用户认证信息 | | +| face | str | 目标用户头像 | | +| follow_num | num | 目标用户粉丝数 | | +| attention_num | num | 目标用户关注数 | +| main_vip | num | 目标用户大会员状态 | 0:无 2:大会员 | +| is_block | num | 是否被拉黑? | 始终为0? | +| is_admin | num | 是否房管 | | +| is_black | num | 是否被关小黑屋 | | +| wealth_info | obj | 荣耀等级 | | +| fans_medal | obj | 粉丝牌 | 如果目标用户隐藏粉丝牌则为null | + +`wealth_info`对象: +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | -------------------------- | ---- | +| level | num | 荣耀等级 | | +| level_total_score | num | 下一等级的荣耀值 | | +| cur_score | num | 当前荣耀值 | | +| upgrade_need_score | num | 升到下一等级还差多少荣耀值 | | + +**示例:** + +```shell +curl 'https://api.live.bilibili.com/xlive/app-ucenter/v2/card/user?ruid=504140200&uid=504140200' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "uid": 504140200, + "uname": "软软riu", + "face": "https://i1.hdslb.com/bfs/face/2d083d686b704eb7010e3d94595d47f5a89c8aef.jpg", + "verify_type": 0, + "desc": "bilibili UP主认证:bilibili 知名虚拟UP主、直播高能主播", + "uname_color": 2171169, + "room_id": 23174842, + "pendant": "https://i1.hdslb.com/bfs/garb/open/8806f97581082d68edcf2207368290b3fb3491bb.png", + "pendant_from": 2, + "follow_num": 214882, + "attention_num": 202, + "relation_status": 1, + "privilege_type": 3, + "fans_medal": null, + "title_sum": 10, + "wearing_title": "", + "main_vip": 0, + "is_block": 0, + "is_admin": 0, + "fans_medal_list_url": "https://live.bilibili.com/p/html/live-fansmedal-wall/index.html?tId=504140200#/medal", + "wearing": {}, + "is_black": 0, + "admin_level": 0, + "head_picture": "http://i0.hdslb.com/bfs/live/3f536f59e337a731c5367f623bca79b32197ddd5.png", + "head_text": "大航海舰长", + "head_url": "", + "head_business": 1, + "head_skin_icon": "http://i0.hdslb.com/bfs/live/d44e103f424f5ae01ef3d0133ef812f8241d15b0.png", + "privilege_center": {}, + "is_nft": 0, + "nft_dmark": "https://i0.hdslb.com/bfs/live/9f176ff49d28c50e9c53ec1c3297bd1ee539b3d6.gif", + "is_real_fans": false, + "wealth_info": { + "uid": 504140200, + "level": 35, + "level_total_score": 6000000, + "cur_score": 5012900, + "upgrade_need_score": 987100, + "status": 1, + "dm_icon_key": "" + }, + "guard": { + "accompany": 0, + "accompany_slake": 0 + }, + "chat_url_android": "activity://im/conversation/?conversation_type=1&reciveid=504140200", + "chat_url_ios": "bilibili://link/chat?session_id=s504140200", + "gift_star": null, + "is_mystery": false, + "text_control": null, + "uinfo_medal": null, + "guard_attire": {}, + "flash_buy": 0, + "flash_buy_url": "" + } +} +``` +
\ No newline at end of file diff --git a/docs/message/msg.md b/docs/message/msg.md index 8e368db..488b8cc 100644 --- a/docs/message/msg.md +++ b/docs/message/msg.md @@ -32,20 +32,20 @@ `data` 对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | ------------------ | -------------------------- | -| at | num | 未读at数 | | -| chat | num | 0 | 仅旧接口,**作用尚不明确** | -| coin | num | 未读投币数 | | -| danmu | num | 未读弹幕数 | | -| favorite | num | 未读收藏数 | | -| like | num | 未读点赞数 | | -| recv_like | num | 未读点赞数 | 同 `like` | -| recv_reply | num | 未读回复数 | 同 `reply` | -| reply | num | 未读回复数 | | -| sys_msg | num | 未读系统通知数 | | -| sys_msg_style | num | 1 | 仅新接口, **作用尚不明确** | -| up | num | 未读UP主助手信息数 | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | -------------------- | --------------------------- | +| at | num | 未读at数(旧) | | +| chat | num | 0 | 仅旧接口,**作用尚不明确** | +| coin | num | 未读投币数 | | +| danmu | num | 未读弹幕数 | | +| favorite | num | 未读收藏数 | | +| like | num | 未读点赞数(旧) | | +| recv\_like | num | 未读收到喜欢数(新) | 同 `like` | +| recv\_reply | num | 未读回复与@数(新) | 即 `reply` 与 `at` 的值之和 | +| reply | num | 未读回复数(旧) | | +| sys\_msg | num | 未读系统通知数 | | +| sys\_msg\_style | num | 1 | 仅新接口, **作用尚不明确** | +| up | num | 未读UP主助手信息数 | | **示例:** @@ -82,3 +82,177 @@ curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \ ``` + + +## 获取"回复我的"信息 + +> + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + +**URL参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ---------------- | ------ | ------------- | +| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 | +| id | num | 起始 id | 非必要 | 详情见返回 | +| reply_time | num | 起始时间 | 非必要 | 详情见返回 | +| platform | str | 平台标识 | 非必要 | 可为 `web` 等 | +| web_location | str | 暂时不知道是啥 | 非必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------ | ----- | ----------- | ------------------------------ | +| cursor | obj | 光标 | 下一次查询的指针 | +| items | array | 通知列表 | 数组,每个元素代表一条回复通知 | +| last_view_at | num | unix 时间戳 | 上次查看的时间 | + +`cursor` 对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------ | ---- | ----------- | ---------------------------------------------- | +| is_end | bool | 是否结束 | `false` 表示还有更多数据 | +| id | num | 通知 id | 最后(旧)一条通知的 id,用作下次查询的起始 id | +| time | num | unix 时间戳 | 最后一条通知的时间 | + +`items` 数组中的对象(每条通知): + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | -------------------- | ---------------------------- | +| id | num | 通知 id | | +| user | obj | **回复者**的用户信息 | | +| item | obj | 通知详情 | | +| counts | num | 通知计数 | 固定为 `1`,可能表示单条通知 | +| is_multi | num | 是否多回复 | 固定为 `0`,可能表示单条回复 | +| reply_time | num | unix 时间戳 | 回复时间 | + +`user` 对象(回复者信息): + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | -------------- | ------------------------------ | +| mid | num | 用户 mid | | +| fans | num | 粉丝数 | 固定为 `0`,可能不返回实际数据 | +| nickname | str | 用户昵称 | | +| avatar | str | 头像 URL | | +| mid_link | str | 用户主页链接 | 固定为空字符串 | +| follow | bool | 是否关注该用户 | `false` 表示未关注 | + +`item` 对象(通知详情): + +| 字段 | 类型 | 内容 | 备注 | +| -------------------- | ----- | ---------------- | ----------------------------- | +| subject_id | num | 主体 id | | +| root_id | num | 根评论 id | 最顶层的评论 ID | +| source_id | num | 源评论 id | 直接回复的评论 ID | +| target_id | num | 目标评论 id | 被回复的评论 ID | +| type | str | 通知类型 | 固定为 `"reply"`(回复类型) | +| business_id | num | 业务类型 id | `1`=视频评论,`11`=动态评论 | +| business | str | 业务名称 | `"评论"` 或 `"视频"` | +| title | str | 通知标题 | 摘要文本 | +| desc | str | 描述 | 固定为空字符串 | +| image | str | 图片 URL | 固定为空字符串 | +| uri | str | 跳转链接 | web 端跳转链接 | +| native_uri | str | 客户端跳转链接 | 客户端专用跳转链接 | +| detail_title | str | 详细标题 | 固定为空字符串 | +| root_reply_content | str | 根评论内容 | 最顶层评论的文本内容 | +| source_content | str | 源评论内容 | 直接回复的评论内容 | +| target_reply_content | str | 目标评论内容 | 被回复的评论内容 | +| at_details | array | @的用户列表 | 数组,每个元素是被@的用户对象 | +| topic_details | array | 话题详情 | 固定为空数组 | +| hide_reply_button | bool | 是否隐藏回复按钮 | | +| hide_like_button | bool | 是否隐藏点赞按钮 | | +| like_state | num | 点赞状态 | `0`=未点赞 | +| danmu | null | 弹幕信息 | 固定为 `null` | +| message | str | 消息内容 | 固定为空字符串 | + +`at_details` 数组中的对象(被@的用户): + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | -------------- | ------------------ | +| mid | num | 用户 mid | | +| fans | num | 粉丝数 | 固定为 `0` | +| nickname | str | 用户昵称 | | +| avatar | str | 头像 URL | | +| mid_link | str | 用户主页链接 | 固定为空字符串 | +| follow | bool | 是否关注该用户 | `false` 表示未关注 | + +**示例:** + +```shell +curl 'https://api.bilibili.com/x/msgfeed/reply' \ + -b 'SESSDATA=xxx' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "data": { + "cursor": { + "is_end": true, + "id": 823260581625886, + "time": 1749474709 + }, + "items": [{ + "id": 823260581625886, + "user": { + "mid": 3546910497441845, + "fans": 0, + "nickname": "佘总累了", + "avatar": "https://i2.hdslb.com/bfs/face/e45c62bd47729e07dd01a788988be865ed3d210e.jpg", + "mid_link": "", + "follow": false + }, + "item": { + "subject_id": 1073543151725051921, + "root_id": 0, + "source_id": 265141324256, + "target_id": 0, + "type": "dynamic", + "business_id": 17, + "business": "动态", + "title": "我已成为哔哩哔哩第245743680位转正会员,挑战转正答题考试获得60分。", + "desc": "", + "image": "", + "uri": "https://www.bilibili.com/opus/1073543151725051921#reply265141324256", + "native_uri": "bilibili://opus/detail/1073543151725051921?comment_root_id=265141324256&comment_on=1", + "detail_title": "", + "root_reply_content": "", + "source_content": "60", + "target_reply_content": "", + "at_details": [], + "topic_details": [], + "hide_reply_button": false, + "hide_like_button": false, + "like_state": 0, + "danmu": null, + "message": "" + }, + "counts": 1, + "is_multi": 0, + "reply_time": 1749474709 + }], + "last_view_at": 1749474724 + } +} +``` + +
diff --git a/docs/message/settings.md b/docs/message/settings.md index e94ca6e..5bedfb3 100644 --- a/docs/message/settings.md +++ b/docs/message/settings.md @@ -50,7 +50,7 @@ | recommend_followed_reply | num | 被关注时自动推送作品 | 0:关闭
1:开启 | | ai_intercept | num | 私信智能拦截 | 0:关闭
1:开启 | | anti_harassment | null | 防骚扰和互动人群设置 | 此接口恒返回 `null` | -| set_recv_reply | num | 收到回复提醒(新) | 0:所有人
1:关注的人
2:不接受任何消息提醒 | +| set_recv_reply | num | 回复与@提醒(新) | 0:所有人
1:关注的人
2:不接受任何消息提醒 | | set_recv_like | num | 收到喜欢提醒(新) | 0:接收
2:不接收 | | set_new_follow | num | 新增粉丝提醒(新) | 0:接收
2:不接收 | diff --git a/docs/user/info.md b/docs/user/info.md index 3532f1b..9a694e4 100644 --- a/docs/user/info.md +++ b/docs/user/info.md @@ -26,56 +26,56 @@ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-400:请求错误
-403:访问权限不足
-404:用户不存在(如注销账号) | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------------- | ---- | ---------------- | ------------------------------------------------------------ | -| mid | num | mid | | -| name | str | 昵称 | | -| sex | str | 性别 | 男/女/保密 | -| face | str | 头像链接 | | -| face_nft | num | 是否为 NFT 头像 | 0:不是 NFT 头像
1:是 NFT 头像 | -| face_nft_type | num | NFT 头像类型? | | -| sign | str | 签名 | | -| rank | num | 用户权限等级 | 目前应该无任何作用
5000:0级未答题
10000:普通会员
20000:字幕君
25000:VIP
30000:真·职人
32000:管理员 | -| level | num | 当前等级 | 0-6 级 | -| jointime | num | 注册时间 | 此接口返回恒为`0` | -| moral | num | 节操值 | 此接口返回恒为`0` | -| silence | num | 封禁状态 | 0:正常
1:被封 | -| coins | num | 硬币数 | 需要登录(Cookie)
只能查看自己的
默认为`0` | -| fans_badge | bool | 是否具有粉丝勋章 | false:无
true:有 | -| fans_medal | obj | 粉丝勋章信息 | | -| official | obj | 认证信息 | | -| vip | obj | 会员信息 | | -| pendant | obj | 头像框信息 | | -| nameplate | obj | 勋章信息 | | -| user_honour_info | obj | (?) | | -| is_followed | bool | 是否关注此用户 | true:已关注
false:未关注
需要登录(Cookie)
未登录恒为`false` | -| top_photo | str | 主页头图链接 | | -| theme | obj | (?) | | -| sys_notice | obj | 系统通知 | 无内容则为空对象
主要用于展示如用户争议、纪念账号等等的小黄条 | -| live_room | obj | 直播间信息 | | -| birthday | str | 生日 | MM-DD
如设置隐私为空 | -| school | obj | 学校 | | -| profession | obj | 专业资质信息 | | -| tags | 有效时:array
无效时:null | 个人标签 | | -| series | obj | (?) | | -| is_senior_member | num | 是否为硬核会员 | 0:否
1:是 | -| mcn_info | null | (?) | | -| gaia_res_type | num | (?) | | -| gaia_data | null | (?) | | -| is_risk | bool | (?) | | -| elec | obj | 充电信息 | | -| contract | obj | 是否显示老粉计划 | | -| certificate_show | bool | (?) | | -| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ---------------- | ------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| mid | num | mid | | +| name | str | 昵称 | | +| sex | str | 性别 | 男/女/保密 | +| face | str | 头像链接 | | +| face_nft | num | 是否为 NFT 头像 | 0:不是 NFT 头像
1:是 NFT 头像 | +| face_nft_type | num | NFT 头像类型? | | +| sign | str | 签名 | | +| rank | num | 用户权限等级 | 目前应该无任何作用
5000:0级未答题
10000:普通会员
20000:字幕君
25000:VIP
30000:真·职人
32000:管理员 | +| level | num | 当前等级 | 0-6 级 | +| jointime | num | 注册时间 | 此接口返回恒为`0` | +| moral | num | 节操值 | 此接口返回恒为`0` | +| silence | num | 封禁状态 | 0:正常
1:被封 | +| coins | num | 硬币数 | 需要登录(Cookie)
只能查看自己的
默认为`0` | +| fans_badge | bool | 是否具有粉丝勋章 | false:无
true:有 | +| fans_medal | obj | 粉丝勋章信息 | | +| official | obj | 认证信息 | | +| vip | obj | 会员信息 | | +| pendant | obj | 头像框信息 | | +| nameplate | obj | 勋章信息 | | +| user_honour_info | obj | (?) | | +| is_followed | bool | 是否关注此用户 | true:已关注
false:未关注
需要登录(Cookie)
未登录恒为`false` | +| top_photo | str | 主页头图链接 | | +| theme | obj | (?) | | +| sys_notice | obj | 系统通知 | 无内容则为空对象
主要用于展示如用户争议、纪念账号等等的小黄条 | +| live_room | obj | 直播间信息 | | +| birthday | str | 生日 | MM-DD
如设置隐私为空 | +| school | obj | 学校 | | +| profession | obj | 专业资质信息 | | +| tags | 有效时:array
无效时:null | 个人标签 | | +| series | obj | (?) | | +| is_senior_member | num | 是否为硬核会员 | 0:否
1:是 | +| mcn_info | null | (?) | | +| gaia_res_type | num | (?) | | +| gaia_data | null | (?) | | +| is_risk | bool | (?) | | +| elec | obj | 充电信息 | | +| contract | obj | 是否显示老粉计划 | | +| certificate_show | bool | (?) | | +| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | `rank`示例 @@ -106,13 +106,13 @@ `profession`示例 -| UID | -| ---------- | -| 654391 | -| 1440295 | -| 1785155 | -| 2990100 | -| 3875803 | +| UID | +| ------- | +| 654391 | +| 1440295 | +| 1785155 | +| 2990100 | +| 3875803 | `data`中的`official`对象: @@ -125,44 +125,44 @@ `data`中的`vip`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------------------- | ---- | ------------------ | ------------------------------------------------------------ | -| type | num | 会员类型 | 0:无
1:月大会员
2:年度及以上大会员 | -| status | num | 会员状态 | 0:无
1:有 | -| due_date | num | 会员过期时间 | 毫秒时间戳 | -| vip_pay_type | num | 支付类型 | 0:未开启自动续费
1:已开启自动续费 | -| theme_type | num | 0 | 作用尚不明确 | -| label | obj | 会员标签 | | -| avatar_subscript | num | 是否显示会员图标 | 0:不显示
1:显示 | -| nickname_color | str | 会员昵称颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | +| 字段 | 类型 | 内容 | 备注 | +| -------------------- | ---- | ------------------ | -------------------------------------------------------------------- | +| type | num | 会员类型 | 0:无
1:月大会员
2:年度及以上大会员 | +| status | num | 会员状态 | 0:无
1:有 | +| due_date | num | 会员过期时间 | 毫秒时间戳 | +| vip_pay_type | num | 支付类型 | 0:未开启自动续费
1:已开启自动续费 | +| theme_type | num | 0 | 作用尚不明确 | +| label | obj | 会员标签 | | +| avatar_subscript | num | 是否显示会员图标 | 0:不显示
1:显示 | +| nickname_color | str | 会员昵称颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | | role | num | 大角色类型 | 1:月度大会员
3:年度大会员
7:十年大会员
15:百年大会员 | -| avatar_subscript_url | str | 大会员角标地址 | | -| tv_vip_status | num | 电视大会员状态 | 0:未开通 | -| tv_vip_pay_type | num | 电视大会员支付类型 | | -| tv_due_date | num | 电视大会员过期时间 | 秒级时间戳 | -| avatar_icon | obj | 大会员角标信息 | | +| avatar_subscript_url | str | 大会员角标地址 | | +| tv_vip_status | num | 电视大会员状态 | 0:未开通 | +| tv_vip_pay_type | num | 电视大会员支付类型 | | +| tv_due_date | num | 电视大会员过期时间 | 秒级时间戳 | +| avatar_icon | obj | 大会员角标信息 | | `vip`中的`label`对象: -| 字段 | 类型 | 内容 | 备注 | -|---------------------------|------|----------|------------------------------------------------------------------------------------------------------------------------------| -| path | str | 空 | 作用尚不明确 | -| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` | -| label_theme | str | 会员标签 | vip:大会员
annual_vip:年度大会员
ten_annual_vip:十年大会员
hundred_annual_vip:百年大会员
fools_day_hundred_annual_vip:最强绿鲤鱼 | -| text_color | str | 会员标签 | | -| bg_style | num | 1 | | -| bg_color | str | 会员标签背景颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | -| border_color | str | 会员标签边框颜色 | 未使用 | -| use_img_label | bool | `true` | | -| img_label_uri_hans | str | `空串` | | -| img_label_uri_hant | str | `空串` | | -| img_label_uri_hans_static | str | 大会员牌子图片 | 简体版 | -| img_label_uri_hant_static | str | 大会员牌子图片 | 繁体版 | +| 字段 | 类型 | 内容 | 备注 | +| ------------------------- | ---- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| path | str | 空 | 作用尚不明确 | +| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` | +| label_theme | str | 会员标签 | vip:大会员
annual_vip:年度大会员
ten_annual_vip:十年大会员
hundred_annual_vip:百年大会员
fools_day_hundred_annual_vip:最强绿鲤鱼 | +| text_color | str | 会员标签 | | +| bg_style | num | 1 | | +| bg_color | str | 会员标签背景颜色 | 颜色码,一般为`#FB7299`,曾用于愚人节改变大会员配色 | +| border_color | str | 会员标签边框颜色 | 未使用 | +| use_img_label | bool | `true` | | +| img_label_uri_hans | str | `空串` | | +| img_label_uri_hant | str | `空串` | | +| img_label_uri_hans_static | str | 大会员牌子图片 | 简体版 | +| img_label_uri_hant_static | str | 大会员牌子图片 | 繁体版 | `vip`中的`avatar_icon`对象: | 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ------ | ------------ | +| ------------- | ---- | ------ | ------------ | | icon_type | num | (?) | 作用尚不明确 | | icon_resource | obj | (?) | 作用尚不明确 | @@ -195,117 +195,117 @@ `data`中的`fans_medal`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------|------|-----------|-----| -| show | bool | | | -| wear | bool | 是否佩戴了粉丝勋章 | | -| medal | obj | 粉丝勋章信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------------ | ---- | +| show | bool | | | +| wear | bool | 是否佩戴了粉丝勋章 | | +| medal | obj | 粉丝勋章信息 | | `fans_medal`中的`medal`对象: -| 字段 | 类型 | 内容 | 备注 | -|--------------------|-----|--------------|------------------| -| uid | num | 此用户mid | | -| target_id | num | 粉丝勋章所属UP的mid | | -| medal_id | num | 粉丝勋章id | | -| level | num | 粉丝勋章等级 | | -| medal_name | str | 粉丝勋章名称 | | -| medal_color | num | 颜色 | | -| intimacy | num | 当前亲密度 | | -| next_intimacy | num | 下一等级所需亲密度 | | -| day_limit | num | 每日亲密度获取上限 | | -| today_feed | num | 今日已获得亲密度 | | -| medal_color_start | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | -| medal_color_end | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | -| medal_color_border | num | 粉丝勋章边框颜色 | 十进制数,可转为十六进制颜色代码 | -| is_lighted | num | | | -| light_status | num | | | -| wearing_status | num | 当前是否佩戴 | 0:未佩戴
1:已佩戴 | -| score | num | | | +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ---- | ------------------- | -------------------------------- | +| uid | num | 此用户mid | | +| target_id | num | 粉丝勋章所属UP的mid | | +| medal_id | num | 粉丝勋章id | | +| level | num | 粉丝勋章等级 | | +| medal_name | str | 粉丝勋章名称 | | +| medal_color | num | 颜色 | | +| intimacy | num | 当前亲密度 | | +| next_intimacy | num | 下一等级所需亲密度 | | +| day_limit | num | 每日亲密度获取上限 | | +| today_feed | num | 今日已获得亲密度 | | +| medal_color_start | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | +| medal_color_end | num | 粉丝勋章颜色 | 十进制数,可转为十六进制颜色代码 | +| medal_color_border | num | 粉丝勋章边框颜色 | 十进制数,可转为十六进制颜色代码 | +| is_lighted | num | | | +| light_status | num | | | +| wearing_status | num | 当前是否佩戴 | 0:未佩戴
1:已佩戴 | +| score | num | | | `data`中的`sys_notice`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|-----|------|-----| -| id | num | id | | -| content | str | 显示文案 | | -| url | str | 跳转地址 | | -| notice_type | num | 提示类型 | 1,2 | -| icon | str | 前缀图标 | | -| text_color | str | 文字颜色 | | -| bg_color | str | 背景颜色 | | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------- | ---- | +| id | num | id | | +| content | str | 显示文案 | | +| url | str | 跳转地址 | | +| notice_type | num | 提示类型 | 1,2 | +| icon | str | 前缀图标 | | +| text_color | str | 文字颜色 | | +| bg_color | str | 背景颜色 | | `sys_notice`示例 -| id | content | notice_type | 示例用户 | -|-----|-------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------| -| 5 | 该用户存在争议行为,已冻结其帐号功能的使用 | 1 || -| 8 | 该用户存在较大争议,请谨慎甄别其内容 | 1 | [28062215](https://space.bilibili.com/28062215) | -| 11 | 该账号涉及合约争议,暂冻结其账号功能使用。详见公告-> | 1 || -| 16 | 该UP主内容存在争议,请注意甄别视频内信息 | 1 | [382534165](https://space.bilibili.com/382534165) | -| 20 | 请允许我们在此献上最后的告别,以此纪念其在哔哩哔哩留下的回忆与足迹。请点此查看纪念账号相关说明 | 2 |[212535360](https://space.bilibili.com/212535360)| -|22| 该账号涉及合约诉讼,封禁其账号使用 | || -| 24 | 该账号涉及合约争议,暂冻结其账号功能使用 | 1 | [291229008](https://space.bilibili.com/291229008) | -| 25 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [81447581](https://space.bilibili.com/81447581) | -| 31 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [22439273](https://space.bilibili.com/22439273) | -| 34 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [1640486775](https://space.bilibili.com/1640486775) | -| 36 | 该账户存在争议,请谨慎甄别 | 1 || +| id | content | notice_type | 示例用户 | +| --- | ---------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------- | +| 5 | 该用户存在争议行为,已冻结其帐号功能的使用 | 1 | | +| 8 | 该用户存在较大争议,请谨慎甄别其内容 | 1 | [28062215](https://space.bilibili.com/28062215) | +| 11 | 该账号涉及合约争议,暂冻结其账号功能使用。详见公告-> | 1 | | +| 16 | 该UP主内容存在争议,请注意甄别视频内信息 | 1 | [382534165](https://space.bilibili.com/382534165) | +| 20 | 请允许我们在此献上最后的告别,以此纪念其在哔哩哔哩留下的回忆与足迹。请点此查看纪念账号相关说明 | 2 | [212535360](https://space.bilibili.com/212535360) | +| 22 | 该账号涉及合约诉讼,封禁其账号使用 | | | +| 24 | 该账号涉及合约争议,暂冻结其账号功能使用 | 1 | [291229008](https://space.bilibili.com/291229008) | +| 25 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [81447581](https://space.bilibili.com/81447581) | +| 31 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [22439273](https://space.bilibili.com/22439273) | +| 34 | 该用户涉及严重指控,暂冻结其账号功能使用 | 1 | [1640486775](https://space.bilibili.com/1640486775) | +| 36 | 该账户存在争议,请谨慎甄别 | 1 | | `data`中的`live_room`对象: -| 字段 | 类型 | 内容 | 备注 | -|----------------|-----|------------|------------------| -| roomStatus | num | 直播间状态 | 0:无房间
1:有房间 | -| liveStatus | num | 直播状态 | 0:未开播
1:直播中 | -| url | str | 直播间网页 url | | -| title | str | 直播间标题 | | -| cover | str | 直播间封面 url | | -| watched_show | obj | | | -| roomid | num | 直播间 id | | -| roundStatus | num | 轮播状态 | 0:未轮播
1:轮播 | -| broadcast_type | num | 0 | | +| 字段 | 类型 | 内容 | 备注 | +| -------------- | ---- | -------------- | ------------------------ | +| roomStatus | num | 直播间状态 | 0:无房间
1:有房间 | +| liveStatus | num | 直播状态 | 0:未开播
1:直播中 | +| url | str | 直播间网页 url | | +| title | str | 直播间标题 | | +| cover | str | 直播间封面 url | | +| watched_show | obj | | | +| roomid | num | 直播间 id | | +| roundStatus | num | 轮播状态 | 0:未轮播
1:轮播 | +| broadcast_type | num | 0 | | `live_room`中的`watched_show`对象: -| 字段 | 类型 | 内容 | 备注 | -|---------------|------|---------------------|-----| -| switch | bool | ? | | -| num | num | total watched users | | -| text_small | str | | | -| text_large | str | | | -| icon | str | watched icon url | | -| icon_location | str | ? | | -| icon_web | str | watched icon url | | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------------- | ---- | +| switch | bool | ? | | +| num | num | total watched users | | +| text_small | str | | | +| text_large | str | | | +| icon | str | watched icon url | | +| icon_location | str | ? | | +| icon_web | str | watched icon url | | `data`中的`school`对象: -| 字段 | 类型 | 内容 | 备注 | -|------|-----|--------|-------| -| name | str | 就读大学名称 | 没有则为空 | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---------- | +| name | str | 就读大学名称 | 没有则为空 | `data`中的`profession`对象: -| 字段 | 类型 | 内容 | 备注 | -|------------|-----|------|----------------| -| name | str | 资质名称 | | -| department | str | 职位 | | -| title | str | 所属机构 | | -| is_show | num | 是否显示 | 0:不显示
1:显示 | +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | -------- | --------------------- | +| name | str | 资质名称 | | +| department | str | 职位 | | +| title | str | 所属机构 | | +| is_show | num | 是否显示 | 0:不显示
1:显示 | `data`中的`user_honour_info`对象: -| 字段 | 类型 | 内容 | 备注 | -|--------|-------|------|-----| -| mid | num | 0 | | -| colour | str | null | | -| tags | array | null | | +| 字段 | 类型 | 内容 | 备注 | +| ------ | ----- | ---- | ---- | +| mid | num | 0 | | +| colour | str | null | | +| tags | array | null | | `data`中的`series`对象: -| 字段 | 类型 | 内容 | 备注 | -|---------------------|------|-----|-----| -| user_upgrade_status | num | (?) | | -| show_upgrade_window | bool | (?) | | +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ---- | ---- | ---- | +| user_upgrade_status | num | (?) | | +| show_upgrade_window | bool | (?) | | `data`中的`elec`对象: @@ -315,20 +315,20 @@ `elec`中的`show_info`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ---------------- | ---------------- | -| show | bool | 是否显示充电按钮 | | +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | ---------------- | ------------------------------------------------------------------------------------------------------------- | +| show | bool | 是否显示充电按钮 | | | state | num | 充电功能开启状态 | -1:未开通充电功能
1:已开通自定义充电
2:已开通包月、自定义充电
3:已开通包月高档、自定义充电 | -| title | str | 充电按钮显示文字 | 空字符串或 `充电` 或 `充电中` | -| icon | str | 充电图标 | | -| jump_url | str | 跳转url | | +| title | str | 充电按钮显示文字 | 空字符串或 `充电` 或 `充电中` | +| icon | str | 充电图标 | | +| jump_url | str | 跳转url | | `data`中的`contract`对象: -| 字段名 | 类型 | 内容 | 备注 | -|-------------------|------|-----------|---------------------------| -| is_display | bool | | true/false
在页面中未使用此字段 | -| is_follow_display | bool | 是否在显示老粉计划 | true:显示
false:不显示 | +| 字段名 | 类型 | 内容 | 备注 | +| ----------------- | ---- | ------------------ | ----------------------------------- | +| is_display | bool | | true/false
在页面中未使用此字段 | +| is_follow_display | bool | 是否在显示老粉计划 | true:显示
false:不显示 | **示例:** @@ -540,43 +540,43 @@ curl -G 'https://api.bilibili.com/x/space/wbi/acc/info' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ----- | -------------- | ------------------------------------------------------------ | -| card | obj | 卡片信息 | | -| following | bool | 是否关注此用户 | true:已关注
false:未关注
需要登录(Cookie)
未登录为false | -| archive_count | num | 用户稿件数 | | -| article_count | num | 0 | **作用尚不明确** | -| follower | num | 粉丝数 | | -| like_num | num | 点赞数 | | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | -------------- | ------------------------------------------------------------------------ | +| card | obj | 卡片信息 | | +| following | bool | 是否关注此用户 | true:已关注
false:未关注
需要登录(Cookie)
未登录为false | +| archive_count | num | 用户稿件数 | | +| article_count | num | 0 | **作用尚不明确** | +| follower | num | 粉丝数 | | +| like_num | num | 点赞数 | | `data`中的`card`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ----- | -------------- | ------------------------------------------------------------ | -| mid | str | 用户mid | | -| approve | bool | false | **作用尚不明确** | -| name | str | 用户昵称 | | -| sex | str | 用户性别 | 男 女 保密 | -| face | str | 用户头像链接 | | -| DisplayRank | str | 0 | **作用尚不明确** | -| regtime | num | 0 | **作用尚不明确** | -| spacesta | num | 用户状态 | 0:正常
-2:被封禁 | -| birthday | str | 空 | **作用尚不明确** | -| place | str | 空 | **作用尚不明确** | -| description | str | 空 | **作用尚不明确** | -| article | num | 0 | **作用尚不明确** | -| attentions | array | 空 | **作用尚不明确** | -| fans | num | 粉丝数 | | -| friend | num | 关注数 | | -| attention | num | 关注数 | | -| sign | str | 签名 | | -| level_info | obj | 等级 | | -| pendant | obj | 挂件 | | -| nameplate | obj | 勋章 | | -| Official | obj | 认证信息 | | -| official_verify | obj | 认证信息2 | | -| vip | obj | 大会员状态 | | -| space | obj | 主页头图 | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ----- | ------------ | ----------------------- | +| mid | str | 用户mid | | +| approve | bool | false | **作用尚不明确** | +| name | str | 用户昵称 | | +| sex | str | 用户性别 | 男 女 保密 | +| face | str | 用户头像链接 | | +| DisplayRank | str | 0 | **作用尚不明确** | +| regtime | num | 0 | **作用尚不明确** | +| spacesta | num | 用户状态 | 0:正常
-2:被封禁 | +| birthday | str | 空 | **作用尚不明确** | +| place | str | 空 | **作用尚不明确** | +| description | str | 空 | **作用尚不明确** | +| article | num | 0 | **作用尚不明确** | +| attentions | array | 空 | **作用尚不明确** | +| fans | num | 粉丝数 | | +| friend | num | 关注数 | | +| attention | num | 关注数 | | +| sign | str | 签名 | | +| level_info | obj | 等级 | | +| pendant | obj | 挂件 | | +| nameplate | obj | 勋章 | | +| Official | obj | 认证信息 | | +| official_verify | obj | 认证信息2 | | +| vip | obj | 大会员状态 | | +| space | obj | 主页头图 | | `card`中的`level_info`对象: @@ -799,7 +799,7 @@ curl -G 'https://api.bilibili.com/x/web-interface/card' \ | ---------------- | ---- | ---------------- | ----------------------------------------------- | | type | num | 会员类型 | 0:无
1:月大会员
2:年度及以上大会员 | | status | num | 会员状态 | 0:无
1:有 | -| due_date | num | 会员过期时间 | Unix时间戳(毫秒) | +| due_date | num | 会员过期时间 | Unix时间戳(毫秒) | | theme_type | num | 0 | 作用尚不明确 | | label | obj | 会员标签 | | | avatar_subscript | num | 是否显示会员图标 | 0:不显示
1:显示 | @@ -807,10 +807,10 @@ curl -G 'https://api.bilibili.com/x/web-interface/card' \ `vip`中的`label`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | -------- | ------------------------------------------------------------ | -| path | str | 空 | 作用尚不明确 | -| text | str | 会员名称 | | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | -------- | ----------------------------------------------------------------------------------------------------------- | +| path | str | 空 | 作用尚不明确 | +| text | str | 会员名称 | | | label_theme | str | 会员标签 | vip:大会员
annual_vip:年度大会员
ten_annual_vip:十年大会员
hundred_annual_vip:百年大会员 | `data`中的`pendant`对象: @@ -835,20 +835,20 @@ curl -G 'https://api.bilibili.com/x/web-interface/card' \ `data`中的`Official`对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | -------- | ------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | -------- | -------------------------------------- | | role | num | 认证类型 | 见[用户认证类型一览](official_role.md) | -| title | str | 认证信息 | 无为空 | -| desc | str | 认证备注 | 无为空 | -| type | num | 是否认证 | -1:无
0:认证 | +| title | str | 认证信息 | 无为空 | +| desc | str | 认证备注 | 无为空 | +| type | num | 是否认证 | -1:无
0:认证 | `data`中的`level_exp`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | -------- | ---------------- | -| current_level | num | 当前等级 | 0-6级 | -| current_min | num | 0 | 指当前等级从多少经验值开始 | -| current_exp | num | 0 | 当前账户的经验值 | +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | -------- | ------------------------------------------ | +| current_level | num | 当前等级 | 0-6级 | +| current_min | num | 0 | 指当前等级从多少经验值开始 | +| current_exp | num | 0 | 当前账户的经验值 | | next_exp | num | 0 | 下一个等级所需的经验值**(不是还需要多少)** | **示例:** @@ -959,38 +959,38 @@ curl -G 'https://api.bilibili.com/x/space/myinfo' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------------- | ------ | ---------------------------------- | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------------- | ------ | --------------------------------- | | uids | nums | 目标用户的mid列表 | 必要 | 每个成员间用`,`分隔,最多50个成员 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----- | -------- | -------------------------------------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
40143:批量大小超过限制 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | 用户信息随机排序 | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------ | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
40143:批量大小超过限制 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | 用户信息随机排序 | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| --------- | ---- | ----------------------- | ---- | -| {用户mid} | obj | 该mid对应的用户信息 | | -| …… | obj | …… | …… | +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ------------------- | ---- | +| {用户mid} | obj | 该mid对应的用户信息 | | +| …… | obj | …… | …… | `data`中的`{用户mid}`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------ | ---- | ------------------- | -------------------- | -| mid | str | mid | | -| face | str | 头像链接 | | -| name | str | 昵称 | | -| official | obj | 认证信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.official` 对象 | -| vip | obj | 会员信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.vip` 对象,其中有些类型为 `num` 的字段在本接口中类型为 `str` | -| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ----------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- | +| mid | str | mid | | +| face | str | 头像链接 | | +| name | str | 昵称 | | +| official | obj | 认证信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.official` 对象 | +| vip | obj | 会员信息 | 基本同「[用户空间详细信息](#用户空间详细信息)」中的 `data.vip` 对象,其中有些类型为 `num` 的字段在本接口中类型为 `str` | +| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | `{用户mid}`中的`name_render`对象: @@ -1008,18 +1008,18 @@ curl -G 'https://api.bilibili.com/x/space/myinfo' \ `color`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---- | -| 0 | obj | 颜色1 | | -| n | obj | 颜色(n+1) | | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------- | ---- | +| 0 | obj | 颜色1 | | +| n | obj | 颜色(n+1) | | +| …… | obj | …… | …… | `color`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ---- | ---------------- | ---------------- | -| color_day | str | 浅色模式昵称颜色 | HEX颜色代码 | -| color_night | str | 深色模式昵称颜色 | HEX颜色代码 | +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ---- | ---------------- | ----------- | +| color_day | str | 浅色模式昵称颜色 | HEX颜色代码 | +| color_night | str | 深色模式昵称颜色 | HEX颜色代码 | **示例:** @@ -1173,32 +1173,13 @@ curl -G 'https://api.bilibili.com/x/polymer/pc-electron/v1/user/cards' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----- | -------- | --------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ------------------------------------------------- | | code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | array | 信息本体 | 用户信息随机排序 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | array | 信息本体 | 用户信息随机排序 | -`data`数组: - -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---- | -| 0 | obj | 用户1 | | -| n | obj | 用户(n+1) | | -| …… | obj | …… | …… | - -`data`数组中的对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | ------------ | -------------------- | -| mid | num | mid | | -| name | str | 昵称 | | -| face | str | 头像链接 | | -| sign | str | 签名 | | -| rank | num | 用户权限等级 | | -| level | num | 当前等级 | 0-6 级 | -| silence | num | 封禁状态 | 0:正常
1:被封 | **示例:** @@ -1250,3 +1231,546 @@ curl -G 'https://api.vc.bilibili.com/account/v1/user/cards' \ ``` + +## 多用户详细信息3 + +> https://api.vc.bilibili.com/x/im/user_infos + +*请求方式:GET* + +认证方式:Cookie(SESSDATA) + + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------------- | ------ | ------------------- | +| uids | nums | 目标用户的mid列表 | 必要 | 每个成员间用`,`分隔 | + + +`data`数组: + +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------- | ---- | +| 0 | obj | 用户1 | | +| n | obj | 用户(n+1) | | +| …… | obj | …… | …… | + +`data`数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | ------------ | -------------------- | +| mid | num | mid | | +| name | str | 昵称 | | +| face | str | 头像链接 | | +| sign | str | 签名 | | +| rank | num | 用户权限等级 | | +| level | num | 当前等级 | 0-6 级 | +| silence | num | 封禁状态 | 0:正常
1:被封 | +| vip | obj | 大会员信息 | | +| offical | obj | 认证信息 | | +| is_fake_account | bool | | | +| expert_info | obj | 专业信息? | | + +**示例:** + +查询用户`uids=1,2,3`的详细信息 + +```shell +curl -G 'https://api.vc.bilibili.com/x/im/user_infos' \ +--data-urlencode 'uids=2,114514' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "msg": "0", + "message": "0", + "ttl": 1, + "data": [ + { + "mid": 2, + "name": "碧诗", + "sex": "男", + "face": "https://i2.hdslb.com/bfs/face/ef0457addb24141e15dfac6fbf45293ccf1e32ab.jpg", + "sign": "https://kami.im 直男过气网红 # We Are Star Dust", + "rank": 20000, + "level": 6, + "silence": 0, + "vip": { + "type": 2, + "status": 1, + "due_date": 4000982400000, + "vip_pay_type": 0, + "theme_type": 0, + "label": { + "path": "", + "text": "十年大会员", + "label_theme": "ten_annual_vip", + "text_color": "#FFFFFF", + "bg_style": 1, + "bg_color": "#FB7299", + "border_color": "", + "use_img_label": true, + "img_label_uri_hans": "https://i0.hdslb.com/bfs/activity-plat/static/20220608/e369244d0b14644f5e1a06431e22a4d5/wltavwHAkL.gif", + "img_label_uri_hant": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/802418ff03911645648b63aa193ba67997b5a0bc.png", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/8u7iRTPE7N.png" + }, + "avatar_subscript": 1, + "nickname_color": "#FB7299", + "role": 7, + "avatar_subscript_url": "", + "tv_vip_status": 1, + "tv_vip_pay_type": 1, + "tv_due_date": 2003500800, + "avatar_icon": { + "icon_type": 1, + "icon_resource": { + + } + } + }, + "pendant": { + "pid": -338454175, + "name": "箱庭少女之梦头像", + "image": "https://i2.hdslb.com/bfs/garb/open/efe5e579cbb95a404c2ba289f37c5965dee7a3a2.png", + "expire": 0, + "image_enhance": "https://i2.hdslb.com/bfs/garb/open/efe5e579cbb95a404c2ba289f37c5965dee7a3a2.png", + "image_enhance_frame": "", + "n_pid": 1743418268001 + }, + "nameplate": { + "nid": 10, + "name": "见习偶像", + "image": "https://i2.hdslb.com/bfs/face/e93dd9edfa7b9e18bf46fd8d71862327a2350923.png", + "image_small": "https://i2.hdslb.com/bfs/face/275b468b043ec246737ab8580a2075bee0b1263b.png", + "level": "普通勋章", + "condition": "所有自制视频总播放数\u003E=10万" + }, + "official": { + "role": 2, + "title": "bilibili创始人(站长)", + "desc": "", + "type": 0 + }, + "birthday": 622137600, + "is_fake_account": 0, + "is_deleted": 0, + "in_reg_audit": 0, + "face_nft": 0, + "face_nft_new": 0, + "is_senior_member": 0, + "digital_id": "", + "digital_type": -2, + "attestation": { + "type": 2, + "common_info": { + "title": "bilibili创始人(站长)", + "prefix": "bilibili UP主认证", + "prefix_title": "bilibili UP主认证:bilibili创始人(站长)" + }, + "splice_info": { + "title": "bilibili创始人(站长)" + }, + "icon": "https://i0.hdslb.com/bfs/activity-plat/static/20230828/e3b8ebec8e86f060b930a2c0536bb88b/72wejSxl9Z.png", + "desc": "" + }, + "expert_info": { + "title": "", + "state": 0, + "type": 0, + "desc": "" + }, + "honours": { + "mid": 2, + "colour": { + "dark": "#CE8620", + "normal": "#F0900B" + }, + "tags": null, + "is_latest_100honour": 0 + }, + "name_render": null, + "json_ava": { + "container_size": { + "width": 1.375, + "height": 1.375 + }, + "fallback_layers": { + "layers": [ + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.6875, + "axis_y": 0.6875 + }, + "size_spec": { + "width": 0.787, + "height": 0.787 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "AVATAR_LAYER": { + + } + }, + "is_critical": true, + "layer_mask": { + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.6875, + "axis_y": 0.6875 + }, + "size_spec": { + "width": 0.787, + "height": 0.787 + }, + "render_spec": { + "opacity": 1 + } + }, + "mask_src": { + "src_type": 3, + "draw": { + "draw_type": 1, + "fill_mode": 1, + "color_config": { + "day": { + "argb": "#FF000000" + } + } + } + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 1, + "placeholder": 6, + "remote": { + "url": "https://i2.hdslb.com/bfs/face/ef0457addb24141e15dfac6fbf45293ccf1e32ab.jpg", + "bfs_style": "widget-layer-avatar" + } + } + } + } + }, + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.6875, + "axis_y": 0.6875 + }, + "size_spec": { + "width": 1.375, + "height": 1.375 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "PENDENT_LAYER": { + + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 1, + "remote": { + "url": "https://i2.hdslb.com/bfs/garb/open/efe5e579cbb95a404c2ba289f37c5965dee7a3a2.png", + "bfs_style": "widget-layer-avatar" + } + } + } + } + }, + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 1, + "axis_x": 0.806, + "axis_y": 0.822666666666667 + }, + "size_spec": { + "width": 0.35, + "height": 0.35 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "ICON_LAYER": { + + } + } + }, + "resource": { + "res_type": 5, + "res_native_draw": { + "draw_src": { + "src_type": 3, + "draw": { + "draw_type": 1, + "fill_mode": 1, + "color_config": { + "is_dark_mode_aware": true, + "day": { + "argb": "#FFFFFFFF" + }, + "night": { + "argb": "#FF17181A" + } + } + } + } + } + } + }, + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 1, + "axis_x": 0.831, + "axis_y": 0.847666666666667 + }, + "size_spec": { + "width": 0.3, + "height": 0.3 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "ICON_LAYER": { + + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 2, + "local": 3 + } + } + } + } + ], + "is_critical_group": true + }, + "mid": "2" + } + }, + { + "mid": 114514, + "name": "田所こうじ", + "sex": "保密", + "face": "http://i1.hdslb.com/bfs/face/875eb66bb952f16afa9634081a820dea8e3fac96.jpg", + "sign": "?!", + "rank": 10000, + "level": 6, + "silence": 0, + "vip": { + "type": 1, + "status": 0, + "due_date": 1683043200000, + "vip_pay_type": 0, + "theme_type": 0, + "label": { + "path": "", + "text": "", + "label_theme": "", + "text_color": "", + "bg_style": 0, + "bg_color": "", + "border_color": "", + "use_img_label": true, + "img_label_uri_hans": "", + "img_label_uri_hant": "", + "img_label_uri_hans_static": "https://i0.hdslb.com/bfs/vip/d7b702ef65a976b20ed854cbd04cb9e27341bb79.png", + "img_label_uri_hant_static": "https://i0.hdslb.com/bfs/activity-plat/static/20220614/e369244d0b14644f5e1a06431e22a4d5/KJunwh19T5.png" + }, + "avatar_subscript": 0, + "nickname_color": "", + "role": 0, + "avatar_subscript_url": "", + "tv_vip_status": 0, + "tv_vip_pay_type": 0, + "tv_due_date": 0, + "avatar_icon": { + "icon_resource": { + + } + } + }, + "pendant": { + "pid": 0, + "name": "", + "image": "", + "expire": 0, + "image_enhance": "", + "image_enhance_frame": "", + "n_pid": 0 + }, + "nameplate": { + "nid": 0, + "name": "", + "image": "", + "image_small": "", + "level": "", + "condition": "" + }, + "official": { + "role": 0, + "title": "", + "desc": "", + "type": -1 + }, + "birthday": -1590393600, + "is_fake_account": 0, + "is_deleted": 0, + "in_reg_audit": 0, + "face_nft": 0, + "face_nft_new": 0, + "is_senior_member": 0, + "digital_id": "", + "digital_type": -2, + "attestation": { + "type": 0, + "common_info": { + "title": "", + "prefix": "", + "prefix_title": "" + }, + "splice_info": { + "title": "" + }, + "icon": "", + "desc": "" + }, + "expert_info": { + "title": "", + "state": 0, + "type": 0, + "desc": "" + }, + "honours": { + "mid": 114514, + "colour": { + "dark": "#CE8620", + "normal": "#F0900B" + }, + "tags": null, + "is_latest_100honour": 0 + }, + "name_render": null, + "json_ava": { + "container_size": { + "width": 1.35, + "height": 1.35 + }, + "fallback_layers": { + "layers": [ + { + "visible": true, + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.675, + "axis_y": 0.675 + }, + "size_spec": { + "width": 1, + "height": 1 + }, + "render_spec": { + "opacity": 1 + } + }, + "layer_config": { + "tags": { + "AVATAR_LAYER": { + + } + }, + "is_critical": true, + "layer_mask": { + "general_spec": { + "pos_spec": { + "coordinate_pos": 2, + "axis_x": 0.675, + "axis_y": 0.675 + }, + "size_spec": { + "width": 1, + "height": 1 + }, + "render_spec": { + "opacity": 1 + } + }, + "mask_src": { + "src_type": 3, + "draw": { + "draw_type": 1, + "fill_mode": 1, + "color_config": { + "day": { + "argb": "#FF000000" + } + } + } + } + } + }, + "resource": { + "res_type": 3, + "res_image": { + "image_src": { + "src_type": 1, + "placeholder": 6, + "remote": { + "url": "http://i1.hdslb.com/bfs/face/875eb66bb952f16afa9634081a820dea8e3fac96.jpg", + "bfs_style": "widget-layer-avatar" + } + } + } + } + } + ], + "is_critical_group": true + }, + "mid": "114514" + } + } + ] +} +``` +
\ No newline at end of file diff --git a/docs/user/relation.md b/docs/user/relation.md index 6b5d143..b8d4fa0 100644 --- a/docs/user/relation.md +++ b/docs/user/relation.md @@ -8,33 +8,33 @@ 以下说明中的 “目标用户” 指被查询的用户,“对方” 指返回的关系列表中的用户。 -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ------------------------------------------- | -------------------------- | ------------------------------------------------------------ | -| mid | num | 用户 mid | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ------------------------------------------- | -------------------------- | ----------------------------------------------------------------------------------------- | +| mid | num | 用户 mid | | | attribute | num | 对方对于**自己**的关系属性 | 0:未关注
~~1:悄悄关注(现已下线)~~
2:已关注
6:已互粉
128:已拉黑 | -| mtime | num | 对方关注目标用户时间 | 秒级时间戳
互关后刷新 | -| tag | 默认分组:null
存在至少一个分组:array | 目标用户将对方分组到的 id | | -| special | num | 目标用户特别关注对方标识 | 0:否
1:是 | -| contract_info | obj | 契约计划相关信息 | | -| uname | str | 用户昵称 | | -| face | str | 用户头像url | | -| sign | str | 用户签名 | | -| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像
1:NFT 头像 | -| official_verify | obj | 认证信息 | | -| vip | obj | 会员信息 | | -| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | -| nft_icon | str | (?) | | -| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | -| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | -| follow_time | str | (?) | | +| mtime | num | 对方关注目标用户时间 | 秒级时间戳
互关后刷新 | +| tag | 默认分组:null
存在至少一个分组:array | 目标用户将对方分组到的 id | | +| special | num | 目标用户特别关注对方标识 | 0:否
1:是 | +| contract_info | obj | 契约计划相关信息 | | +| uname | str | 用户昵称 | | +| face | str | 用户头像url | | +| sign | str | 用户签名 | | +| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像
1:NFT 头像 | +| official_verify | obj | 认证信息 | | +| vip | obj | 会员信息 | | +| name_render | 有效时:obj
无效时:null | 昵称渲染信息 | | +| nft_icon | str | (?) | | +| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` | +| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` | +| follow_time | str | (?) | | `list`中的对象中的`tag`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------------------ | ---- | -| 0 | num | 位于分组 1 的分组 id | | -| n | num | 位于分组(n+1)的分组 id | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------------------ | ---- | +| 0 | num | 位于分组 1 的分组 id | | +| n | num | 位于分组(n+1)的分组 id | | +| …… | num | …… | …… | `list`中的对象中的`contract_info`对象: @@ -47,10 +47,10 @@ `list`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ----------------------------------------- | | type | num | 用户认证类型 | -1:无
0:UP 主认证
1:机构认证 | -| desc | str | 用户认证信息 | 无为空 | +| desc | str | 用户认证信息 | 无为空 | `list`中的对象中的`vip`对象: @@ -81,50 +81,47 @@ 本接口只有登录、标头 `referer` 为 `bilibili.com` 下的子域名、UA 不含 `python` 时才会返回列表 -由于接口实现不同,本接口的返回可能出现以下三种情况: - -1. 返回列表按关注时间排序,此时当前用户**仅返回前 1000 名粉丝**,其他用户仅返回前 100 名粉丝,若继续往后查询则返回空列表 -2. 返回列表按粉丝 mid 的**文本形式**排序,此时对于任意用户均可返回全部粉丝 -3. 返回列表按照**智能推荐算法**排序,此时请求参数 `from=main` 且目标用户为自己,**仅返回前 1000 名粉丝** +- 当请求参数 `from=main` 且目标用户为自己时,返回列表按照**智能推荐算法**排序,**仅返回前 1000 名粉丝**,且返回的列表中不含 `mtime` 字段 +- 否则,返回列表按关注时间排序,此时**当前用户仅返回前 1000 名粉丝,其他用户仅返回前 100 名粉丝**,若继续往后查询则返回空列表 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| -------------- | ---- | ---------------------- | ------------ | ------------------------------------------------------------------- | -| vmid | num | 目标用户 mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1 | -| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取
此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | -| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取
当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 | -| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------------- | ---- | ---------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1 | +| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取
此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` | +| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取
当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 | +| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ----------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-101:账号未登录
-352:请求被拦截
-400:请求错误
22118:由于该用户隐私设置,粉丝列表不可见 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ----- | -------- | ---- | -| list | array | 明细列表 | | +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ----- | -------- | ----------------------------------------------------------------------------------------------------- | +| list | array | 明细列表 | | | offset | str | 偏移量 | 供下次请求使用
普通:`{列表最后的粉丝的 mtime}:{列表最后的粉丝的 mid}`
智能推荐算法:`rcmd` | -| re_version | num | (?) | | -| total | num | 粉丝总数 | | +| re_version | num | (?) | | +| total | num | 粉丝总数 | | `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ---------------------------------- | -| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | -| n | obj | 粉丝 (n+1) | | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------ | ---------------------------------- | +| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | +| n | obj | 粉丝 (n+1) | | +| …… | obj | …… | …… | **示例:** @@ -256,23 +253,23 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | ------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| vmid | num | 目标用户 mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1
仅可查看前 1000 名粉丝 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | ------------------------------------ | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1
仅可查看前 1000 名粉丝 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ----------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-101:账号未登录
-352:请求被拦截
-400:请求错误
22118:由于该用户隐私设置,粉丝列表不可见 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -284,11 +281,11 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ---------------------------------- | -| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | -| n | obj | 粉丝 (n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------ | ---------------------------------- | +| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) | +| n | obj | 粉丝 (n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -405,6 +402,85 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \ +### 查询用户粉丝明细 + +> + +*请求方式:GET* + +认证方式:无 + +返回目标用户前100个粉丝 + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ------------ | ------ | --------- | +| vmid | num | 目标用户 mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 20 | +| pn | num | 页码 | 非必要 | 默认为 1 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------- | +| code | num | 返回值 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | +| ts | num | 时间戳 | | + +`data.list`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ------- | ---- | +| mid | num | 用户mid | | +| uname | str | 用户名 | | +| face | str | 头像 | | +| attribute | num | | | + + +**示例:** + +```shell +curl 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list?vmid=504140200&pn=5&ps=21' +``` +
+查看响应示例: + +```json +{ + "code": 0, + "data": { + "list": [ + { + "mid": "3493078644034173", + "attribute": 0, + "uname": "雨天下小雪啦", + "face": "//i0.hdslb.com/bfs/face/28ad110baa58db9265eca657fcba501589981555.jpg", + "attestation_display": { + "type": 0, + "desc": "" + } + }, + { + "mid": "1356049904", + "attribute": 0, + "uname": "一埋子", + "face": "//i2.hdslb.com/bfs/face/84356fd3b183284bc11b011b676432badb4096bf.jpg", + "attestation_display": { + "type": 0, + "desc": "" + } + }, + ] + }, + "ts": 1748829553371, + "request_id": "0684785391344bdc85e4e701bed41b1c" +} +``` +
+ ### 获取自己粉丝列表的未读状态 > @@ -471,24 +547,24 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| vmid | num | 目标用户 mid | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | ----------------------------------------------------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| vmid | num | 目标用户 mid | 必要 | | | order_type | str | 排序方式 | 非必要 | 当目标用户为自己时有效
按照关注顺序排列:留空
按照最常访问排列:attention | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1
其他用户仅可查看前 100 个 | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1
其他用户仅可查看前 100 个 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------------------------------------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------ | | code | num | 返回值 | 0:成功
-101:账号未登录
-352:请求被拦截
-400:请求错误
22115:用户已设置隐私,无法查看 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -500,11 +576,11 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | -------------------------------- | -| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 关注(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | -------------------------------- | +| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 关注(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -615,12 +691,12 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------ | ------ | ----------------------------- | -| vmid | num | 目标用户 mid | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ------------ | ------ | ----------------------------------------------------------- | +| vmid | num | 目标用户 mid | 必要 | | | order | str | 排序方式 | 非必要 | 按照降序排列:desc
按照升序排列:asc
默认降序排列 | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1
仅可查看前 5 页 | +| ps | num | 每页项数 | 非必要 | 默认为 50 | +| pn | num | 页码 | 非必要 | 默认为 1
仅可查看前 5 页 | **json回复:** @@ -643,42 +719,42 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | --------------------------------------------- | -| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** | -| n | obj | 关注(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | ------------------------------------------------- | +| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** | +| n | obj | 关注(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | 数组`list`中的对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---------------------------------------- | ------------ | --------------------------------------- | -| mid | num | 用户 mid | | -| attribute | num | 关注属性 | 0:未关注
2:已关注
6:已互粉 | -| mtime | num | 关注对方时间 | 时间戳
互关后刷新 | -| tag | 默认分组:null
存在至少一个分组:array | 分组 id | | -| special | num | 特别关注标志 | 0:否
1:是 | -| uname | str | 用户昵称 | | -| face | str | 用户头像 url | | -| sign | str | 用户签名 | | -| official_verify | obj | 认证信息 | | -| vip | obj | 会员信息 | | -| live | num | 是否直播 | 0:未直播
1:直播中 | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ------------------------------------------- | ------------ | --------------------------------------- | +| mid | num | 用户 mid | | +| attribute | num | 关注属性 | 0:未关注
2:已关注
6:已互粉 | +| mtime | num | 关注对方时间 | 时间戳
互关后刷新 | +| tag | 默认分组:null
存在至少一个分组:array | 分组 id | | +| special | num | 特别关注标志 | 0:否
1:是 | +| uname | str | 用户昵称 | | +| face | str | 用户头像 url | | +| sign | str | 用户签名 | | +| official_verify | obj | 认证信息 | | +| vip | obj | 会员信息 | | +| live | num | 是否直播 | 0:未直播
1:直播中 | 数组`list`中的对象中的`tag`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------------------ | ---- | -| 0 | num | 位于分组 1 的分组 id | | -| n | num | 位于分组(n+1)的分组 id | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ------------------------ | ---- | +| 0 | num | 位于分组 1 的分组 id | | +| n | num | 位于分组(n+1)的分组 id | | +| …… | num | …… | …… | `list`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---------------------------------------- | | type | num | 用户认证类型 | -1:无
0:UP主认证
1:机构认证 | -| desc | str | 用户认证信息 | 无为空 | +| desc | str | 用户认证信息 | 无为空 | `list`中的对象中的`vip`对象: @@ -790,11 +866,11 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------ | ----------- | -------- | -| vmid | num | 目标用户mid | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为20 | -| pn | num | 页码 | 非必要 | 默认为1 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | ----------- | ------ | -------- | +| vmid | num | 目标用户mid | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为20 | +| pn | num | 页码 | 非必要 | 默认为1 | **json回复:** @@ -810,17 +886,17 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ----- | -------- | ------------ | -| list | array | 明细列表 | | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ----- | -------- | ---- | +| list | array | 明细列表 | | `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ---------------- | -| 0 | obj | 关注1 | | -| n | obj | 关注(n+1) | 按照关注顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------- | ---------------- | +| 0 | obj | 关注1 | | +| n | obj | 关注(n+1) | 按照关注顺序排列 | +| …… | obj | …… | …… | 数组`list`中的对象: @@ -915,11 +991,11 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 匹配项目(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | -------------------------------- | +| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 匹配项目(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1016,11 +1092,11 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 共同关注(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | -------------------------------- | +| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 共同关注(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1139,11 +1215,11 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | -------------------------------- | -| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 悄悄关注(n+1) | 按照操作顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | -------------------------------- | +| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 悄悄关注(n+1) | 按照操作顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1232,11 +1308,11 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | -------------------------------- | -| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 互关(n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | -------------------------------- | +| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 互关(n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1430,11 +1506,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | -------------- | ------------ | --------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| ps | num | 每页项数 | 非必要 | 默认为 50 | -| pn | num | 页码 | 非必要 | 默认为 1 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ------------ | --------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| ps | num | 每页项数 | 非必要 | 默认为 50,且最多为50,大于50则按50输出 | +| pn | num | 页码 | 非必要 | 默认为 1 | **json回复:** @@ -1457,11 +1533,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \ `data`中的`list`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | -------------- | -------------------------------- | -| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) | -| n | obj | 黑名单 (n+1) | 按照添加顺序排列 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | -------------- | -------------------------------- | +| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) | +| n | obj | 黑名单 (n+1) | 按照添加顺序排列 | +| …… | obj | …… | …… | **示例:** @@ -1559,35 +1635,35 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------- | --------------- | -------------------------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fid | num | 目标用户mid | 必要 | | -| act | num | 操作代码 | 必要 | **操作代码见下表** | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fid | num | 目标用户mid | 必要 | | +| act | num | 操作代码 | 必要 | **操作代码见下表** | | re_src | num | 关注来源代码 | 非必要 | 包月充电:1
个人空间:11
视频:14
评论区:15
视频播放器结束页面:17
H5推荐关注:58
H5关注列表:106
H5粉丝列表:107
专栏:115
私信:118
搜索:120
视频播放器左上角关注按钮:164
H5共同关注:167
创作激励计划:192
活动页面:222
联合投稿视频:229
消息中心点赞详情:235
视频播放器关注弹幕:245 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | 操作代码`act`: -| 代码 | 含义 | 备注 | -| ---- | ------------ | ------------------------------------------------ | -| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 | -| 2 | 取关 | | +| 代码 | 含义 | 备注 | +| ---- | ------------ | ---------------------------------------------------- | +| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 | +| 2 | 取关 | | | 3 | 悄悄关注 | **现已下线**,使用本操作代码请求接口会提示“请求错误” | -| 4 | 取消悄悄关注 | | -| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 | -| 6 | 取消拉黑 | | -| 7 | 踢出粉丝 | | +| 4 | 取消悄悄关注 | | +| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 | +| 6 | 取消拉黑 | | +| 7 | 踢出粉丝 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | code | num | 返回值 | 0:成功
-101:账号未登录
-102:账号被封停
-111:csrf校验失败
-400:请求错误
22001:不能对自己进行此操作
22002:因对方隐私设置,你还不能关注
22003:关注失败,请将该用户移除黑名单之后再试
22008:黑名单达到上限
22009:关注失败,已达关注上限
22013:账号已注销,无法完成操作
22014:已经关注用户,无法重复关注
22120:重复加入黑名单
40061:用户不存在 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | **示例:** @@ -1627,24 +1703,24 @@ curl 'https://api.bilibili.com/x/relation/modify' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------- | --------------- | ------------------------------------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | | fids | nums | 目标用户 mid 列表 | 必要 | 每个成员之间用 `,` 间隔,最多 50 个成员,不能包含自己的 mid | -| act | num | 操作代码 | 必要 | 同上
仅可为 1 或 5,故只能进行批量关注和拉黑 | -| re_src | num | 关注来源代码 | 非必要 | 同上 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| act | num | 操作代码 | 必要 | 同上
仅可为 1 或 5,故只能进行批量关注和拉黑 | +| re_src | num | 关注来源代码 | 非必要 | 同上 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-101:账号未登录
-102:账号被封停
-111:csrf校验失败
-400:请求错误
22003:用户位于黑名单 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 数据本体 | | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | `data`对象: @@ -1654,11 +1730,11 @@ curl 'https://api.bilibili.com/x/relation/modify' \ `data`中的`failed_fids`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------------- | ---- | -| 0 | num | 操作失败的 mid 1 | | -| n | num | 操作失败的 mid(n+1) | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------------- | ---- | +| 0 | num | 操作失败的 mid 1 | | +| n | num | 操作失败的 mid(n+1) | | +| …… | num | …… | …… | **示例:** @@ -1693,21 +1769,21 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \ ### 关系属性对象 -| 字段 | 类型 | 内容 | 备注 | -| --------- | --------------------------------------- | ------------ | -------------------------------------------------------- | -| mid | num | 目标用户 mid | | -| attribute | num | 关系属性 | 0:未关注
~~1:悄悄关注(已弃用)~~
2:已关注
6:已互粉
128:已拉黑 | -| mtime | num | 关注对方时间 | 时间戳
未关注为 0 | -| tag | 默认分组:null
存在至少一个分组:array | 分组 id | | -| special | num | 特别关注标志 | 0:否
1:是 | +| 字段 | 类型 | 内容 | 备注 | +| --------- | ------------------------------------------- | ------------ | --------------------------------------------------------------------------------------- | +| mid | num | 目标用户 mid | | +| attribute | num | 关系属性 | 0:未关注
~~1:悄悄关注(已弃用)~~
2:已关注
6:已互粉
128:已拉黑 | +| mtime | num | 关注对方时间 | 时间戳
未关注为 0 | +| tag | 默认分组:null
存在至少一个分组:array | 分组 id | | +| special | num | 特别关注标志 | 0:否
1:是 | `tag`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------------- | ---- | -| 0 | num | 位于分组 1 的分组 | | -| n | num | 位于分组(n+1)的分组 | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------------- | ---- | +| 0 | num | 位于分组 1 的分组 | | +| n | num | 位于分组(n+1)的分组 | | +| …… | num | …… | …… | ### 查询用户与自己关系(仅关注) @@ -1925,10 +2001,10 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ 分组 id 特殊值: -| id | 含义 | -| ---- | -------- | -| 0 | 默认分组 | -| -10 | 特别关心 | +| id | 含义 | +| --- | -------- | +| 0 | 默认分组 | +| -10 | 特别关心 | ### 查询关注分组列表 @@ -1948,29 +2024,29 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ------ | -------- | ----------------------------- | -| code | num | 返回值 | 0:成功
-101:账号未登录 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ----------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | | data | array | 分组列表 | | `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ----------- | ---- | -| 0 | obj | 分组 1 | | -| n | obj | 分组(n+1) | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | ----------- | ---- | +| 0 | obj | 分组 1 | | +| n | obj | 分组(n+1) | | +| …… | num | …… | …… | 数组`data`中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ---------- | ---- | +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ---------- | ------------------------------ | | tagid | num | 分组 id | -10:特别关注
0:默认分组 | -| name | str | 分组名称 | | -| count | num | 分组成员数 | | -| tip | str | 提示信息 | | +| name | str | 分组名称 | | +| count | num | 分组成员数 | | +| tip | str | 提示信息 | | **示例:** @@ -2045,48 +2121,48 @@ curl 'https://api.bilibili.com/x/relation/tags' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | -------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误
22104:该分组不存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | array | 成员列表 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | array | 成员列表 | | `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------------- | --------------------------------------- | -| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** | -| n | obj | 成员信息(n+1) | 按照添加顺序排序 | -| …… | obj | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | --------------- | --------------------------------------- | +| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** | +| n | obj | 成员信息(n+1) | 按照添加顺序排序 | +| …… | obj | …… | …… | `data` 数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| --------------- | ---- | --------------- | -------------- | -| mid | num | 用户mid | | -| attribute | num | 关系属性 | 恒为 `0` | -| tag | null | 关注分组id | 恒为 `null` | -| special | num | 是否特别关注 | 恒为 `0` | -| contract_info | obj | 契约计划信息 | | -| uname | str | 用户昵称 | | -| face | str | 用户头像url | | -| sign | str | 用户签名 | | -| face_nft | num | 是否为 NFT 头像 | | -| official_verify | obj | 认证信息 | 具体见下 | -| vip | obj | 会员信息 | | -| live | obj | 直播状态 | 具体见下 | -| nft_icon | str | (?) | | -| rec_reason | str | (?) | | -| track_id | str | (?) | | -| follow_time | str | (?) | | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | --------------- | ----------- | +| mid | num | 用户mid | | +| attribute | num | 关系属性 | 恒为 `0` | +| tag | null | 关注分组id | 恒为 `null` | +| special | num | 是否特别关注 | 恒为 `0` | +| contract_info | obj | 契约计划信息 | | +| uname | str | 用户昵称 | | +| face | str | 用户头像url | | +| sign | str | 用户签名 | | +| face_nft | num | 是否为 NFT 头像 | | +| official_verify | obj | 认证信息 | 具体见下 | +| vip | obj | 会员信息 | | +| live | obj | 直播状态 | 具体见下 | +| nft_icon | str | (?) | | +| rec_reason | str | (?) | | +| track_id | str | (?) | | +| follow_time | str | (?) | | `data`中的对象中的`official_verify`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------ | ------------------- | +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ----------------------------------------- | | type | num | 用户认证类型 | -1:无
0:UP 主认证
1:机构认证 | -| desc | str | 用户认证信息 | 无为空 | +| desc | str | 用户认证信息 | 无为空 | `data`中的对象中的`vip`对象: @@ -2214,10 +2290,10 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \ `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------------- | ---- | --------- | ---- | +| 字段 | 类型 | 内容 | 备注 | +| --------------- | ---- | -------- | ---------------------------------- | | {加入的分组 id} | str | 分组名称 | 若目标用户存在默认分组中,则不显示 | -| …… | str | …… | 下同 | +| …… | str | …… | 下同 | **示例:** @@ -2273,11 +2349,11 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \ `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | -------------- | ---- | -| 0 | num | 成员 1 mid | | -| n | num | 成员(n+1)mid | | -| …… | num | …… | …… | +| 项 | 类型 | 内容 | 备注 | +| --- | ---- | -------------- | ---- | +| 0 | num | 成员 1 mid | | +| n | num | 成员(n+1)mid | | +| …… | num | …… | …… | **示例:** @@ -2341,12 +2417,12 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-111:csrf校验失败
-101:账号未登录
-400:请求错误
22101:分组名称存在不允许的字符
22102:分组数量超过限制
22103:分组名过长
22106:该分组已经存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: @@ -2402,11 +2478,11 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-111:csrf校验失败
-101:账号未登录
-400:请求错误
22101:分组名称存在不允许的字符
22103:分组名过长
22104:该分组不存在 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** @@ -2455,11 +2531,11 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \ 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-111:csrf校验失败
-101:账号未登录
-400:请求错误 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | 示例: @@ -2499,22 +2575,22 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------ | -------------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 | -| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-111:csrf校验失败
-101:账号未登录
-400:请求错误
22104:分组不存在
22105:未关注 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** @@ -2551,22 +2627,22 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------------------ | -------------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | -| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------- | --------------- | ----------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-111:csrf校验失败
-101:账号未登录
-400:请求错误
22104:分组不存在
22105:未关注 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** @@ -2603,23 +2679,23 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \ **正文参数(application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------------ | ---- | ------------------------ | -------------- | ------------------- | -| access_key | str | APP 登录 Token | APP 方式必要 | | -| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 | -| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | -| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------ | ---- | ------------------------- | --------------- | ----------------- | +| access_key | str | APP 登录 Token | APP 方式必要 | | +| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 | +| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 | +| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------------------------------------------------------------ | +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- | | code | num | 返回值 | 0:成功
-111:csrf校验失败
-101:账号未登录
-400:请求错误
22104:分组不存在
22105:未关注 | -| message | str | 错误信息 | 默认为 0 | -| ttl | num | 1 | | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | **示例:** diff --git a/docs/user/space.md b/docs/user/space.md index 36142af..a2807f4 100644 --- a/docs/user/space.md +++ b/docs/user/space.md @@ -2917,6 +2917,299 @@ curl -G 'https://api.bilibili.com/x/space/arc/search' \ + +### 查询用户投稿明细(APP、无需wbi鉴权) + +> https://app.biliapi.com/x/v2/space/archive/cursor + +*请求方式:GET* + +可以获取APP端可获得的用户空间投稿所有信息 + +APP端请求对web端包容度最高,无需Cookie以外的任何认证,只需填写vmid即可查询 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------------- | ---- | ----------------------- | -------------- | ------------- | +| vmid | num | 目标用户mid | 必要 | | +| aid | num | 请求返回起始视频 | 首次请求不需要 | 填写上次请求返回最后视频的aid | +| order | str | 排序方式 | 非必要 | `click`代表最多播放,`pubdate`代表最新发布 | +| sort | str | 确有影响,但这是什么呢? | 非必要 | 创建时间: asc
修改时间: desc | +| access_key | str | APP登录Token | APP方式必要 | | +| appkey | str | APP密钥 | APP方式必要 | | +| build | num | 版本 | APP方式必要 | 可为`8130300` | +| c_locale | str | 语言 | 非必要 | zh_CN | +| channel | num | 频道 | 非必要 | | +| fnval | num | 视频流类型 | 非必要 | | +| fnver | num | 请求时提供的fnver | 非必要 | 可为 0 | +| force_host | num | 源url类型 | 非必要 | 0:无限制 1:使用http 2:使用https | +| fourk | num | 是否允许 4K 视频 | 非必要 | 画质最高 1080P:0(默认)
画质最高 4K:1 | +| include_cursor| bool | 未知 | 非必要 | 可为false | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web`、`android` 等 | +| platform | str | 平台 | 非必要 | 可为`web` | +| ps | int | 每页条数 | 非必要 | 默认为 `20` | +| pn | int | 似乎不是页码 | 非必要 | 默认为 `32` | +| pn_policy | int | 未知 | 非必要 | 可为 `1` | +| s_locale | str | 语言 | 非必要 | zh_CN | +| statistics | str | 位置 | 非必要 | 可为{"appId":1,"platform":3,"version":"8.13.0","abtest":""} | +| ts | num | 秒级时间戳 | 非必要 | | +| voice_balance | num | 未知 | 非必要 | 默认为 `1` | +| sign | str | APP签名 | APP方式必要 | | + +**json回复:** + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------- | +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 视频信息 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------------------- | ------ | ------------- | ----------------------------- | +| count | num | 总数 | 0:成功
-400:请求错误 | +| episodic_button | obj | 播放按钮 | 播放按钮的显示文字与跳转链接 | +| has_next | bool | 有无后续 | true:有;false:没有 | +| has_prev | bool | 有无前置 | true:有;false:没有 | +| item | array | 视频列表 | 注意是item没有复数 | +| last_watched_locator | obj | 上次播放定位 | 上次播放定位的一些信息 | +| order | array | 排列方式 | 排列方式的显示与值 | + +`episodic_button`对象 + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ------ | ----------------- | ------ | +| text | str | 四个大字“播放全部” | | +| uri | str | 跳转链接 | | + +`item`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---- | +| 0 | obj | 视频信息1 | | +| n | obj | 视频信息(n+1) | | +| …… | obj | …… | …… | + +`item`数组元素: + +| 字段 | 类型 | 内容 | 备注 | +| ----------------- | ----- | ----------------------- | ------------------------ | +| author | str | 作者昵称 | | +| bvid | str | 视频bv号 | | +| cover | str | 封面url | | +| cover_icon | str | 封面icon?未知 | | +| ctime | num | 应该是发布时间秒级时间戳 | | +| cursor_attr | obj | 上次观看标记 | | +| danmaku | num | 弹幕数 | | +| duration | num | 视频时长 | | +| first_cid | num | 首个频道cid | | +| goto | str | 应该是跳转去向类型 | 已知av为视频 | +| icon_type | num | icon类型?未知 | | +| is_cooperation | bool | 是否为合作视频 | 如果true会有粉色合作视频标签 | +| is_fold | bool | 是否折叠?未知 | | +| is_live_playback | bool | 是否为直播回放 | 如果true会有粉色直播回放标签 | +| is_onself | bool | 是否自己?未知 | | +| is_pgc | bool | 是否开pgc | | +| is_popular | bool | 是否上热门 | 如果true会有热门标签 | +| is_pugv | bool | 未知 | | +| is_steins | bool | 未知 | | +| is_ugcpay | bool | 未知 | | +| length | num | 长度?未知 | | +| param | str | 参数,实际为视频aid | | +| play | num | 播放量 | | +| publish_time_text | str | 发布时间汉字字符串版 | | +| state | bool | 状态?未知 | | +| subtitle | str | 子标题 | | +| three_points | array | 三点按钮内容 | 关于稍后再看和分享的显示内容 | +| title | str | 标题 | | +| tname | str | tag的name | | +| ugc_pay | num | ugc支付?未知 | | +| uri | str | APP 跳转 uri | | +| video | num | 未知 | | +| view_content | str | 播放量字符串版 | | + +`item`元素中的`cursor_attr`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ---- | ----------------------- | -------------------------------------- | +| is_last_watched_arc | bool | 是否为上次播放 | 如果ture则封面笼罩一层写有“上次播放”的灰幕 | +| rank | num | 视频所处该列表排名 | | + +`last_watched_locator`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------ | ----- | ----------------- | ------ | +| display_threshold | num | 显示阈值 | | +| insert_ranking | num | 嵌入排名 | | +| text | str | 定位上次观看字样 | | + +`order`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ----------------- | +| 0 | obj | 最新发布的内容 | 内包括文字和值 | +| 1 | obj | 最多播放的内容 | 内包括文字和值 | + +**示例:** + +查询用户mid=1240283469的稿件 +以播放量排序,显示3个稿件,但假设aid=1301087872及以前稿件已经加载过 + +> https://app.biliapi.com/x/v2/space/archive/cursor?vmid=1240283469&order=click&ps=3&aid=1301087872 + +输入浏览器 + +
+查看响应示例: + +```json + +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "episodic_button": { + "text": "播放全部", + "uri": "bilibili://music/playlist/spacepage/1240283469?desc=1\u0026offset=0\u0026oid=0\u0026order=time\u0026page_type=1\u0026playlist_intro=UP%E4%B8%BB%E7%9A%84%E5%85%A8%E9%83%A8%E8%A7%86%E9%A2%91\u0026ps=20\u0026sort_field=2\u0026sort_hidden=1\u0026total_count=33\u0026user_name=%E7%A5%9E%E5%9D%A1%E5%86%9C%E8%8E%AB" + }, + "order": [ + { + "title": "最新发布", + "value": "pubdate" + }, + { + "title": "最多播放", + "value": "click" + } + ], + "count": 33, + "item": [ + { + "title": "【神坡农二】后半段更是天籁!汉堡仙人神坡农二吃完快餐深情演唱《樱花树下的约定》", + "subtitle": "", + "tname": "搞笑", + "cover": "http://i2.hdslb.com/bfs/archive/3e5d02f50b2e0a756cc5e3dd7f705abc58c3a439.jpg", + "cover_icon": "", + "uri": "bilibili://video/1351875564?history_progress=0\u0026player_height=1920\u0026player_rotate=0\u0026player_width=1080", + "param": "1351875564", + "goto": "av", + "length": "", + "duration": 45, + "is_popular": false, + "is_steins": false, + "is_ugcpay": false, + "is_cooperation": false, + "is_pgc": false, + "is_live_playback": false, + "is_pugv": false, + "is_fold": false, + "is_oneself": false, + "play": 1248, + "danmaku": 1, + "ctime": 1710518403, + "ugc_pay": 0, + "author": "神坡农莫", + "state": false, + "bvid": "BV1H6421w7Gy", + "videos": 1, + "three_point": [ + { + "type": "addtoview", + "icon": "https://i0.hdslb.com/bfs/app/25cc01346574a601dafd45c94226d92a67eed79a.png", + "text": "添加至稍后再看" + }, + { + "type": "share", + "icon": "https://i0.hdslb.com/bfs/app/a5787f586c72f2d6f6ade4b33c64908938c4a01f.png", + "text": "分享", + "share_succ_toast": "分享成功", + "share_fail_toast": "分享失败", + "share_path": "pages/video/video?avid=1351875564", + "short_link": "https://b23.tv/BV1H6421w7Gy" + } + ], + "first_cid": 1471110689, + "cursor_attr": { + "is_last_watched_arc": false, + "rank": 1 + }, + "view_content": "1248", + "icon_type": 0, + "publish_time_text": "3月16日" + }, + { + "title": "【迪迦奥特曼】亲自配音?迪迦超战神联合网络新星神坡农二!共同打造奥特曼大电影!", + "subtitle": "", + "tname": "搞笑", + "cover": "http://i0.hdslb.com/bfs/archive/c6c94d16aeeefca148c1694e45fd352b22cac3fb.jpg", + "cover_icon": "", + "uri": "bilibili://video/1950389780?history_progress=0\u0026player_height=1080\u0026player_rotate=0\u0026player_width=1920", + "param": "1950389780", + "goto": "av", + "length": "", + "duration": 101, + "is_popular": false, + "is_steins": false, + "is_ugcpay": false, + "is_cooperation": false, + "is_pgc": false, + "is_live_playback": false, + "is_pugv": false, + "is_fold": false, + "is_oneself": false, + "play": 1184, + "danmaku": 0, + "ctime": 1707431804, + "ugc_pay": 0, + "author": "神坡农莫", + "state": false, + "bvid": "BV1fC411x7uf", + "videos": 1, + "three_point": [ + { + "type": "addtoview", + "icon": "https://i0.hdslb.com/bfs/app/25cc01346574a601dafd45c94226d92a67eed79a.png", + "text": "添加至稍后再看" + }, + { + "type": "share", + "icon": "https://i0.hdslb.com/bfs/app/a5787f586c72f2d6f6ade4b33c64908938c4a01f.png", + "text": "分享", + "share_succ_toast": "分享成功", + "share_fail_toast": "分享失败", + "share_path": "pages/video/video?avid=1950389780", + "short_link": "https://b23.tv/BV1fC411x7uf" + } + ], + "first_cid": 1434820367, + "cursor_attr": { + "is_last_watched_arc": false, + "rank": 2 + }, + "view_content": "1184", + "icon_type": 0, + "publish_time_text": "2月9日" + } + ], + "last_watched_locator": { + "display_threshold": 10, + "insert_ranking": 6, + "text": "定位至上次观看" + }, + "has_next": true, + "has_prev": true + } +} + +``` + +
+ + ### 查询用户投稿相簿预览
diff --git a/docs/video/info.md b/docs/video/info.md index 78f5943..1b1a5ee 100644 --- a/docs/video/info.md +++ b/docs/video/info.md @@ -71,7 +71,8 @@ | is_upower_preview | bool | 充电专属视频是否支持试看 | | | no_cache | bool | 是否不允许缓存? | | | pages | array | 视频分P列表 | | -| subtitle | obj | 视频CC字幕信息 | | +| subtitle | obj | 视频CC字幕信息 | | +| ugc_season | obj | 视频合集信息 | 不在合集中的视频无此项 | | staff | array | 合作成员列表 | 非合作视频无此项 | | is_season_display | bool | | | | user_garb | obj | 用户装扮信息 | | @@ -223,6 +224,220 @@ | is_fake_account | num | 0 | 作用尚不明确 | | is_deleted | num | 0 | 作用尚不明确 | +`ugc_season`对象: + +| 字段 | 类型 | 内容 | 备注 | +|------------|-------|---------|--------| +| id | num | 视频合集id | | +| title | str | 视频合集标题 | | +| mid | str | 视频合集作者id | | +| intro | str | 视频合集介绍 | | +| sign_state | num | ? | 作用尚不明确 | +| attribute | num | 稿件属性位 | 详情见[属性数据文档](attribute_data.md#attribute字段值(稿件属性位)) | +| sections | array | 视频合集中分部列表,名称可由up主自定义,默认为正片 | | +| stat | obj | 视频合集状态数 | | +| ep_count | num | 视频合集中视频数量 | | +| season_type | num | 作用尚不明确 | | +| is_pay_season | bool | 是否为付费合集 | | +| enable_vt | num | 作用尚不明确 | | + +`ugc_season`中的`sections`数组: + +| 字段 | 类型 | 内容 | 备注 | +|------------|-------|---------|--------| +| season_id | num | 视频合集中分部所属视频合集id | | +| section_id | num | 视频合集中分部id | | +| title | str | 视频合集中分部标题 | | +| type | num | ? | 作用尚不明确 | +| episodes | array | 视频合集中分部的视频列表 | | + +`sections`中的`episodes`数组: + +| 字段 | 类型 | 内容 | 备注 | +|------------|-------|---------|--------| +| season_id | num | 视频合集中分部中视频所属视频合集id | | +| section_id | num | 视频合集中视频合集中分部中视频所属视频合集分部id | | +| id | num | 视频合集分部中视频id(以下简称视频) | | +| aid | num | 视频aid | | +| cid | num | 视频cid | | +| title | str | 视频标题 | | +| ~~attribute~~(已经弃用) | ~~num~~ | ~~稿件属性位配置~~ | 详情见[属性数据文档](attribute_data.md#attribute字段值(稿件属性位)) | +| arc | obj | 视频详细信息 | 基本同「[获取视频详细信息(web端)](#获取视频详细信息(web端))」中的data对象 | + +`ugc_season`中的`stat`对象: + +|字段 | 类型 | 内容 | 备注 | +|------------|-------|---------|--------| +| season_id | num | 视频合集id | | +| view | num | 视频合集总浏览量 | | +| danmaku | num | 视频合集总弹幕量 | | +| reply | num | 视频合集总评论量 | | +| fav | num | 视频合集总收藏数 | | +| coin | num | 视频合集总投币数 | | +| share | num | 视频合集总分享数 | | +| now_rank | num | 视频合集当前排名 | | +| his_rank | num | 视频合集历史排名 | | +| like | num | 视频合集总获赞数 | | +| vt | num | 作用尚不明确 | | +| vv | num | 作用尚不明确 | | + +`ugc_season`示例 + +```jsonc + "ugc_season": { + "id": 2974525, + "title": "楚汉传奇", + "cover": "https://archive.biliimg.com/bfs/archive/5a853e8bd10a041360b45a462785d90a58ec469e.png", + "mid": 1557073149, + "intro": "", + "sign_state": 0, + "attribute": 140, + "sections": [ + { + "season_id": 2974525, + "id": 3341804, + "title": "正片", + "type": 1, + "episodes": [ + { + "season_id": 2974525, + "section_id": 3341804, + "id": 64976947, + "aid": 1804383120, + "cid": 1541093346, + "title": "项燕的10万大军惨败秦国,临死前,立下狠誓“楚虽三户,亡秦必楚”", + "attribute": 0, + "arc": { + "aid": 1804383120, + "videos": 0, + "type_id": 0, + "type_name": "", + "copyright": 0, + "pic": "http://i1.hdslb.com/bfs/archive/9d0ebd0a8abd7b005466cb57632ddaa550d24dab.jpg", + "title": "项燕的10万大军惨败秦国,临死前,立下狠誓“楚虽三户,亡秦必楚”", + "pubdate": 1715427472, + "ctime": 1715427472, + "desc": "", + "state": 0, + "duration": 612, + "rights": { + "bp": 0, + "elec": 0, + "download": 0, + "movie": 0, + "pay": 0, + "hd5": 0, + "no_reprint": 0, + "autoplay": 0, + "ugc_pay": 0, + "is_cooperation": 0, + "ugc_pay_preview": 0, + "arc_pay": 0, + "free_watch": 0 + }, + "author": { + "mid": 0, + "name": "", + "face": "" + }, + "stat": { + "aid": 1804383120, + "view": 787330, + "danmaku": 1298, + "reply": 774, + "fav": 2589, + "coin": 1947, + "share": 271, + "now_rank": 0, + "his_rank": 0, + "like": 12320, + "dislike": 0, + "evaluation": "", + "argue_msg": "", + "vt": 2630119, + "vv": 787330 + }, + "dynamic": "", + "dimension": { + "width": 0, + "height": 0, + "rotate": 0 + }, + "desc_v2": null, + "is_chargeable_season": false, + "is_blooper": false, + "enable_vt": 0, + "vt_display": "" + }, + "page": { + "cid": 1541093346, + "page": 1, + "from": "vupload", + "part": "项燕的10万大军惨败秦国,临死前,立下狠誓“楚虽三户,亡秦必楚”", + "duration": 612, + "vid": "", + "weblink": "", + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + } + }, + "bvid": "BV1Tb421b7mi", + "pages": [ + { + "cid": 1541093346, + "page": 1, + "from": "vupload", + "part": "项燕的10万大军惨败秦国,临死前,立下狠誓“楚虽三户,亡秦必楚”", + "duration": 612, + "vid": "", + "weblink": "", + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + } + } + ] + }, + { + "season_id": 2974525, + "section_id": 3341804, + "id": 65121012, + "aid": 1004394994, + "cid": 1542426326, + "title": "卢绾斗鸡输了,眼看十个手指头保不住,刘邦倾家荡产帮了他", + "attribute": 0, + "arc": { + /// + } + } + ] + } + ], + "stat": { + "season_id": 3617611, + "view": 1826438, + "danmaku": 5193, + "reply": 3036, + "fav": 5970, + "coin": 2303, + "share": 663, + "now_rank": 0, + "his_rank": 0, + "like": 40848, + "vt": 0, + "vv": 0 + }, + "ep_count": 21, + "season_type": 1, + "is_pay_season": false, + "enable_vt": 0 + + } +``` + `staff`数组: | 项 | 类型 | 内容 | 备注 | diff --git a/docs/video/interact_video.md b/docs/video/interact_video.md index 103bf2f..c87892d 100644 --- a/docs/video/interact_video.md +++ b/docs/video/interact_video.md @@ -16,7 +16,7 @@ | ------------- | ---- | -------- | ------------ | ------------------ | | aid | num | 稿件avid | 必要(可选) | avid与bvid任选一个 | | bvid | str | 稿件bvid | 必要(可选) | avid与bvid任选一个 | -| graph_version | num | 剧情图id | 必要 | 位于`player.so`中 | +| graph_version | num | 剧情图id | 必要 | 可于[播放器](/docs/video/player.md)接口的 `interaction` 對象取得 | | edge_id | num | 模块编号 | 非必要 | 0或留空为起始模块 | **json回复:** @@ -366,4 +366,4 @@ curl -G 'https://api.bilibili.com/x/stein/edgeinfo_v2' \ } ``` -
\ No newline at end of file + diff --git a/docs/video/player.md b/docs/video/player.md index 5b18cdf..66bce57 100644 --- a/docs/video/player.md +++ b/docs/video/player.md @@ -61,6 +61,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括: | online_count | num | 在线人数 | | | need_login_subtitle | bool | 是否必须登陆才能查看字幕 | 是的 | | preview_toast | str | `为创作付费,购买观看完整视频\|购买观看` | | +| interaction | obj | 互动视频资讯 | 若非互动视频,则无该栏位(直接没有该键,而非栏位值为空)| | options | obj | | | | guide_attention | any | | | | jump_card | any | | | @@ -139,6 +140,16 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括: | team_type | str | | | | team_name | str | | | +`data` 对象中的 `interaction` 对象 (如果有): + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ----- | -------- | ---- | +| graph_version | num | 剧情图id | | +| msg | str | | 未登入有机会返回 `登录后才能体验全部结局哦~` | +| error_toast | str | 错误信息? | 所有互动视频皆返回 `剧情图被修改已失效`,不确定有没有例外 | +| mark | num | 0? | | +| need_reload | num | 0? | | + `data`对象中的`elec_high_level`对象: | 字段 | 类型 | 内容 | 备注 | diff --git a/docs/video/recommend.md b/docs/video/recommend.md index c7dea12..42704c4 100644 --- a/docs/video/recommend.md +++ b/docs/video/recommend.md @@ -4,36 +4,36 @@ > https://api.bilibili.com/x/web-interface/archive/related -*请求方式:GET* +*请求方式:GET* 最多获取40条推荐视频 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | -------- | ------------ | ------------------ | -| aid | num | 稿件avid | 必要(可选) | avid与bvid任选一个 | -| bvid | str | 稿件bvid | 必要(可选) | avid与bvid任选一个 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|------|-----|--------|--------|---------------| +| aid | num | 稿件avid | 必要(可选) | avid与bvid任选一个 | +| bvid | str | 稿件bvid | 必要(可选) | avid与bvid任选一个 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ------ | -------- | ---------------------------- | -| code | num | 返回值 | 0:成功
-400:请求错误 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | array | 推荐列表 | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-------|------|----------------------| +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | array | 推荐列表 | | `data`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | ------------- | ---- | -| 0 | obj | 推荐视频1 | | -| n | obj | 推荐视频(n+1) | | -| …… | obj | …… | …… | -| 39 | obj | 推荐视频40 | | +| 项 | 类型 | 内容 | 备注 | +|----|-----|-----------|----| +| 0 | obj | 推荐视频1 | | +| n | obj | 推荐视频(n+1) | | +| …… | obj | …… | …… | +| 39 | obj | 推荐视频40 | | `data`数组中的对象: @@ -62,234 +62,240 @@ curl -G 'https://api.bilibili.com/x/web-interface/archive/related' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": [{ - "aid": 21322566, - "videos": 1, - "tid": 124, - "tname": "趣味科普人文", - "copyright": 1, - "pic": "http://i2.hdslb.com/bfs/archive/37f383ac35d386af1fc578108ad643e5952ff66a.jpg", - "title": "bilibili上市宣传视频", - "pubdate": 1522205992, - "ctime": 1522205994, - "desc": "今天晚上9点30分(北京时间),bilibili将在美国纳斯达克(NASDAQ)证券交易所挂牌上市。", - "state": 0, - "attribute": 16768, - "duration": 155, - "rights": { - "bp": 0, - "elec": 0, - "download": 0, - "movie": 0, - "pay": 0, - "hd5": 1, - "no_reprint": 1, - "autoplay": 1, - "ugc_pay": 0, - "is_cooperation": 0, - "ugc_pay_preview": 0, - "no_background": 0 - }, - "owner": { - "mid": 208259, - "name": "陈睿", - "face": "http://i2.hdslb.com/bfs/face/8920e6741fc2808cce5b81bc27abdbda291655d3.png" - }, - "stat": { - "aid": 21322566, - "view": 2129084, - "danmaku": 51108, - "reply": 18119, - "favorite": 46524, - "coin": 85223, - "share": 16669, - "now_rank": 0, - "his_rank": 1, - "like": 95621, - "dislike": 0 - }, - "dynamic": "今天晚上9点30分(北京时间),bilibili将在美国纳斯达克(NASDAQ)证券交易所挂牌上市。", - "cid": 35063529, - "dimension": { - "width": 1920, - "height": 1080, - "rotate": 0 - }, - "bvid": "" - }, { - "aid": 271, - "videos": 1, - "tid": 53, - "tname": "", - "copyright": 1, - "pic": "http://i1.hdslb.com/bfs/archive/a5980672f3d03e8292148748a63de99cd45679d3.jpg", - "title": "弹幕测试专用", - "pubdate": 1249886475, - "ctime": 1497344798, - "desc": "给职人发射弹幕定位用.", - "state": 0, - "attribute": 32768, - "duration": 4558, - "rights": { - "bp": 0, - "elec": 0, - "download": 0, - "movie": 0, - "pay": 0, - "hd5": 0, - "no_reprint": 0, - "autoplay": 1, - "ugc_pay": 0, - "is_cooperation": 0, - "ugc_pay_preview": 0, - "no_background": 0 - }, - "owner": { - "mid": 2, - "name": "碧诗", - "face": "http://i1.hdslb.com/bfs/face/3e60b20604b6fdc7d081eb6a1ec72aa47c5a3964.jpg" - }, - "stat": { - "aid": 271, - "view": 2532266, - "danmaku": 699214, - "reply": 10224, - "favorite": 34927, - "coin": 9712, - "share": 3586, - "now_rank": 0, - "his_rank": 182, - "like": 27257, - "dislike": 0 - }, - "dynamic": "", - "cid": 3659795, - "dimension": { - "width": 0, - "height": 0, - "rotate": 0 - }, - "bvid": "" - }, { - "aid": 106, - "videos": 1, - "tid": 26, - "tname": "音MAD", - "copyright": 2, - "pic": "http://i2.hdslb.com/bfs/archive/34d8fdf08d1fe28c229dec2fd122815a1d012908.jpg", - "title": "最终鬼畜蓝蓝路", - "pubdate": 1350316631, - "ctime": 1497348932, - "desc": "sm2057168 把这个音mad的图腾和支柱从UP的怒火中搬出来重新立好,这是我所能做的最后的事情了。", - "state": 0, - "attribute": 32768, - "duration": 318, - "rights": { - "bp": 0, - "elec": 0, - "download": 0, - "movie": 0, - "pay": 0, - "hd5": 0, - "no_reprint": 0, - "autoplay": 1, - "ugc_pay": 0, - "is_cooperation": 0, - "ugc_pay_preview": 0, - "no_background": 0 - }, - "owner": { - "mid": 8839, - "name": "TSA", - "face": "http://i0.hdslb.com/bfs/face/0ef5daf622bf4789034b3c15147a45e11c48c9b3.jpg" - }, - "stat": { - "aid": 106, - "view": 7607070, - "danmaku": 212896, - "reply": 41521, - "favorite": 200705, - "coin": 51673, - "share": 38049, - "now_rank": 0, - "his_rank": 22, - "like": 148550, - "dislike": 0 - }, - "dynamic": "", - "cid": 3635863, - "dimension": { - "width": 0, - "height": 0, - "rotate": 0 - }, - "bvid": "" - }, { - "aid": 50025934, - "videos": 1, - "tid": 122, - "tname": "野生技术协会", - "copyright": 1, - "pic": "http://i0.hdslb.com/bfs/archive/af534399612085dbd916381b3377b18c765fab2d.png", - "title": "B站又一位Lv9的up诞生了", - "pubdate": 1555829289, - "ctime": 1555829289, - "desc": "要不关注一下?", - "state": 0, - "attribute": 16512, - "duration": 45, - "rights": { - "bp": 0, - "elec": 0, - "download": 0, - "movie": 0, - "pay": 0, - "hd5": 0, - "no_reprint": 1, - "autoplay": 1, - "ugc_pay": 0, - "is_cooperation": 0, - "ugc_pay_preview": 0, - "no_background": 0 - }, - "owner": { - "mid": 174161216, - "name": "血色红茶Xenomprph", - "face": "http://i1.hdslb.com/bfs/face/5a5ececb9b7a688751024c60063ba5853bed7e1e.jpg" - }, - "stat": { - "aid": 50025934, - "view": 159595, - "danmaku": 62, - "reply": 153, - "favorite": 301, - "coin": 1059, - "share": 55, - "now_rank": 0, - "his_rank": 0, - "like": 1219, - "dislike": 0 - }, - "dynamic": "", - "cid": 87577929, - "dimension": { - "width": 2560, - "height": 1440, - "rotate": 0 - }, - "bvid": "" - }, - ………… - ] + "code": 0, + "message": "0", + "ttl": 1, + "data": [ + { + "aid": 21322566, + "videos": 1, + "tid": 124, + "tname": "趣味科普人文", + "copyright": 1, + "pic": "http://i2.hdslb.com/bfs/archive/37f383ac35d386af1fc578108ad643e5952ff66a.jpg", + "title": "bilibili上市宣传视频", + "pubdate": 1522205992, + "ctime": 1522205994, + "desc": "今天晚上9点30分(北京时间),bilibili将在美国纳斯达克(NASDAQ)证券交易所挂牌上市。", + "state": 0, + "attribute": 16768, + "duration": 155, + "rights": { + "bp": 0, + "elec": 0, + "download": 0, + "movie": 0, + "pay": 0, + "hd5": 1, + "no_reprint": 1, + "autoplay": 1, + "ugc_pay": 0, + "is_cooperation": 0, + "ugc_pay_preview": 0, + "no_background": 0 + }, + "owner": { + "mid": 208259, + "name": "陈睿", + "face": "http://i2.hdslb.com/bfs/face/8920e6741fc2808cce5b81bc27abdbda291655d3.png" + }, + "stat": { + "aid": 21322566, + "view": 2129084, + "danmaku": 51108, + "reply": 18119, + "favorite": 46524, + "coin": 85223, + "share": 16669, + "now_rank": 0, + "his_rank": 1, + "like": 95621, + "dislike": 0 + }, + "dynamic": "今天晚上9点30分(北京时间),bilibili将在美国纳斯达克(NASDAQ)证券交易所挂牌上市。", + "cid": 35063529, + "dimension": { + "width": 1920, + "height": 1080, + "rotate": 0 + }, + "bvid": "" + }, + { + "aid": 271, + "videos": 1, + "tid": 53, + "tname": "", + "copyright": 1, + "pic": "http://i1.hdslb.com/bfs/archive/a5980672f3d03e8292148748a63de99cd45679d3.jpg", + "title": "弹幕测试专用", + "pubdate": 1249886475, + "ctime": 1497344798, + "desc": "给职人发射弹幕定位用.", + "state": 0, + "attribute": 32768, + "duration": 4558, + "rights": { + "bp": 0, + "elec": 0, + "download": 0, + "movie": 0, + "pay": 0, + "hd5": 0, + "no_reprint": 0, + "autoplay": 1, + "ugc_pay": 0, + "is_cooperation": 0, + "ugc_pay_preview": 0, + "no_background": 0 + }, + "owner": { + "mid": 2, + "name": "碧诗", + "face": "http://i1.hdslb.com/bfs/face/3e60b20604b6fdc7d081eb6a1ec72aa47c5a3964.jpg" + }, + "stat": { + "aid": 271, + "view": 2532266, + "danmaku": 699214, + "reply": 10224, + "favorite": 34927, + "coin": 9712, + "share": 3586, + "now_rank": 0, + "his_rank": 182, + "like": 27257, + "dislike": 0 + }, + "dynamic": "", + "cid": 3659795, + "dimension": { + "width": 0, + "height": 0, + "rotate": 0 + }, + "bvid": "" + }, + { + "aid": 106, + "videos": 1, + "tid": 26, + "tname": "音MAD", + "copyright": 2, + "pic": "http://i2.hdslb.com/bfs/archive/34d8fdf08d1fe28c229dec2fd122815a1d012908.jpg", + "title": "最终鬼畜蓝蓝路", + "pubdate": 1350316631, + "ctime": 1497348932, + "desc": "sm2057168 把这个音mad的图腾和支柱从UP的怒火中搬出来重新立好,这是我所能做的最后的事情了。", + "state": 0, + "attribute": 32768, + "duration": 318, + "rights": { + "bp": 0, + "elec": 0, + "download": 0, + "movie": 0, + "pay": 0, + "hd5": 0, + "no_reprint": 0, + "autoplay": 1, + "ugc_pay": 0, + "is_cooperation": 0, + "ugc_pay_preview": 0, + "no_background": 0 + }, + "owner": { + "mid": 8839, + "name": "TSA", + "face": "http://i0.hdslb.com/bfs/face/0ef5daf622bf4789034b3c15147a45e11c48c9b3.jpg" + }, + "stat": { + "aid": 106, + "view": 7607070, + "danmaku": 212896, + "reply": 41521, + "favorite": 200705, + "coin": 51673, + "share": 38049, + "now_rank": 0, + "his_rank": 22, + "like": 148550, + "dislike": 0 + }, + "dynamic": "", + "cid": 3635863, + "dimension": { + "width": 0, + "height": 0, + "rotate": 0 + }, + "bvid": "" + }, + { + "aid": 50025934, + "videos": 1, + "tid": 122, + "tname": "野生技术协会", + "copyright": 1, + "pic": "http://i0.hdslb.com/bfs/archive/af534399612085dbd916381b3377b18c765fab2d.png", + "title": "B站又一位Lv9的up诞生了", + "pubdate": 1555829289, + "ctime": 1555829289, + "desc": "要不关注一下?", + "state": 0, + "attribute": 16512, + "duration": 45, + "rights": { + "bp": 0, + "elec": 0, + "download": 0, + "movie": 0, + "pay": 0, + "hd5": 0, + "no_reprint": 1, + "autoplay": 1, + "ugc_pay": 0, + "is_cooperation": 0, + "ugc_pay_preview": 0, + "no_background": 0 + }, + "owner": { + "mid": 174161216, + "name": "血色红茶Xenomprph", + "face": "http://i1.hdslb.com/bfs/face/5a5ececb9b7a688751024c60063ba5853bed7e1e.jpg" + }, + "stat": { + "aid": 50025934, + "view": 159595, + "danmaku": 62, + "reply": 153, + "favorite": 301, + "coin": 1059, + "share": 55, + "now_rank": 0, + "his_rank": 0, + "like": 1219, + "dislike": 0 + }, + "dynamic": "", + "cid": 87577929, + "dimension": { + "width": 2560, + "height": 1440, + "rotate": 0 + }, + "bvid": "" + } + … + … + … + … + ] } ``` - ## 获取首页视频推荐列表(web端) > https://api.bilibili.com/x/web-interface/wbi/index/top/feed/rcmd @@ -300,98 +306,98 @@ curl -G 'https://api.bilibili.com/x/web-interface/archive/related' \ 最多获取30条推荐视频,直播及推荐边栏 -**url参数:** +**url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -|---------------|------|------------------------|--------|-------------------------------------------------------| -| fresh_type | num | 相关性 | 非必要 | 默认为 4
值越大推荐内容越相关 | -| ps | num | 单页返回的记录条数 | 非必要 | 默认为 12, 留空即最大值为 30 | -| fresh_idx | num | 当前翻页号 | 非必要 | 以 1 开始 | -| fresh_idx_1h | num | 当前翻页号(一小时前?) | 非必要 | 以 1 开始, 默认与 fresh_idx 内容相同 | -| brush | num | 刷子? | 非必要 | 以 1 开始, 默认与 fresh_idx 内容相同 | -| fetch_row | num | 本次抓取的最后一行行号 | 非必要 | 1 递归加上本次抓取总行数 | -| web_location | num | 网页位置 | 非必要 | 主页为 1430650 | -| y_num | num | 普通列数 | 非必要 | 一行中视频,直播及广告数 | -| last_y_num | num | 总列数 | 非必要 | 普通列数 + 边栏列数 | -| feed_version | str | V8 | 非必要 | 作用尚不明确 | -| homepage_ver | num | 1 | 非必要 | 首页版本 | -| screen | str | 浏览器视口大小 | 非必要 | 水平在前垂直在后以减号分割 | -| seo_info | str | 空 | 非必要 | 作用尚不明确 | -| last_showlist | str | 上次抓取的视频av号列表 | 非必要 | av与数字间用下划线分隔, 若视频UP主已关注则中间再插入n | -| uniq_id | str | ??? | 非必要 | 作用尚不明确 | -| w_rid | str | WBI 签名 | 非必要 | 见[WBI 签名](../misc/sign/wbi.md) | -| wts | num | UNIX 时间戳 | 非必要 | 见[WBI 签名](../misc/sign/wbi.md) | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|---------------|-----|--------------|-----|--------------------------------| +| fresh_type | num | 相关性 | 非必要 | 默认为 4
值越大推荐内容越相关 | +| ps | num | 单页返回的记录条数 | 非必要 | 默认为 12, 留空即最大值为 30 | +| fresh_idx | num | 当前翻页号 | 非必要 | 以 1 开始 | +| fresh_idx_1h | num | 当前翻页号(一小时前?) | 非必要 | 以 1 开始, 默认与 fresh_idx 内容相同 | +| brush | num | 刷子? | 非必要 | 以 1 开始, 默认与 fresh_idx 内容相同 | +| fetch_row | num | 本次抓取的最后一行行号 | 非必要 | 1 递归加上本次抓取总行数 | +| web_location | num | 网页位置 | 非必要 | 主页为 1430650 | +| y_num | num | 普通列数 | 非必要 | 一行中视频,直播及广告数 | +| last_y_num | num | 总列数 | 非必要 | 普通列数 + 边栏列数 | +| feed_version | str | V8 | 非必要 | 作用尚不明确 | +| homepage_ver | num | 1 | 非必要 | 首页版本 | +| screen | str | 浏览器视口大小 | 非必要 | 水平在前垂直在后以减号分割 | +| seo_info | str | 空 | 非必要 | 作用尚不明确 | +| last_showlist | str | 上次抓取的视频av号列表 | 非必要 | av与数字间用下划线分隔, 若视频UP主已关注则中间再插入n | +| uniq_id | str | ??? | 非必要 | 作用尚不明确 | +| w_rid | str | WBI 签名 | 非必要 | 见[WBI 签名](../misc/sign/wbi.md) | +| wts | num | UNIX 时间戳 | 非必要 | 见[WBI 签名](../misc/sign/wbi.md) | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|------|----------|------------------------------| -| code | num | 返回值 | 0:成功
-400:请求错误 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|----------------------| +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -|--------------------------|-------|-----------|--------------------------------| -| business_card | null | | | -| floor_info | null | | | -| item | array | 推荐列表 | | -| mid | num | 用户mid | 未登录为0 | -| preload_expose_pct | num | 0.5 | 用于预加载? | -| preload_floor_expose_pct | num | 0.5 | 用于预加载? | +| 字段 | 类型 | 内容 | 备注 | +|--------------------------|-------|-------|--------------------| +| business_card | null | | | +| floor_info | null | | | +| item | array | 推荐列表 | | +| mid | num | 用户mid | 未登录为0 | +| preload_expose_pct | num | 0.5 | 用于预加载? | +| preload_floor_expose_pct | num | 0.5 | 用于预加载? | | side_bar_column | array | 边栏列表? | 可参考字段 item 及对应功能文档 | -| user_feature | null | | | +| user_feature | null | | | `data`对象中`item`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -|--------------------------|------|--------------------|-------------------------------------------| -| av_feature | null | | | -| business_info | obj | 商业推广信息 | 无为null
对于推广内容,视频信息会在这个dict的"archive"属性下 | -| bvid | str | 视频bvid | | -| cid | num | 稿件cid | | -| dislike_switch | num | 1 | 显示不感兴趣开关? | -| dislike_switch_pc | num | 0 | 显示不感兴趣开关(PC)? | -| duraion | num | 视频时长 | | -| enable_vt | num | 0 | 作用尚不明确 | -| goto | num | 目标类型 | av: 视频
ogv: 边栏
live: 直播 | -| duraion | num | 视频时长 | | -| id | num | 视频aid / 直播间id | | -| is_followed | num | 已关注 | 0: 未关注
1: 已关注 | -| is_stock | num | 0 | 作用尚不明确 | -| ogv_info | null | | | -| owner | obj | UP主 | | -| pic | str | 封面 | | -| pic_4_3 | str | 封面(4:3) | | -| pos | num | 0 | 位置? | -| pubdate | num | 发布时间 | | -| rcmd_reason | obj | 推荐理由 | 直播等为null | -| room_info | obj | 直播间信息 | 普通视频等为null, 参见[直播](../live) | -| show_info | num | 展示信息 | 1: 普通视频
0: 直播 | -| stat | obj | 视频状态信息 | 直播等为null, 参见[视频基本信息](info.md) | -| title | str | 标题 | | -| track_id | str | 跟踪标识? | | -| uri | str | 目标页 URI | | -| vt_display | str | 空 | 作用尚不明确 | +| 字段 | 类型 | 内容 | 备注 | +|-------------------|------|---------------|----------------------------------------------| +| av_feature | null | | | +| business_info | obj | 商业推广信息 | 无为null
对于推广内容,视频信息会在这个dict的"archive"属性下 | +| bvid | str | 视频bvid | | +| cid | num | 稿件cid | | +| dislike_switch | num | 1 | 显示不感兴趣开关? | +| dislike_switch_pc | num | 0 | 显示不感兴趣开关(PC)? | +| duraion | num | 视频时长 | | +| enable_vt | num | 0 | 作用尚不明确 | +| goto | num | 目标类型 | av: 视频
ogv: 边栏
live: 直播 | +| duraion | num | 视频时长 | | +| id | num | 视频aid / 直播间id | | +| is_followed | num | 已关注 | 0: 未关注
1: 已关注 | +| is_stock | num | 0 | 作用尚不明确 | +| ogv_info | null | | | +| owner | obj | UP主 | | +| pic | str | 封面 | | +| pic_4_3 | str | 封面(4:3) | | +| pos | num | 0 | 位置? | +| pubdate | num | 发布时间 | | +| rcmd_reason | obj | 推荐理由 | 直播等为null | +| room_info | obj | 直播间信息 | 普通视频等为null, 参见[直播](../live) | +| show_info | num | 展示信息 | 1: 普通视频
0: 直播 | +| stat | obj | 视频状态信息 | 直播等为null, 参见[视频基本信息](info.md) | +| title | str | 标题 | | +| track_id | str | 跟踪标识? | | +| uri | str | 目标页 URI | | +| vt_display | str | 空 | 作用尚不明确 | `item`数组中的对象中的`owner`对象: -| 字段 | 类型 | 内容 | 备注 | -|------|------|---------|-------| -| face | str | 头像URL | | -| mid | num | UP主mid | | -| name | str | UP昵称 | | +| 字段 | 类型 | 内容 | 备注 | +|------|-----|--------|----| +| face | str | 头像URL | | +| mid | num | UP主mid | | +| name | str | UP昵称 | | `item`数组中的对象中的`rcmd_reason`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|------|---------|--------------------------------------| -| reason_type | num | 原因类型 | 0: 无
1: 已关注
3: 高点赞量 | -| content | str | 原因描述 | 当 reason_type 为 3 时存在 | +| 字段 | 类型 | 内容 | 备注 | +|-------------|-----|------|-------------------------------| +| reason_type | num | 原因类型 | 0: 无
1: 已关注
3: 高点赞量 | +| content | str | 原因描述 | 当 reason_type 为 3 时存在 | **示例:** @@ -411,738 +417,934 @@ curl -G 'https://api.bilibili.com/x/web-interface/wbi/index/top/feed/rcmd' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "item": [ - { - "id": 1354614895, - "bvid": "BV1Dz42117GZ", - "cid": 1548835687, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1Dz42117GZ", - "pic": "http://i1.hdslb.com/bfs/archive/b47154987b4c0f40a39779c09a9d485176d1238f.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/archive/b47154987b4c0f40a39779c09a9d485176d1238f.jpg", - "title": "做数学题总是抄错 | 看错 | 算错 怎么破?决定高考分数的这个非智力因素不容忽视", - "duration": 882, - "pubdate": 1715946937, - "owner": { - "mid": 374484802, - "name": "数学阮禾老师", - "face": "https://i1.hdslb.com/bfs/face/4df57e4b48b04206bce7572831688741580ca0e1.jpg" - }, - "stat": { - "view": 48250, - "like": 2959, - "danmaku": 433, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1255924089, - "bvid": "BV1DJ4m1u7Mp", - "cid": 1600833978, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1DJ4m1u7Mp", - "pic": "http://i0.hdslb.com/bfs/archive/5068d860e8bbc37679ece933aa8e6d8428cfb5c1.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-07-01-1145021255924089_1612_gener.jpg", - "title": "人类这种生物,看到按钮就会按下去。", - "duration": 326, - "pubdate": 1719805500, - "owner": { - "mid": 5616993, - "name": "马夫鱼33", - "face": "https://i0.hdslb.com/bfs/face/4c2af23046147e91ce5a4af3375464fdcf1956e6.jpg" - }, - "stat": { - "view": 667067, - "like": 28529, - "danmaku": 483, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "content": "2万点赞", - "reason_type": 3 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1306020278, - "bvid": "BV1rM4m117Ry", - "cid": 1608959606, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1rM4m117Ry", - "pic": "http://i0.hdslb.com/bfs/archive/49f62c70f17d0afe00e5e620dd366c68149c780e.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/archive/49f62c70f17d0afe00e5e620dd366c68149c780e.jpg", - "title": "Axios 前后端对接教程|HTTP", - "duration": 352, - "pubdate": 1720440325, - "owner": { - "mid": 260736087, - "name": "三分钟实验室", - "face": "https://i0.hdslb.com/bfs/face/6172aa089ed0b26ffffb72018422eb4280d4da41.jpg" - }, - "stat": { - "view": 7527, - "like": 365, - "danmaku": 1, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1755972439, - "bvid": "BV1g4421D7qn", - "cid": 1597039275, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1g4421D7qn", - "pic": "http://i2.hdslb.com/bfs/archive/35ee2ffaab4206d17893a3f48cdf512b4f028fdc.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-26-21354756381755972439_16_12_5326_crop.jpg", - "title": "《我爱发明》里那些抽象发明 歹徒兴奋床!", - "duration": 659, - "pubdate": 1719408945, - "owner": { - "mid": 348989367, - "name": "沫子瞪片", - "face": "https://i0.hdslb.com/bfs/face/a2131d38a2ea73f16ff25e61dbeb40377233f552.jpg" - }, - "stat": { - "view": 1540767, - "like": 65409, - "danmaku": 5383, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1055953358, - "bvid": "BV1jH4y1w7A6", - "cid": 1598484848, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1jH4y1w7A6", - "pic": "http://i1.hdslb.com/bfs/archive/accdb655b4f2bef665e6fdedb4de28de2feda078.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-28-12560692491055953358_16_12_2438_crop.jpg", - "title": "为什么一个数的5次方个位数是自己!", - "duration": 327, - "pubdate": 1719550565, - "owner": { - "mid": 483522694, - "name": "火星课堂", - "face": "https://i1.hdslb.com/bfs/face/fe751f0d7062c8e8adcef501390d48330fac0514.jpg" - }, - "stat": { - "view": 244673, - "like": 5406, - "danmaku": 210, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": { - "id": 0, - "contract_id": "", - "res_id": 1055953358, - "asg_id": 0, - "pos_num": 0, - "name": "", - "pic": "", - "litpic": "", - "url": "", - "style": 0, - "agency": "", - "label": "", - "intro": "", - "creative_type": 0, - "request_id": "1721098961752q172a25a216a162q1363", - "src_id": 5637, - "area": 0, - "is_ad_loc": true, - "ad_cb": "", - "title": "", - "server_type": 0, - "cm_mark": 0, - "stime": 0, - "mid": "", - "activity_type": 0, - "epid": 0, - "sub_title": "", - "ad_desc": "", - "adver_name": "", - "null_frame": false, - "pic_main_color": "", - "card_type": 0, - "business_mark": null, - "inline": { - "inline_use_same": 0, - "inline_type": 0, - "inline_url": "", - "inline_barrage_switch": 0 - }, - "operater": "", - "jump_target": 0, - "show_urls": null, - "click_urls": null - }, - "is_stock": 1, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1763571437, - "bvid": "", - "cid": 0, - "goto": "live", - "uri": "https://live.bilibili.com/1763571437", - "pic": "http://i0.hdslb.com/bfs/live/new_room_cover/f1787ef2ce4a2a031fb4a6a63b62d15493268d71.jpg", - "pic_4_3": "", - "title": "【新V】今天不要再把自己笨哭了", - "duration": 0, - "pubdate": 0, - "owner": { - "mid": 3546712666802274, - "name": "伊柒璇儿_鹤熙冠", - "face": "https://i0.hdslb.com/bfs/face/3e0ff3d7d53b9ac1a2d90ea563e22d3f70ad28cc.jpg" - }, - "stat": null, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": null, - "show_info": 0, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": { - "room_id": 1763571437, - "uid": 3546712666802274, - "live_status": 1, - "show": { - "short_id": 0, - "title": "【新V】今天不要再把自己笨哭了", - "cover": "http://i0.hdslb.com/bfs/live/new_room_cover/f1787ef2ce4a2a031fb4a6a63b62d15493268d71.jpg", - "keyframe": "http://i0.hdslb.com/bfs/live-key-frame/keyframe07161101001763571437k9l40v.jpg", - "popularity_count": 8539, - "tag_list": null, - "live_start_time": 0, - "live_id": 0, - "hidden_online": false - }, - "area": { - "area_id": 0, - "area_name": "虚拟日常", - "parent_area_id": 9, - "parent_area_name": "虚拟主播", - "old_area_id": 0, - "old_area_name": "", - "old_area_tag": "", - "area_pk_status": 0, - "is_video_room": false - }, - "watched_show": { - "switch": true, - "num": 168, - "text_small": "168", - "text_large": "168人看过", - "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", - "icon_location": "", - "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" - } - }, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1855792572, - "bvid": "BV16s421T7CU", - "cid": 1587596195, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV16s421T7CU", - "pic": "http://i2.hdslb.com/bfs/archive/1b9d9799260a075b094212bf79e3d7ccb9e04087.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-19-14044883851855792572_16_12_7260_crop.jpg", - "title": "压缩蚊件.zip", - "duration": 66, - "pubdate": 1718777086, - "owner": { - "mid": 173947574, - "name": "好奇五先生", - "face": "https://i2.hdslb.com/bfs/face/1c69fff12a2d0d50e71931cef0486ab919a818a2.jpg" - }, - "stat": { - "view": 951633, - "like": 22930, - "danmaku": 932, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1405866842, - "bvid": "BV11r421F7E8", - "cid": 1589772517, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV11r421F7E8", - "pic": "http://i2.hdslb.com/bfs/archive/50b1bb8d227d17a3b6195e80128ab295d152d3be.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-20-2148551405866842_1612_gener.jpg", - "title": "【音游推荐】暑期音游推荐,不同基础都可入坑", - "duration": 311, - "pubdate": 1718891332, - "owner": { - "mid": 592146708, - "name": "Qc天水", - "face": "https://i0.hdslb.com/bfs/face/2998a9e762aa07559b2acf54234f07979c959ffe.jpg" - }, - "stat": { - "view": 278997, - "like": 6698, - "danmaku": 303, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1055540151, - "bvid": "BV1in4y197U4", - "cid": 1582190043, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1in4y197U4", - "pic": "http://i2.hdslb.com/bfs/archive/9a366971fadd6e4dfd1813c42b180c8779038627.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-15-18004087071055540151_16_12_7856_crop.jpg", - "title": "我把裁判罚下场了", - "duration": 217, - "pubdate": 1718445600, - "owner": { - "mid": 475304452, - "name": "生姜蛋包饭", - "face": "https://i1.hdslb.com/bfs/face/40feee36c71f7f53931854fc54c88d530360b1a7.jpg" - }, - "stat": { - "view": 678085, - "like": 62171, - "danmaku": 832, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "content": "6万点赞", - "reason_type": 3 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1505823466, - "bvid": "BV1vS421d7No", - "cid": 1596567774, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1vS421d7No", - "pic": "http://i2.hdslb.com/bfs/archive/b2b19b067cdbf7dd93be5fc01009e72c20572184.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-26-1241021505823466_1612_gener.jpg", - "title": "AI 视频:两小儿辩日", - "duration": 138, - "pubdate": 1719376858, - "owner": { - "mid": 589397373, - "name": "宝玉xp", - "face": "https://i0.hdslb.com/bfs/face/c2c29f6e1bb9b0860241f0df4d2cdea8242ab5d2.jpg" - }, - "stat": { - "view": 1216188, - "like": 54839, - "danmaku": 194, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1055744039, - "bvid": "BV1Zn4y1Q7zj", - "cid": 1575814128, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1Zn4y1Q7zj", - "pic": "http://i0.hdslb.com/bfs/archive/5288cf0830e49de414084c4168b11033b08f8507.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-09-17404720501055744039_16_12_294_crop.jpg", - "title": "【诺子】重新“看见”世界是一种什么样的感觉?", - "duration": 579, - "pubdate": 1717926045, - "owner": { - "mid": 10276136, - "name": "诺子喵呜", - "face": "https://i2.hdslb.com/bfs/face/7e6846ed5619b945c888b8f8db5000469f6353ff.jpg" - }, - "stat": { - "view": 1016467, - "like": 97886, - "danmaku": 979, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - }, - { - "id": 1706215690, - "bvid": "BV1tT421k7By", - "cid": 1611364587, - "goto": "av", - "uri": "https://www.bilibili.com/video/BV1tT421k7By", - "pic": "http://i1.hdslb.com/bfs/archive/cd3308109e8726fe4147dd25ed7ca0dbeeda1dc1.jpg", - "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-07-11-00194836761706215690_16_12_3934_crop.jpg", - "title": "谷歌翻译20遍《河中石兽》泌尿系统", - "duration": 145, - "pubdate": 1720628387, - "owner": { - "mid": 1030835113, - "name": "象哥嘎", - "face": "https://i1.hdslb.com/bfs/face/aa0ae89fa72dab7b8bc082433769b1768f51c3dc.jpg" - }, - "stat": { - "view": 78600, - "like": 3437, - "danmaku": 328, - "vt": 0 - }, - "av_feature": null, - "is_followed": 0, - "rcmd_reason": { - "reason_type": 0 - }, - "show_info": 1, - "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", - "pos": 0, - "room_info": null, - "ogv_info": null, - "business_info": null, - "is_stock": 0, - "enable_vt": 0, - "vt_display": "", - "dislike_switch": 1, - "dislike_switch_pc": 0 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "item": [ + { + "id": 1354614895, + "bvid": "BV1Dz42117GZ", + "cid": 1548835687, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1Dz42117GZ", + "pic": "http://i1.hdslb.com/bfs/archive/b47154987b4c0f40a39779c09a9d485176d1238f.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/archive/b47154987b4c0f40a39779c09a9d485176d1238f.jpg", + "title": "做数学题总是抄错 | 看错 | 算错 怎么破?决定高考分数的这个非智力因素不容忽视", + "duration": 882, + "pubdate": 1715946937, + "owner": { + "mid": 374484802, + "name": "数学阮禾老师", + "face": "https://i1.hdslb.com/bfs/face/4df57e4b48b04206bce7572831688741580ca0e1.jpg" + }, + "stat": { + "view": 48250, + "like": 2959, + "danmaku": 433, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1255924089, + "bvid": "BV1DJ4m1u7Mp", + "cid": 1600833978, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1DJ4m1u7Mp", + "pic": "http://i0.hdslb.com/bfs/archive/5068d860e8bbc37679ece933aa8e6d8428cfb5c1.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-07-01-1145021255924089_1612_gener.jpg", + "title": "人类这种生物,看到按钮就会按下去。", + "duration": 326, + "pubdate": 1719805500, + "owner": { + "mid": 5616993, + "name": "马夫鱼33", + "face": "https://i0.hdslb.com/bfs/face/4c2af23046147e91ce5a4af3375464fdcf1956e6.jpg" + }, + "stat": { + "view": 667067, + "like": 28529, + "danmaku": 483, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "content": "2万点赞", + "reason_type": 3 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1306020278, + "bvid": "BV1rM4m117Ry", + "cid": 1608959606, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1rM4m117Ry", + "pic": "http://i0.hdslb.com/bfs/archive/49f62c70f17d0afe00e5e620dd366c68149c780e.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/archive/49f62c70f17d0afe00e5e620dd366c68149c780e.jpg", + "title": "Axios 前后端对接教程|HTTP", + "duration": 352, + "pubdate": 1720440325, + "owner": { + "mid": 260736087, + "name": "三分钟实验室", + "face": "https://i0.hdslb.com/bfs/face/6172aa089ed0b26ffffb72018422eb4280d4da41.jpg" + }, + "stat": { + "view": 7527, + "like": 365, + "danmaku": 1, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1755972439, + "bvid": "BV1g4421D7qn", + "cid": 1597039275, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1g4421D7qn", + "pic": "http://i2.hdslb.com/bfs/archive/35ee2ffaab4206d17893a3f48cdf512b4f028fdc.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-26-21354756381755972439_16_12_5326_crop.jpg", + "title": "《我爱发明》里那些抽象发明 歹徒兴奋床!", + "duration": 659, + "pubdate": 1719408945, + "owner": { + "mid": 348989367, + "name": "沫子瞪片", + "face": "https://i0.hdslb.com/bfs/face/a2131d38a2ea73f16ff25e61dbeb40377233f552.jpg" + }, + "stat": { + "view": 1540767, + "like": 65409, + "danmaku": 5383, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1055953358, + "bvid": "BV1jH4y1w7A6", + "cid": 1598484848, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1jH4y1w7A6", + "pic": "http://i1.hdslb.com/bfs/archive/accdb655b4f2bef665e6fdedb4de28de2feda078.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-28-12560692491055953358_16_12_2438_crop.jpg", + "title": "为什么一个数的5次方个位数是自己!", + "duration": 327, + "pubdate": 1719550565, + "owner": { + "mid": 483522694, + "name": "火星课堂", + "face": "https://i1.hdslb.com/bfs/face/fe751f0d7062c8e8adcef501390d48330fac0514.jpg" + }, + "stat": { + "view": 244673, + "like": 5406, + "danmaku": 210, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": { + "id": 0, + "contract_id": "", + "res_id": 1055953358, + "asg_id": 0, + "pos_num": 0, + "name": "", + "pic": "", + "litpic": "", + "url": "", + "style": 0, + "agency": "", + "label": "", + "intro": "", + "creative_type": 0, + "request_id": "1721098961752q172a25a216a162q1363", + "src_id": 5637, + "area": 0, + "is_ad_loc": true, + "ad_cb": "", + "title": "", + "server_type": 0, + "cm_mark": 0, + "stime": 0, + "mid": "", + "activity_type": 0, + "epid": 0, + "sub_title": "", + "ad_desc": "", + "adver_name": "", + "null_frame": false, + "pic_main_color": "", + "card_type": 0, + "business_mark": null, + "inline": { + "inline_use_same": 0, + "inline_type": 0, + "inline_url": "", + "inline_barrage_switch": 0 + }, + "operater": "", + "jump_target": 0, + "show_urls": null, + "click_urls": null + }, + "is_stock": 1, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1763571437, + "bvid": "", + "cid": 0, + "goto": "live", + "uri": "https://live.bilibili.com/1763571437", + "pic": "http://i0.hdslb.com/bfs/live/new_room_cover/f1787ef2ce4a2a031fb4a6a63b62d15493268d71.jpg", + "pic_4_3": "", + "title": "【新V】今天不要再把自己笨哭了", + "duration": 0, + "pubdate": 0, + "owner": { + "mid": 3546712666802274, + "name": "伊柒璇儿_鹤熙冠", + "face": "https://i0.hdslb.com/bfs/face/3e0ff3d7d53b9ac1a2d90ea563e22d3f70ad28cc.jpg" + }, + "stat": null, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": null, + "show_info": 0, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": { + "room_id": 1763571437, + "uid": 3546712666802274, + "live_status": 1, + "show": { + "short_id": 0, + "title": "【新V】今天不要再把自己笨哭了", + "cover": "http://i0.hdslb.com/bfs/live/new_room_cover/f1787ef2ce4a2a031fb4a6a63b62d15493268d71.jpg", + "keyframe": "http://i0.hdslb.com/bfs/live-key-frame/keyframe07161101001763571437k9l40v.jpg", + "popularity_count": 8539, + "tag_list": null, + "live_start_time": 0, + "live_id": 0, + "hidden_online": false + }, + "area": { + "area_id": 0, + "area_name": "虚拟日常", + "parent_area_id": 9, + "parent_area_name": "虚拟主播", + "old_area_id": 0, + "old_area_name": "", + "old_area_tag": "", + "area_pk_status": 0, + "is_video_room": false + }, + "watched_show": { + "switch": true, + "num": 168, + "text_small": "168", + "text_large": "168人看过", + "icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png", + "icon_location": "", + "icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png" + } + }, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1855792572, + "bvid": "BV16s421T7CU", + "cid": 1587596195, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV16s421T7CU", + "pic": "http://i2.hdslb.com/bfs/archive/1b9d9799260a075b094212bf79e3d7ccb9e04087.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-19-14044883851855792572_16_12_7260_crop.jpg", + "title": "压缩蚊件.zip", + "duration": 66, + "pubdate": 1718777086, + "owner": { + "mid": 173947574, + "name": "好奇五先生", + "face": "https://i2.hdslb.com/bfs/face/1c69fff12a2d0d50e71931cef0486ab919a818a2.jpg" + }, + "stat": { + "view": 951633, + "like": 22930, + "danmaku": 932, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1405866842, + "bvid": "BV11r421F7E8", + "cid": 1589772517, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV11r421F7E8", + "pic": "http://i2.hdslb.com/bfs/archive/50b1bb8d227d17a3b6195e80128ab295d152d3be.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-20-2148551405866842_1612_gener.jpg", + "title": "【音游推荐】暑期音游推荐,不同基础都可入坑", + "duration": 311, + "pubdate": 1718891332, + "owner": { + "mid": 592146708, + "name": "Qc天水", + "face": "https://i0.hdslb.com/bfs/face/2998a9e762aa07559b2acf54234f07979c959ffe.jpg" + }, + "stat": { + "view": 278997, + "like": 6698, + "danmaku": 303, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1055540151, + "bvid": "BV1in4y197U4", + "cid": 1582190043, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1in4y197U4", + "pic": "http://i2.hdslb.com/bfs/archive/9a366971fadd6e4dfd1813c42b180c8779038627.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-15-18004087071055540151_16_12_7856_crop.jpg", + "title": "我把裁判罚下场了", + "duration": 217, + "pubdate": 1718445600, + "owner": { + "mid": 475304452, + "name": "生姜蛋包饭", + "face": "https://i1.hdslb.com/bfs/face/40feee36c71f7f53931854fc54c88d530360b1a7.jpg" + }, + "stat": { + "view": 678085, + "like": 62171, + "danmaku": 832, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "content": "6万点赞", + "reason_type": 3 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1505823466, + "bvid": "BV1vS421d7No", + "cid": 1596567774, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1vS421d7No", + "pic": "http://i2.hdslb.com/bfs/archive/b2b19b067cdbf7dd93be5fc01009e72c20572184.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-26-1241021505823466_1612_gener.jpg", + "title": "AI 视频:两小儿辩日", + "duration": 138, + "pubdate": 1719376858, + "owner": { + "mid": 589397373, + "name": "宝玉xp", + "face": "https://i0.hdslb.com/bfs/face/c2c29f6e1bb9b0860241f0df4d2cdea8242ab5d2.jpg" + }, + "stat": { + "view": 1216188, + "like": 54839, + "danmaku": 194, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1055744039, + "bvid": "BV1Zn4y1Q7zj", + "cid": 1575814128, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1Zn4y1Q7zj", + "pic": "http://i0.hdslb.com/bfs/archive/5288cf0830e49de414084c4168b11033b08f8507.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-06-09-17404720501055744039_16_12_294_crop.jpg", + "title": "【诺子】重新“看见”世界是一种什么样的感觉?", + "duration": 579, + "pubdate": 1717926045, + "owner": { + "mid": 10276136, + "name": "诺子喵呜", + "face": "https://i2.hdslb.com/bfs/face/7e6846ed5619b945c888b8f8db5000469f6353ff.jpg" + }, + "stat": { + "view": 1016467, + "like": 97886, + "danmaku": 979, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + }, + { + "id": 1706215690, + "bvid": "BV1tT421k7By", + "cid": 1611364587, + "goto": "av", + "uri": "https://www.bilibili.com/video/BV1tT421k7By", + "pic": "http://i1.hdslb.com/bfs/archive/cd3308109e8726fe4147dd25ed7ca0dbeeda1dc1.jpg", + "pic_4_3": "http://i0.hdslb.com/bfs/aistory/2024-07-11-00194836761706215690_16_12_3934_crop.jpg", + "title": "谷歌翻译20遍《河中石兽》泌尿系统", + "duration": 145, + "pubdate": 1720628387, + "owner": { + "mid": 1030835113, + "name": "象哥嘎", + "face": "https://i1.hdslb.com/bfs/face/aa0ae89fa72dab7b8bc082433769b1768f51c3dc.jpg" + }, + "stat": { + "view": 78600, + "like": 3437, + "danmaku": 328, + "vt": 0 + }, + "av_feature": null, + "is_followed": 0, + "rcmd_reason": { + "reason_type": 0 + }, + "show_info": 1, + "track_id": "web_pegasus_4.router-web-pegasus-1554782-5c89895477-smhn8.1721098961744.133", + "pos": 0, + "room_info": null, + "ogv_info": null, + "business_info": null, + "is_stock": 0, + "enable_vt": 0, + "vt_display": "", + "dislike_switch": 1, + "dislike_switch_pc": 0 + } + ], + "side_bar_column": [ + { + "id": 25502, + "goto": "comic", + "track_id": "", + "pos": 1, + "card_type": "漫画", + "card_type_en": "comic", + "cover": "http://i0.hdslb.com/bfs/manga-static/5e410bf6f73ff87f87b543e4b918de5f024652e8.jpg", + "url": "https://manga.bilibili.com/detail/mc25502", + "title": "头文字D", + "sub_title": "", + "duration": 0, + "stats": null, + "room_info": null, + "styles": [ + "游戏竞技" ], - "side_bar_column": [ - { - "id": 25502, - "goto": "comic", - "track_id": "", - "pos": 1, - "card_type": "漫画", - "card_type_en": "comic", - "cover": "http://i0.hdslb.com/bfs/manga-static/5e410bf6f73ff87f87b543e4b918de5f024652e8.jpg", - "url": "https://manga.bilibili.com/detail/mc25502", - "title": "头文字D", - "sub_title": "", - "duration": 0, - "stats": null, - "room_info": null, - "styles": [ - "游戏竞技" - ], - "comic": { - "comic_id": 25502, - "title": "头文字D", - "horizontal_cover": "http://i0.hdslb.com/bfs/manga-static/5e410bf6f73ff87f87b543e4b918de5f024652e8.jpg", - "square_cover": "http://i0.hdslb.com/bfs/manga-static/da660f6274730af82d557f21a6247d4f6b1e300b.jpg", - "vertical_cover": "http://i0.hdslb.com/bfs/manga-static/64df8b860d2bf6bf2edd0426b4aefbff25b51386.jpg", - "is_finish": 1, - "status": 0, - "last_ord": 724, - "total": 724, - "release_time": "", - "last_short_title": "番外05", - "discount_type": 0, - "recommendation": "秋名山下坡最快的AE86神话!", - "last_read_ep_id": 0, - "latest_ep_short_title": "", - "style": [ - "游戏竞技" - ], - "author_name": [ - "重野秀一 ", - "讲谈社" - ], - "allow_wait_free": false, - "type": 0, - "rank": null, - "operate_cover": "", - "rookie_type": 0 - }, - "producer": null, - "source": "", - "av_feature": null, - "is_rec": 0, - "is_finish": 0, - "is_started": 0, - "is_play": 0, - "enable_vt": 0, - "vt_display": "" - }, - { - "id": 47800, - "goto": "ogv", - "track_id": "", - "pos": 2, - "card_type": "番剧", - "card_type_en": "bangumi", - "cover": "https://i0.hdslb.com/bfs/bangumi/image/1c61f75b571fffb8c5a2bd0396b49ce3529776f4.png", - "url": "https://www.bilibili.com/bangumi/play/ss47800", - "title": "铁甲小宝 重制版 中文配音", - "sub_title": "童年经典回归!", - "duration": 1382000, - "stats": { - "follow": 116644, - "view": 10864687, - "danmaku": 42428, - "reply": 11448, - "coin": 18904, - "series_follow": 209046, - "series_view": 17474247, - "likes": 61376, - "favorite": 116644 - }, - "room_info": null, - "new_ep": { - "id": 824212, - "index_show": "更新至第30话", - "cover": "http://i0.hdslb.com/bfs/archive/e185c054588945a1de6648ff7fb5001852df39f4.png", - "title": "30", - "long_title": "巨大机器来袭!!", - "pub_time": "2024-07-15 18:00:01", - "duration": 1382000, - "day_of_week": 1 - }, - "styles": [ - "日常", - "热血", - "搞笑", - "原创", - "特摄" - ], - "comic": null, - "producer": [ - { - "mid": 928123, - "name": "哔哩哔哩番剧", - "type": 3, - "is_contribute": 1 - } - ], - "source": "", - "av_feature": null, - "is_rec": 0, - "is_finish": 0, - "is_started": 1, - "is_play": 1, - "horizontal_cover_16_9": "https://i0.hdslb.com/bfs/bangumi/image/ec5065dc0e88417abd4792d5caa96dacc99d1d51.png", - "horizontal_cover_16_10": "https://i0.hdslb.com/bfs/bangumi/image/5cc132e336cc72e6521bba928d8a0e50bd5a6d34.png", - "enable_vt": 0, - "vt_display": "" - }, - { - "id": 48020, - "goto": "ogv", - "track_id": "", - "pos": 3, - "card_type": "国创", - "card_type_en": "guochuang", - "cover": "https://i0.hdslb.com/bfs/bangumi/image/fcb176fcbf5a66fd122fa99f9fdf2cabf22468bb.png", - "url": "https://www.bilibili.com/bangumi/play/ss48020", - "title": "不白吃古诗词漫游记 第二季", - "sub_title": "古诗词这动人的浪漫", - "duration": 179000, - "stats": { - "follow": 2173495, - "view": 325366, - "danmaku": 110, - "reply": 208, - "coin": 443, - "series_follow": 2208624, - "series_view": 3322752487, - "likes": 8794, - "favorite": 2173495 - }, - "room_info": null, - "new_ep": { - "id": 830238, - "index_show": "更新至第7话", - "cover": "http://i0.hdslb.com/bfs/archive/6db74bc8ab2670181562314a24abe525cebb7c76.jpg", - "title": "7", - "long_title": "王维当个官怎么还郁闷了?", - "pub_time": "2024-07-15 19:00:00", - "duration": 179000, - "day_of_week": 1 - }, - "styles": [ - "少儿", - "历史", - "原创", - "古风" - ], - "comic": null, - "producer": [], - "source": "", - "av_feature": null, - "is_rec": 0, - "is_finish": 0, - "is_started": 1, - "is_play": 1, - "horizontal_cover_16_9": "https://i0.hdslb.com/bfs/bangumi/image/f19013ddd7f87b0e03df10feccc4a61a3a43774a.png", - "horizontal_cover_16_10": "https://i0.hdslb.com/bfs/bangumi/image/966553b199829aae7e47882edbe053463ee85276.png", - "enable_vt": 0, - "vt_display": "" - } + "comic": { + "comic_id": 25502, + "title": "头文字D", + "horizontal_cover": "http://i0.hdslb.com/bfs/manga-static/5e410bf6f73ff87f87b543e4b918de5f024652e8.jpg", + "square_cover": "http://i0.hdslb.com/bfs/manga-static/da660f6274730af82d557f21a6247d4f6b1e300b.jpg", + "vertical_cover": "http://i0.hdslb.com/bfs/manga-static/64df8b860d2bf6bf2edd0426b4aefbff25b51386.jpg", + "is_finish": 1, + "status": 0, + "last_ord": 724, + "total": 724, + "release_time": "", + "last_short_title": "番外05", + "discount_type": 0, + "recommendation": "秋名山下坡最快的AE86神话!", + "last_read_ep_id": 0, + "latest_ep_short_title": "", + "style": [ + "游戏竞技" + ], + "author_name": [ + "重野秀一 ", + "讲谈社" + ], + "allow_wait_free": false, + "type": 0, + "rank": null, + "operate_cover": "", + "rookie_type": 0 + }, + "producer": null, + "source": "", + "av_feature": null, + "is_rec": 0, + "is_finish": 0, + "is_started": 0, + "is_play": 0, + "enable_vt": 0, + "vt_display": "" + }, + { + "id": 47800, + "goto": "ogv", + "track_id": "", + "pos": 2, + "card_type": "番剧", + "card_type_en": "bangumi", + "cover": "https://i0.hdslb.com/bfs/bangumi/image/1c61f75b571fffb8c5a2bd0396b49ce3529776f4.png", + "url": "https://www.bilibili.com/bangumi/play/ss47800", + "title": "铁甲小宝 重制版 中文配音", + "sub_title": "童年经典回归!", + "duration": 1382000, + "stats": { + "follow": 116644, + "view": 10864687, + "danmaku": 42428, + "reply": 11448, + "coin": 18904, + "series_follow": 209046, + "series_view": 17474247, + "likes": 61376, + "favorite": 116644 + }, + "room_info": null, + "new_ep": { + "id": 824212, + "index_show": "更新至第30话", + "cover": "http://i0.hdslb.com/bfs/archive/e185c054588945a1de6648ff7fb5001852df39f4.png", + "title": "30", + "long_title": "巨大机器来袭!!", + "pub_time": "2024-07-15 18:00:01", + "duration": 1382000, + "day_of_week": 1 + }, + "styles": [ + "日常", + "热血", + "搞笑", + "原创", + "特摄" ], - "business_card": null, - "floor_info": null, - "user_feature": null, - "preload_expose_pct": 0.5, - "preload_floor_expose_pct": 0.5, - "mid": 645769214 - } + "comic": null, + "producer": [ + { + "mid": 928123, + "name": "哔哩哔哩番剧", + "type": 3, + "is_contribute": 1 + } + ], + "source": "", + "av_feature": null, + "is_rec": 0, + "is_finish": 0, + "is_started": 1, + "is_play": 1, + "horizontal_cover_16_9": "https://i0.hdslb.com/bfs/bangumi/image/ec5065dc0e88417abd4792d5caa96dacc99d1d51.png", + "horizontal_cover_16_10": "https://i0.hdslb.com/bfs/bangumi/image/5cc132e336cc72e6521bba928d8a0e50bd5a6d34.png", + "enable_vt": 0, + "vt_display": "" + }, + { + "id": 48020, + "goto": "ogv", + "track_id": "", + "pos": 3, + "card_type": "国创", + "card_type_en": "guochuang", + "cover": "https://i0.hdslb.com/bfs/bangumi/image/fcb176fcbf5a66fd122fa99f9fdf2cabf22468bb.png", + "url": "https://www.bilibili.com/bangumi/play/ss48020", + "title": "不白吃古诗词漫游记 第二季", + "sub_title": "古诗词这动人的浪漫", + "duration": 179000, + "stats": { + "follow": 2173495, + "view": 325366, + "danmaku": 110, + "reply": 208, + "coin": 443, + "series_follow": 2208624, + "series_view": 3322752487, + "likes": 8794, + "favorite": 2173495 + }, + "room_info": null, + "new_ep": { + "id": 830238, + "index_show": "更新至第7话", + "cover": "http://i0.hdslb.com/bfs/archive/6db74bc8ab2670181562314a24abe525cebb7c76.jpg", + "title": "7", + "long_title": "王维当个官怎么还郁闷了?", + "pub_time": "2024-07-15 19:00:00", + "duration": 179000, + "day_of_week": 1 + }, + "styles": [ + "少儿", + "历史", + "原创", + "古风" + ], + "comic": null, + "producer": [], + "source": "", + "av_feature": null, + "is_rec": 0, + "is_finish": 0, + "is_started": 1, + "is_play": 1, + "horizontal_cover_16_9": "https://i0.hdslb.com/bfs/bangumi/image/f19013ddd7f87b0e03df10feccc4a61a3a43774a.png", + "horizontal_cover_16_10": "https://i0.hdslb.com/bfs/bangumi/image/966553b199829aae7e47882edbe053463ee85276.png", + "enable_vt": 0, + "vt_display": "" + } + ], + "business_card": null, + "floor_info": null, + "user_feature": null, + "preload_expose_pct": 0.5, + "preload_floor_expose_pct": 0.5, + "mid": 645769214 + } } ``` +## 根据点击视频获取的短视频播放列表 + +> https://app.bilibili.com/x/v2/feed/index/story + +*请求方式:GET* + +在APP端点击主页视频后发出的请求 + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|---------------|------|-------------------------|----------------|------------------------------------------| +| aid | num | 点击视频的aid | 非必要 | 所点击视频的aid,会影响到后续视频内容 | +| display_id | num | 视频列表页数 | 非必要 | 从1开始,第1页会得到比其他页多aid处所填视频 | +| access_key | str | APP登录Token | APP方式必要 | | +| ad_extra | str | 额外广告? | 非必要 | | +| appkey | str | APP密钥 | APP方式必要 | | +| auto_play | num | 自动播放 | 非必要 | 可为0 | +| build | num | 版本 | APP方式必要 | 可为`8130300` | +| bvid | str | 视频的bv号 | 非必要 | 可为空,如果没有会导致返回不正常 | +| c_locale | str | 语言 | 非必要 | zh_CN | +| channel | num | 频道 | 非必要 | | +| cid | num | 目标频道id | 非必要 | | +| contain | bool | 未知 | 非必要 | 可为false | +| creative_id | num | 未知 | 非必要 | 默认为 `0` | +| device_name | str | 设备名称 | 非必要 | 随意字符串都行 | +| disable_rcmd | num | 未知 | 非必要 | 默认为 `1` | +| epid | num | 未知 | 非必要 | 默认为 `0` | +| feed_status | num | 未知 | 非必要 | 默认为 `0` | +| fnval | num | 视频流类型 | 非必要 | | +| fnver | num | 请求时提供的fnver | 非必要 | 可为 0 | +| force_host | num | 源url类型 | 非必要 | 0:无限制 1:使用http 2:使用https | +| fourk | num | 是否允许 4K 视频 | 非必要 | 画质最高 1080P:0(默认)
画质最高 4K:1 | +| from | num | 未知 | 非必要 | 可为 `7` | +| from_spmid | str | 未知 | 非必要 | tm.recommend.0.0 | +| goto | str | 未知 | 非必要 | | +| mobi_app | str | 平台标识 | 非必要 | 可为 `web`、`android` 等 | +| network | str | 网络 | 非必要 | 可为 `wifi` | +| ogv_style | num | 未知 | 非必要 | 默认为 `0` | +| platform | str | 平台 | 非必要 | 可为`web`或`android` | +| player_net | num | 未知 | 非必要 | 默认为 `1` | +| pull | num | 未知 | 非必要 | 默认为 `1` | +| pn | num | 似乎不是页码 | 非必要 | 默认为 `32` | +| request_from | num | 未知 | 非必要 | 默认为 `0` | +| s_locale | str | 语言 | 非必要 | zh_CN | +| spmid | str | 未知 | 非必要 | main.ugc-video-detail-vertical.0.0 | +| statistics | str | 位置 | 非必要 | 可为{"appId":1,"platform":3,"version":"8.13.0","abtest":""} | +| story_param | str | 未知 | 非必要 | | +| trackid | str | 路径id?未知 | 非必要 | | +| ts | num | 秒级时间戳 | 非必要 | | +| video_mode | num | 视频模式?未知 | 非必要 | 可为 `2`,应该是可以逆向出来的 | +| voice_balance | num | 未知 | 非必要 | 默认为 `1` | +| sign | str | APP签名 | APP方式必要 | | + +**json回复:** + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ---------------------------- | +| code | num | 返回值 | 0:成功
-400:请求错误 | +| message | str | 错误信息 | 默认为 0 | +| ttl | num | 1 | | +| data | obj | 视频信息 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ----- | -------- | ---------------------------- | +| config | obj | 配置 | | +| items | array | 视频信息 | | + +`items`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ------------ | ---- | +| 0 | obj | 视频信息1 | | +| n | obj | 视频信息(n+1) | | +| …… | obj | …… | …… | + +`items`数组元素: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ----- | ----------------------- | ------------------------ | +| bvid | str | 视频bv号 | | +| card_goto | str | 卡片跳转 | | +| copyright | num | 版权 | | +| cover | str | 封面url | | +| desc | str | 视频描述 | | +| dimension | num | 包括视频尺寸、旋转角度 | | +| dislike_reasons_v2 | obj | 不喜欢原因v2的各种显示 | | +| dislike_reasons_v3 | obj | 不喜欢原因v3的各种显示 | | +| duration | num | 视频时长 | | +| ff_cover | str | 短视频封面原图 | | +| goto | str | 应该是跳转去向类型 | 此处为vertical_av | +| owner | obj | 拥有者,也就是up信息 | | +| param | str | 参数,实际为视频aid | | +| player_args | obj | 播放器参数 | | +| pubdate | num | 发布时间秒级时间戳 | | +| report_flow_data | str | 报告流数据 | 是个伪装成obj的str | +| req_user | ? | 未知 | 空的 | +| rights | obj | 未知 | | +| share_bottom_button | obj | 分享下方按钮 | | +| share_guide | obj | 未知 | | +| short_link | str | 视频短链接 | | +| show_report | obj | 显示举报 | | +| stat | obj | 视频信息 | | +| sub_title | str | 子标题 | 但显示的是描述播放量的文字 | +| submission_entrance | obj | 提交入口 | icon的uri | +| three_point_button | obj | 三点按钮要显示的内容 | 里面有两个array | +| thumb_up_animation | str | 未知 | | +| title | str | 视频标题 | | +| top_search_bar | obj | 搜索栏 | 内含一个跳转的uri | +| track_id | str | 路由track | | +| uri | str | uri | | +| view_content | str | 用于显示的文本形式播放量 | | +| vip | obj | vip相关的信息 | | + +`owner`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ----- | ----------------------- | ------------------------ | +| attention | num | 未知 | 包含一个mid的int字段 | +| avatar | obj | 一些显示设置 | | +| face | str | 头像url | | +| fans | num | 粉丝量 | | +| like_num | num | 获赞数 | | +| mid | num | up主的mid | | +| name | str | up主的昵称 | | +| official_verify | obj | 官方认证 | type=-1为无认证,没有其他字段;type=0为黄闪电同时role=1,type=1为蓝闪电同时role大于1,且type不为-1时有字段title为称号 | +| relation | num | 关系?未知 | | +| sub_avatar | obj | 子形象 | 包含一个mid的int字段 | +| upower | obj | 充电相关 | 包含一个button_uri字段类型为str,是充电跳转链接 | + +`player_args`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ----- | ----------------------- | ------------------------ | +| aid | num | 视频作者的aid | | +| cid | num | 所属频道的cid | | +| type | str | 内容类型 | 视频一般都是av | + +`player_args`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------------- | ----- | ------------------------ | ------------------------ | +| aid | num | 视频作者的aid | | +| coin | num | 视频硬币数 | | +| danmaku | num | 视频弹幕数 | | +| favorite | num | 视频收藏数 | | +| follow | num | 未知 | 很多都是0 | +| like | num | 视频点赞数 | | +| reply | num | 视频评论与回复总数 | | +| share | num | 视频分享数 | | +| view | num | 视频播放 | | + +**示例:** + +(1)模拟点击aid=113350747029965的视频并获取短视频推荐列表 + +```python +import json +import requests + +mobile_headers = { + "User-Agent": "xxx", + "env": "prod", + "session_id": "xxx", # 在实际使用中,session_id需要及时更新,否则将导致响应列表有问题 + "APP-KEY": "android64", + 'Buvid': "xxx" +} + +story_url = "https://app.bilibili.com/x/v2/feed/index/story" + +story_params = { + "aid": 113350747029965, + "display_id": 1, + "appkey": "1d8b6e7d45233436", + "build": "8130300", + "bvid": "", + "mobi_app": "android", + "statistics": "{\"appId\":1,\"platform\":3,\"version\":\"8.13.0\",\"abtest\":\"\"}" +} + +response = requests.get(story_url, params=story_params, headers=mobile_headers) + +print(json.dumps(response.json(), indent=4)) +``` + +返回值内容过长,暂不予展示 + +(2)随机的短视频推荐 + +> https://app.bilibili.com/x/v2/feed/index/story + +浏览器直接输入 + +返回值内容过长,暂不予展示 ## 获取短视频模式视频列表 @@ -1152,95 +1354,324 @@ curl -G 'https://api.bilibili.com/x/web-interface/wbi/index/top/feed/rcmd' \ 认证方式:Cookie(SESSDATA) -**url参数:** +**url参数:** 有大量不明意义的参数 备注仅供参考 -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -|--------------|-----|---------------------------|-----|------------------------------| -| fnval | num | 视频流格式标识 | 非必要 | 默认为272 | -| fnver | num | 视频流版本标识 | 非必要 | 恒为1 | -| force_host | num | 源url类型 | 非必要 | 0:无限制 1:使用http 2:使用https | -| fourk | num | 是否允许 4K 视频 | 非必要 | 画质最高 1080P:0(默认)
画质最高 4K:1 | -| guidance | num | 0 | 非必要 | | -| https_url_req | num | 0 | 非必要 | | -| inline_danmu | num | 2 | 非必要 | | -| inline_sound | num | 1 | 非必要 | | -| interest_id | num | 0 | 非必要 | | -| login_event | num | 登录状态 | 非必要 | 0为登录 1为未登录 | -| mobi_app | num | android | 非必要 | 设备类型 | -| network | num | wifi | 非必要 | 网络类型 | -| open_event | num | | 非必要 | | -| platform | num | android | 非必要 | 设备类型 | -| pull | boll | false | 非必要 | | -| qn | num | 32 | 非必要 | 似乎是画质 | -| recsys_mode | num | 0 | 非必要 | | -| s_locale | str | zh_CN | 非必要 | 语言 | -| video_mode | num | 1 | 非必要 | | -| voice_balance | num | 音量均衡? | 非必要 | 默认为1 | - +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|---------------|------|------------|-----|--------------------------------------| +| fnval | num | 视频流格式标识 | 非必要 | 默认为272 | +| fnver | num | 视频流版本标识 | 非必要 | 恒为1 | +| force_host | num | 源url类型 | 非必要 | 0:无限制 1:使用http 2:使用https | +| fourk | num | 是否允许 4K 视频 | 非必要 | 画质最高 1080P:0(默认)
画质最高 4K:1 | +| guidance | num | 0 | 非必要 | | +| https_url_req | num | 0 | 非必要 | | +| inline_danmu | num | 2 | 非必要 | | +| inline_sound | num | 1 | 非必要 | | +| interest_id | num | 0 | 非必要 | | +| login_event | num | 登录状态 | 非必要 | 0为登录 1为未登录 | +| mobi_app | num | android | 非必要 | 设备类型 | +| network | num | wifi | 非必要 | 网络类型 | +| open_event | num | | 非必要 | | +| platform | num | android | 非必要 | 设备类型 | +| pull | boll | false | 非必要 | | +| qn | num | 32 | 非必要 | 似乎是画质 | +| recsys_mode | num | 0 | 非必要 | | +| s_locale | str | zh_CN | 非必要 | 语言 | +| video_mode | num | 1 | 非必要 | | +| accessKey | str | | 非必要 | 登录成功后返回的accessToken,添加此参数会返回个性化内容和横幅 | +| voice_balance | num | 音量均衡? | 非必要 | 默认为1 | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|-------|------|----------------------| -| code | num | 返回值 | 0:成功 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | | | - +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|------| +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|-------|------|----------------------| -| config | obj | 一些界面相关的内容 | 此处省略 | -| items | array | 视频列表 | | +| 字段 | 类型 | 内容 | 备注 | +|--------|-------|-----------|------| +| config | obj | 一些界面相关的内容 | 此处省略 | +| items | array | 视频列表 | | `data`中的`items`数组的对象: 以下为视频类型 -| 字段 | 类型 | 内容 | 备注 | -|-------------|-------|------|----------------------| -| can_play | num | 1 | 字面意思 | -| card_goto | str | av | | -| card_type | str | 卡片类型 | 视频为small_cover_v2 | -| cover | str | 封面url | | -| cover_left_1_content_description | str | 播放量 | 8.9万观看 | -| cover_left_2_content_description | str | 弹幕数 | 250弹幕 | -| cover_left_text_1 | str | 播放量 | 8.9万 | -| cover_left_text_2 | str | 弹幕数 | 250 | -| cover_right_content_description | str | 视频长度 | 1分钟20秒 | -| cover_right_text | str | 视频长度 | 1:20 | -| desc_button | obj | up主信息 | | -| param | str | 视频aid | | -| player_args | obj | 视频信息 | | -| talk_back | str | | | -| title | str | 标题 | | -| uri | str | 跳转链接 | | +| 字段 | 类型 | 内容 | 备注 | +|----------------------------------|------|------------------|--------------------------------| +| can_play | num | 1 | 字面意思 | +| card_goto | str | av | 横幅时为banner | +| card_type | str | 卡片类型 | 视频为small_cover_v2,横幅为banner_v8 | +| cover | str | 封面url | | +| cover_left_1_content_description | str | 播放量 | 8.9万观看 | +| cover_left_2_content_description | str | 弹幕数 | 250弹幕 | +| cover_left_text_1 | str | 播放量 | 8.9万 | +| cover_left_text_2 | str | 弹幕数 | 250 | +| cover_right_content_description | str | 视频长度 | 1分钟20秒 | +| cover_right_text | str | 视频长度 | 1:20 | +| desc_button | obj | up主信息 | | +| param | str | 视频aid | | +| player_args | obj | 视频信息 | | +| talk_back | str | | | +| title | str | 标题 | | +| uri | str | 跳转链接 | | +| goto_icon | obj | 视频卡片左下角图标 | 视频为普通视频时出现 | +| rcmd_reason_style | obj | 左下角的'竖屏'or'2千点赞' | 视频为热门时出现 | +| banner_item | list | 横幅列表 | 登录后使用accessKey出现 包含横幅信息列表 | `desc_button`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|-------|------|----------------------| -| event | str | | | -| text | str | up名称 | | -| type | num | 1 | | -| uri | str | 跳转链接 | | - +| 字段 | 类型 | 内容 | 备注 | +|-------|-----|------|----| +| event | str | | | +| text | str | up名称 | | +| type | num | 1 | | +| uri | str | 跳转链接 | | `player_args`对象: -| 字段 | 类型 | 内容 | 备注 | -|-------------|-------|------|----------------------| -| aid | num | 视频aid | | -| cid | num | 视频cid | | -| duration | num | 视频长度 | 秒数 | -| type | str | | | +| 字段 | 类型 | 内容 | 备注 | +|----------|-----|-------|----| +| aid | num | 视频aid | | +| cid | num | 视频cid | | +| duration | num | 视频长度 | 秒数 | +| type | str | | | +`goto_icon`对象 : + +| 字段 | 类型 | 内容 | 备注 | +|----------------|-----|-----------|----| +| icon_url | str | 图标链接 | | +| icon_night_url | str | 应该跟上面那个一样 | | +| icon_width | num | 16 | 宽度 | +| icon_height | num | 16 | 高度 | + +`rcmd_reason_style`对象 : + +| 字段 | 类型 | 内容 | 备注 | +|--------------------|-----|------------|---------| +| text | str | 1万点赞 \| 竖屏 | 文字信息 | +| text_color | str | #FF6633 | 字体颜色 | +| bg_color | str | #FFF1ED | 文本的背景颜色 | +| border_color | str | #FFF1ED | | +| text_color_night | str | #BF5330 | | +| bg_color_night | str | #3D2D29 | | +| border_color_night | str | #3D2D29 | | + +`banner_item`横幅列表内对象(内容尚未完全解读): + +为动态时 (列表索引通常为1) + +```json + { + "type": "static", + "resource_id": 4336, + "id": 1674508, + "index": 1, + "static_banner": { + "id": 1674508, + "title": "火凤燎原第二季完结!新的战神,来了!", + "image": "http://i0.hdslb.com/bfs/banner/b1fc0b68f727c2d4ea57bee154f531c3b7f13fca.png", + "hash": "a6cee3b5b1c05227159f734f68289ba5", + "uri": "https://www.bilibili.com/bangumi/play/ep1365959?goto=static_banner", + "request_id": "1745482994326q172a27a87a21q3087", + "src_id": 4337, + "is_ad_loc": true, + "client_ip": "182.89.224.34", + "server_type": 0, + "resource_id": 4336, + "index": 1, + "cm_mark": 0 + } +} +``` + +为广告时 index(列表索引通常为2) + +```json +{ + "type": "ad", + "resource_id": 4336, + "id": 0, + "index": 2, + "ad_banner": { + "id": 0, + "title": "今日全球首发,千件外观福利免费领", + "image": "https://i0.hdslb.com/bfs/sycp/creative_img/202504/bbd7cc4e6a74508e9ccee467541cc06a.jpg", + "hash": "46cbecfe04e047692acfd4a149e81ebd", + "uri": "https://qrsj.biligame.com/gcxz/h5/?sourceFrom=777&sourceType=adPut", + "request_id": "1745482994326q172a27a87a21q3087", + "creative_id": 1017846649959747584, + "src_id": 4338, + "is_ad": true, + "is_ad_loc": true, + "ad_cb": "CAAQABiAoLC1qsSHkA4gACgAMKm4TDjyIUIfMTc0NTQ4Mjk5NDMyNnExNzJhMjdhODdhMjFxMzA4N0iWpZO35jJSBuafs+W3nloG5bm/6KW/YgbkuK3lm71oAXAAeICAgICAGoABAIgBpYgEkgENMTgyLjg5LjIyNC4zNJoBj0BjcGNfcXVvdGE6Y29uc3RhbnQsZWNvbV9mb3JjZV9yZWNhbGw6YmFzZV8wNjI4XzIwLGJyYW5kX3NwbGFzaF9saXN0X2J5X3RpbWU6YnJhbmRfc3BsYXNoX2xpc3RfYnlfdGltZV80MF90dW5uZWwsdWVzX2VycWk6MTcsamtfY2FydDpqazEsZmVlZHNQcmltYXJ5TW9kZWxDb25mOmJzbDIsY29tbWVudENvbXBvbmVudEFudG91UmF0aW86YmFzZSxTbWFsbEJ1ZGdldFJhdGlvOmRlZmF1bHQsc2VhcmNoX2Fkc19jcmVhdGl2ZTpsbG1fZXhwMSxkYWlodW9fYm9vc3RfZXhwOmJvb3N0X2V4cCxzZWFyY2hfYWRzX3JlbGV2YW5jZTp0b3BfYmxhY2tsaXN0X2NhbGksc3BsYXNoX2lubmVyX291dGVyX2V4cDpiYXNlLGNjZF9leHBfZGVtbzpjY2RfYmFzZSxmcmVxUm91dGluZzpiYXNlLHZpZGVvX3RlbXBsYXRlX3N1cHBvcnQ6ZXhwMyxpYWFfb25seV9lY3BtOjAwLHRlc3RfbW9kZWxfbmFtZTpiYXNlXzExLGZseV9qdW1wX2NvbW1lbnQ6ZXhwMyxsb2dnaW5nX2FkaW5mb19saXN0OmJhc2UsdXNlTmV3WWVsbG93Q2FydFBhbm5lbDpleHAyLGhpZ2hfcXVhbGl0eV9hdmlkX3R1cm5fYmFjazpiYXNlLG5ld19kaXJlY3RfYWRtaXNzaW9uX3YyOm9wZW5fc2hvdXRhb193dWR1YW4sdHJhZGVfcmVjYWxsOmRlZmF1bHQsb3R0X2VjcG1fdGhyZDpiYXNlLGVuYWJsZV9hbHRfZGF2aW5jaTpkZWZhdWx0LGlubmVyX291dGVyX2JpZF9leHA6bmV3X3JhbmtmcmFtZV8wNDAyLG9mZmxpbmVfbWlkX2ZlYV92MjpleHAzLGRjdnJfd29ybGRfMjAyNVEyOmJhc2UxLHVuZGVyZnJhbWVfcHVsbF91cDpleHAxLGVuYWJsZV9pbmR1c3RyeV92Ml9maWx0ZXI6YmFzZSxuRmVkQmFjazE6bG9vc2UsRHBhMlJ0YVBpY2tQcm9kdWN0OnNoYXJlZF8zMCxmaWx0ZXJfY2xlYW46YmFzZSxhY2NvdW50RnJlcUNvbmY6YmFzZSxtaW5pZ2FtZV9iaWRfZXhwOmV4cF8wMzA3LHN0b3J5X2RhaWh1b19zdHlsZTpleHAsbm9fYWdlX2dlbmRlcl9leHA6YWdlMCxvdHRjb25maWc6ZXhwXzE1LE1peGVyRUNvbW1lcmNlOmVuYWJsZSxzc3BEaXJlY3REaXNwYXRjaEFkVm9FeHA6ZXhwXzIscmlza3lfYWRfb3B0OmhpZGRlbl9jb3N0XzAsc0ZCcnU6MyxCaXpNaXhlclJvdXRlcjpiaXpfbWl4ZXJfcGcsMjUzOTkxOmJhc2UsdHNtdjJfdHJhZGU6YmFzZSxmbHlfZGVxOm9yZGVyX2xpdmUsdHNtXzE6ZWR1dGFnX3JlY2FsbF8wMjA2LHJldHJpZXZlX2xvZzpvcGVuLGdkX21vZGVsOmV4cDEsY3BhX3NlYXJjaDpjcGFfdjIsdHNtdjJfc3dpbmdmbHlfb3RoZXJzY2VuZTpiYXNlLGFkeF9yZXF1ZXN0X29wdGltaXphdGlvbl90ZXN0OmRlZmF1bHQsc3RfdnZfbW9kZWw6YmFzZSxicnVzaF9kdXA6ZGVmYXVsdCxzdG9yeV9saXZlX3Z2OmRlZixpbmxpbmVfemVyb19jYXJkX2luZGV4OmV4cCxyZXFfbG9nX3JhdGlvOmJhc2UsZHBhVW5kZXJmcmFtZU5ld1N0eWxlOmV4cDIsZHluYW1pY1RpbWVvdXRNaW5zOjI0MCxtb2RlbF9jYWxpOmV4cDEsZmx5X2NwY19jYWxpX25ldzpvcmRlcl9hY2NfZXhwLGVuYWJsZVNtYXJ0Q292ZXJVcmw6YmFzZV9hYV8wMTE1LG1pbmlfZ2FtZV9sb25nX3RpbWVfZmxpcF9leHA6ZXhwX2dyb3VwLHV2X2FhOmRlZmF1bHQsYWNjb3VudF9ibGFjazpiYXNlLGFzQ29tbWVudENoZWNrRGlmZlJhdGlvRXhwOmV4cDIsY3RyX21vZGVsOmV4cF8wMSxic0R1cEFkOm9wZW4sb3JkZXJfbGF4aW46bGF4aW5fYmFzZV92Ml8xLHByb2dDcmVhRmVlZEN0cjpkaXN0X2x0cix1bmlvbl9mbHlfY3BjOmV4cDAxMjQsQ3VzdG9tQ3JlYXRpdmVTZWxlY3RFeHA6a3Vhbmd4aWFfMDQwMixuZXdCc0ZpbHRlckxvZzpvcGVuLHNlYXJjaF9xdWlja19wbGFjZW1lbnQ6ZXhwMSxib29zdF9leHA6ZXhwMyx0c212Ml9tb2RlbF9yZWNhbGw6YmFzZSxjY2RfdWVzY29yZTpjY2RfYmFzZSxkQWR4MTpvcGVuLGRhbGFvX2NhcmRfb25seV90b3A6ZXhwLGNhc3NpbmlFeHA6c21hbGxfYnVkZ2V0X2Nsb3NlLHNwbGFzaF90d2lzdF9hbmdsZV9leHA6YmFzZSx0c212Ml9vdGhlcnM6YmFzZSxzcGxhc2hNaW5JbnRlcnZhbEV4cDpiYXNlXzFoLGR5bmFtaWNfaW5kZXg6YmFzZSxyZWNhbGxfbGltaXRfcmF0aW86YmFzZSxmbHlfY3BhOmZseV92MyxnYW9uZW5nX2FidGVzdDpiYXNlLHBFTjpQUixzZWFyY2hfY3RyX21vZGVsOmV4cF95LGxpdmVfY2FyZF90YWdfbW92ZTpleHAxXzAzMTgsYmVzdENyZWF0aXZlOmVjcG0yLHN0b3J5X3N0eWxlX3NlbGVjdF9jb25mOmJhc2UyMDI1MDIyNyxjbG9zZV9zcmNfZWZmOmV4cF8wNzI1X25vX3J1bGUsMTA3MjpiYXNlLHNvZnRfYWRfZXhwOjA2LGZseV9saWtlX3RoOmNsb3NlLG1peGVyX3N0b3J5X2FkX3dlaWdodDo2LGFpZ2NfYW50b3U6TFJfYmFzZV8yMDI1MDMxNCxqZzpleHAyLHBkY3ZyX3RocmVzaG9sZDpleHAxLGRjdnJfcmV0ZW50aW9uX25ldzpjb21ib19iYXNlLHBlZ2FzdXNfbWl4ZXI6MDEsZHBhMjpiYXNlLHVuZGVyX2ZyYW1lX2VjcG1fZXhwOmJhc2UsSW5kdXN0cnlFeGNsdWRlSW5mb0NvbmZfdjI6YmFzZSxlbmFibGVfdXNlcl9mZWF0dXJlX2J1Y2tldDpiYXNlbGluZSxlY29tX3JlY2FsbDpMSFVDX0IsZW5hYmxlVGFnTW92ZVVwOmV4cDRfbW92ZV90YWdfZGlzbGlrZWFkaixhZF9icmFuZF9nZF9lbmFibGVfZGlmZjpiYXNlLGZkX3BjdHI6YmFzZV8xLDI1NzM4OmJhc2UscHJvZ0NyZWFEaWN0VmVyOmRlZmF1bHQsc2VhcmNoX3BhcmFsbGVsX3JlcV9yZWRpczpleHAxLHByb2dyYW1DcmVhdGl2ZTpkZWZhdWx0LGRwczpkZWZhdWx0LHBhZF9pbm5lcl9hZGxvYWQ6YmFzZV8yMF8wLHVuZGVyZnJhbWVfcHVsbF91cF9uZXc6YmFzZV9hYWEsY29hcnNlRXhwbG9yZUZhY3RvckNvbmY6ZGVmYXVsdCxmbHlfc3RvcnlfeWVsbG93Y2FyX3N0eWxlOnlvdXh1YW5fYmFzZV9rZmMsZmx5X2NwYV9wYzpleHAxMCxEcGFTdnJQcmVzc3VyZTpiYXNlLGNwYTpiYXNlLGJvb3N0X2JzOmJhc2UsZmx5Q2FyZFF1YWxpdHk6ZXhwNCxhbGw6Y3BjX2Nyb3dkX3RhcmdldCxmbHlfY3BhX2JvdHRvbTpjbG9zZSxSVEFfRElWSURFX0VYUF9UQUdfODkyOnJ0YV9kaXZpZGVfZXhwXzg5Ml81LEluZHVzdHJ5THRyQ29hcnNlQ29uZjpnYW1lbGl2ZSxlZGdlX3JlcmFuazpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR182NTc6cnRhX2RpdmlkZV9leHBfNjU3XzQsaGVhcnRfYm94OmV4cCwyMzUzMTpub3JtYWwscHVwX25hdGl2ZV9hZDpkZWZhdWx0LG90dF9lZHVjYXRpb25fYW50b3U6ZXhwLGg1X3Y6Y29tcGFyZSx1c2VMdWFTY3JpcHQ6YmFzZSxjb2Fyc2VfZGFpaHVvOmJhc2UsZmxvd1J1bGU6b3BlbkZsb3dSdWxlQ2hlY2tTd2l0Y2gsc3Rvcnlfc3R5bGVfc2VsZWN0aW9uX2NvbmY6YmFzZTIwMjQxMTI5LG5ld192aWRlb191cF9taWRfZmlsdGVyOmJhc2UsZmx5X2NvYXJzZTpjb25zdGFudCxkZWxldGVGcmVxQ29kZTpiYXNlMyxob25nZ3VvX25vdF9zaG93X2luX2NoYXJnaW5nX3BhZ2U6YmFzZSxEcGFDcmVhdGl2ZVN0cmF0ZWd5RXhwZXJpbWVudDpzZWFyY2hfbWVyZ2VfaW1hZ2VfZXhwLHNzcF9yZXBsYXlfYXM6YmFzZSxiZnNfc2RwYV9kaXZlcnNpZnk6cmVtYWluLHNlYXJjaF9zdWJjYXJkX3N0eWxlOmZvcm1fYnV0dG9uLGJzLXg6YnMsd2hpdGVfYm94OmNsb3NlLGR1YW5qdV9hcnB1OmFkZF9ub3ZlbF8wMzI3LE1vZGVsRmVhdHVyZXNIaXZlTG9nOmNsb3NlLGZseV9zdXBfZmFjdG9yczpleHAsY2x0cmNvbmY6YnNsMyxkYXZpbmNpX3JlcV9sb2c6ZGVmYXVsdCxmbHdfbGlrZV9lbmdhZ2U6YmFzZSxzdG9yeV9jdXN0b21pemVfZGFubXU6YmFzZSxhZHhQbGF5UGFnZVJhc2lvOmV4cDAsZHBhMlByb21vdGVQcm9kdWN0TWF0ZXJpYWw6YmFzZSxsaXZlX21vZGVsOmxpdmVfYmFzZV8wNDA4LHVzZUFpR2NUaXRsZTpiYXNlLHBlZ2FzdXNfYWRsb2FkXzM6MTQsbGFuY2VyX25hdHVyZTpleHAsc3RvcnlfZGFubXVfY29uZjpkYW5tdV9udW1fMzgsdHNtdjJfdG9rZW5fc2RwYTpiYXNlLDI0aF9yb2lfYXJwdV9uZXc6c3RhbGxfYmFzZV92MyxzcGxhc2hfaGFyZF9maWx0ZXJzOmV4cCxnYW1lX2VjcG1fcm9pX2ZhY3Rvcl9zd2l0Y2g6ZXhwX291dGVyLGJ1cGNwY19nc3A6ZGVmYXVsdCxuRmVkQmFjazpsb29zZSxVbml0RGV0YWlsSW5mbzpjbG9zZSzogIHkuInov57lub/lkYrlsY/olL06YmFzZSxnZF9mb3JjZV9zZWxlY3Q6ZXhwMixjb2xkX2Jvb3RfY2xlYXJfZnJlcTpiYXNlLGdhbWVfb3Blbl9pbnRlcmVzdF9vcmllbnRhdGlvbjpleHBfb3Blbl9ib3RoLGNsb3NlX3BlcnNvbmFsX3JlY29tbWVuZF8yMDI1OmV4cF9vcGVuX2FsbF8wMjI4LFJUQV9ESVZJREVfRVhQX1RBR183MzE6cnRhX2RpdmlkZV9leHBfNzMxXzMsbm9fYWRfc2V0OmJhc2UsUlRBX0RJVklERV9FWFBfVEFHXzg1NTpydGFfZGl2aWRlX2V4cF84NTVfNyxhY2NvdW50X2V4cGxvcmVfc2hvd19saW1pdDpkZWZhdWx0LGZseV9nb29kc19jb21tZW50X3VybDpibHVlbGlua19yZXBsYWNlXzA1LG9yZGVyX2xhcmdlOmRlbGF5MSxlY3BtX3RocmVzaG9sZF9sYXllcjowOCxyZWNhbGxfdW5pdF9saW1pdDpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR182NDA6cnRhX2RpdmlkZV9leHBfNjQwXzE2LGRhaWh1b1doaXRlQ29uZjp3aGl0ZV8yNDEyMDJfNSxSVEFfRElWSURFX0VYUF9UQUdfODgzOnJ0YV9kaXZpZGVfZXhwXzg4M181LGVuYWJsZUlubGluZUV4cDpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR184ODg6cnRhX2RpdmlkZV9leHBfODg4XzIsaWFhX3VuaXRfZWE6ZXhwMSxTbWFsbEJ1ZGdldFRvbGVyYXRlOmV4cF83MixhdXRvX2FkX2Fzc2lzdDpiYXNlLG1peGVyX2JyYW5kX29wdDpiYXNlLGxheWVyZWRfYmlkZGluZzpiYXNlMDkyMixzdG9yeVllbGxvd0NhcnROZXc6ZXhwX2Jhc2UyXzAyMTMseHN0X2NodWRpYW46YmFzZSxkdWFuanVfbW9kZWw6ZGVmYXVsdCxnZF9waWQ6ZXhwX3JlYWQsY3BjMV9leHRlbmRlZDpxdW90YV8xMCxicnVzaF9pbm5lcjpiYXNlLHN0b3J5X3N0eWxlX3NlbGVjdDpyYW5kLGVuYWJsZV9wbGF5cGFnZV9pbmxpbmVfd3hfanVtcDpleHBfMDQwOSxkY3ZyZl8yMDI1UTE6cmV2ZXJzZSxmcmVTOmJhc2UsYWR2dl9waWRfZml4OmJhc2UsQ3JlYXRpdmVRdWFsaXR5OmF1dG8sSW5kdXN0cnlCb29zdDpnYW1lbGl2ZSxmbHlfbTppY2ViZXJnX2Jhc2UsZWNwbV9jcm93ZHNfZmlsdGVyOnRlc3QsZ2Rfc2NoZV9yYXRpbzpiYXNlLHRlc3RfbWl4ZXJfY2NkOmJhc2Usa3Vha2VfbW9iaWxlX2FudG91X3BjOmFudG91X3BjLG5ld192aWRlb19ib29zdDpkZWZhdWx0LHVuZGVyZnJhbWVfdWVzY29yZTpiYXNlLEVBX2V4cDpjbG9zZV9lYV8xMjExLGFuY2hvckFwcERvd25sb2FkU3R5bGVFeHA6YmFzZSwyMzI0NDpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR183MDM6cnRhX2RpdmlkZV9leHBfNzAzXzMsZHVhbmp1X21vZGVsX2N0cjpkZWZhdWx0LGNvbG9yX21hc2s6YmFzZSxwdl9hYTpleHBfMSxwY19jbGllbnRfbm9fYWQ6bm9fYWRfYmFzZSxwcm9nQ3JlYVQ6djEuMCxuZWdhdGl2ZV9zdHJhdGVneV90ZXN0OmJhc2UsZW5hYmxlTmF0aXZlRmVlZHNUb1N0b3J5OmV4cF9oYXJkLGx0dl9pbnNfbG9nOmJhc2UxMCxmbHlfYnVfdW5kZXJmcmFtZTpiYXNlLHNwcmluZ2Zlc3RpdmFsX3N0YWJpbGl0eV9pbmR1c3RyeTpiYXNlLGdpZl9leHA6YmFzZSxjYXNlX2ludmVyc3RpZ2F0ZTpiYXNlLHByZXJhbmtfc2RwYTp4c2RqXzAxMTcscmVzZXJ2ZV9wcmljZTpnc3BfYWxsLHBheV83ZF9udW06ZXhwX2dhbWVfMSx0aW1lRnJlcTpkZWZhdWx0LGZyZXFDaGVja0R1cGxpY2F0ZTpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR183MjQ6cnRhX2RpdmlkZV9leHBfNzI0XzMsc3RvcnlGbHlNb2RlbENvbmY6YWRkX2VhX2V4cCxBcHBDb2V4aXN0RmlsdGVyOmNsb3NlLHVzdWFsX2FyZWFzOmJhc2UsYXBwU3RvcmVQcmlvcml0eVhpYW9ndW9BY2NvdW50SWRzOmJhc2UsbWFiaWRfZW5hYmxlOmJhc2VfMDEwOCxSVEFfRElWSURFX0VYUF9UQUdfODM2OnJ0YV9kaXZpZGVfZXhwXzgzNl8xMCxzb2Z0X2FkOjEyLHN0b3J5X3BsYXkzc190b3VjaF9yYXRpbzpyYXRpb18xMDAsZHVhbmp1X3JldGFyZ2V0OmJhc2UsUlRBX0RJVklERV9FWFBfVEFHXzEwMzc6cnRhX2RpdmlkZV9leHBfMTAzN181LGNhdGVnb3J5X3YzOmJhc2UsaWFhM19vdXRfdXBfYWRzOmV4cF9pYWFfb3V0X3VwLHByb2dDcmVhUmFuZG9tXzE6YmFzZV9tb2RlbDAzMTksZmx5X3lzYW50b3U6YmFzZV8wODIxLGZseV9jdHJfaW5saW5lX3RhcmdldDpjbG9zZSx0ZW1wbGF0ZV9maXg6YmFzZSxicmFuZER5bmFtaWNDYXJkSW5kZXhFeHA6ZXhwLGlubGluZUVjcG06ZGVmYXVsdCxmb3JjZUV4cG9zdXJlLWNhc3Npbmk6ZGFpaHVvX29wZW5fMjMxMTAxLHNwbGFzaF9uZXdfc3R5bGVfZmlsdGVyOmRlZmF1bHQsc2VhcmNoX3RyaXRvbjpiYXNlLGN2cl9mOmluZHVzdHJ5X29wdF9leHAsaW5uZXJfb3ZlcmxvYWRfY3RybDpkZWZhdWx0LHVnX3VuaXRfbGltaXQ6ZXhwLGNsZWFuX3Nsb3Q1MHA6ZXhwLG1lcmdlX2ZpbHRlcjplbmFibGVfc3luY19wcmltYXJ5X2ZpbHRlcixoeV9hcnB1X3JvdXRlX3NwbGl0OnN0YWxsX29yX3VuZGVsZXRlZF9mZWFzX2V4cCwxNTA2OmJhc2UsZ2RGZWVkc0VuYWJsZUJydXNoOmJhc2UsaW5saW5lX2Zsb3dfbm9fYWQ6YmFzZSxlbmFibGVfbGFuY2VyX3JlY29yZF9kbXNfZmVhdHVyZTowNDE0X3Rlc3QsdW5kZXJmcmFtZV9tYXJrX3N3dGljaDpleHAxXzA0MDksQWlFeHBQbGF5UGFnZTpiYXNlXzAsMjRoX3JvaV9hcnB1OmJhc2UzLG9wZW5QcmV2aWV3OmV4cDIsZ3NwX2V4cDpzZWFyY2hfZGVmYXVsdCxydW5uaW5nX29jcGM6YmFzZSxmbHlfcmFua19jb25mX21lcmdlOmJhc2UsbHRyQXBwTG9nOmNscyxzZWFyY2hfYWRzX3F1ZXJ5X3Jld3JpdGU6Y29tYmluZV9leHAxLHJhbmtfZGl2XzE6ZGVmYXVsdCx1bmRlcmZyYW1lX2Rvd25sb2FkX2FkYnV0dG9uOmJhc2UsQnNPZmZsaW5lTG9jYWxDcGFDb25maWdOZXc6ZGVmYXVsdCx1cFNwYWNlQ2hlY2tEaWZmUmF0aW9FeHA6ZXhwX21icyxzcGxhc2hfaW50ZXJmYWNlX2Rvd25ncmFkZTpiYXNlLGZvcmJpZGRlbl9kaXJlY3RfanVtcDpiYXNlLG1pbmlnYW1lX2JvbnVzX2V4cDpyZW1haW4sZW5hYmxlQXBwc3RvcmVEaXJlY3Q6ZXhwXzEsZnJlcV9pbmZvX3JvdXRpbmc6c2hqZF9zeWNwYl9mcmVxX3Rhc2tfY2x1c3Rlcl8xLHNlYXJjaF9hZHNfbWluX2JpZDpkZWZhdWx0LG9wZW5OZXdHZFByZXZpZXc6ZXhwLGRpc2FibGVfaWxsZWdhbF9vbmVfanVtcDpiYXNlLGNvYXJzZV9xdW90YV9jb250cm9sOmJhc2VfMDMyNCxmbHlfZHluYW1pY0FudG91OmJhc2UsQWlFeHBTdG9yeTpiYXNlLGRwYTJSZWNhbGw6Y2hvb3NlX3Byb2R1Y3RzX2Jhc2VfNTAsc2VhcmNoX25ld190YXJnZXRpbmc6YmFzZSxlbmFibGVfbW9kZWxfZGV0YWlsX3RyYWNrZXI6YmFzZSxEcGEyQ1ZSVGhyZXNob2xkOmpkX2N2cl8yMDAsY3RyX3RfZXhwOnQxLjAscGNTZWFyY2g6ZXhwLGVjb21fbWFpbl9zZWFyY2g65a+554Wn57uELGNvYXJzZTpjb2Fyc2VfY3ZyX25ld2NvbnYsZnJlcV9taWdyYXRlOmV4cF9lbmdpbmVfd2l0aF9zdHJpY3RfYnJ1c2g1LHN3aXRjaEJzUGdSZXFSYXRpbzpjbG9zZSxzZWFyY2hfcmVhbHRpbWVfdHJpZ2dlcjpjb25zdGFudCxBaUV4cEZlZWRzOmJhc2UsbWJzX3JlZmFjdG9yOmV4cDIsdWVzX3NlYXJjaDpkZWZhdWx0LHVuZGVyZnJhbWVfbXVsdGlfYWRzOmJhc2UsYWlnY19hbnRvdV9pbWFnZTpiYXNlXzAzMjYsbWl4ZXJfZnVzaW9uX2RpbWVuc2lvbjpnMixyb2xsb3V0X2xpc3R3aXNlX2Jpem1peGVyX2J1Z19maXg6YmFzZSx1c2VCc0ZpbmRhOmZpbmRhX3gsZmx5X3B1cF9lY3BtOmNvbnN0YW50LGZseV9jdHJfaW5saW5lOm1vZGVsLHRlc3RfcGVnYXN1c19wb3M6YmFzZSx0ZXN0X3N0b3J5X3BhY2s6ZXhwIDIsc3RvcnlfYWRsb2FkXzM6MTQsc2RwYV9kaXZlcnNpZnk6Y29uc3RhbnQyLG1pbmlfZ2FtZV9zY2VuZTpiYXNlLGN0cl9kaWx1Y19lbWJfbGF5ZXI6ZXhwcl9lbWJfZGlsdWMscm9pX2J4aWFveW91X25ldzpkZWZhdWx0LEluZHVzdHJ5Tm9UYXJnZXRGaWx0ZXJMYXllcjpleHAsY3JlYXRpdmVfYXZpZF90YWIzOmV4cF8wNTI3LHN0eWxlX2FiaWxpdHlfb2ZmbGluZTpiYXNlLHVuZGVyZnJhbWVfYnJhbmRfaGlnaDpiYXNlLGNyb3dkX2VjcGM6b3Blbl92Mix0c21fdjJfbGF5ZXI6YmFzZSxtaXhlcl9saXN0d2lzZV9wZWdhc3VzOmc1LHVzZUFzUGc6bWFpbl8yNDEyMjcsc3BsaXRfYnVja2V0OmJ1Y2tldF8zLGdsb2JhbF9yZXZlcnNlOmJhc2UscGxhdGZvcm06ZGVmYXVsdKABALIBICjf18utGMJMWQj0kF8utyJl8gRyHD1TIq1K6aKZR3vRugFCaHR0cHM6Ly9xcnNqLmJpbGlnYW1lLmNvbS9nY3h6L2g1Lz9zb3VyY2VGcm9tPTc3NyZzb3VyY2VUeXBlPWFkUHV0wgEA0gEA2AHQAeABAOgBAPABAIACAogCALgCAMACANACANgCAOoCAPACrIYl+AIAiAMGkgMAqAMAsAMAuAMAwgMAyAMX0gOWAXsiMTYiOiIxMjE1NDYwXzAiLCIxNyI6IjQzMzYiLCIxIjoiMTAxNzg0NjY0OTk1OTc0NzU4NCIsIjIiOiIxMjUyMzkzIiwiMyI6IjEyNTIzOTMiLCI2IjoiMTI1MjM5M18wIiwiMTIiOiI0MzM4IiwiMTMiOiIxMjE1NDYwIiwiMTQiOiI4ODciLCIxNSI6IjEzNjkifeADAOgDAPADAPoDBW90aGVyggQJbnVsbDpudWxsmAQAoAQAqgQECAAQBLAEAOIEwwE1Ni57InBzSWQiOjUyMTE4LCJ2MiI6IkFXVXMyZTBidEhmWTVCSzJ0LUQ0U3lNRGJtN2Z1SGIyYmlIREhsTnBjQlB1U2dVRzdLaW80dUkyNXlSdFJXQU5WUnRMbll1OVpxOElrdkVYZURfUmlER25BeTE0UV9CMlAtSzJmQ3pzMWZLQmY5WjZPUSJ9OzYzLnsicHNJZCI6NTIwNjYsInYyIjoiUWcifTs3MC57InBzSWQiOjUwMDQxLCJ2MiI6IktBIn2gBQDIBQPSBQA=", + "client_ip": "182.89.224.34", + "server_type": 1, + "resource_id": 4336, + "index": 2, + "cm_mark": 1, + "extra": { + "use_ad_web_v2": false, + "show_urls": [ + "" + ], + "click_urls": [], + "download_whitelist": [], + "card": { + "card_type": 0, + "title": "今日全球首发,千件外观福利免费领", + "covers": [ + { + "url": "https://i0.hdslb.com/bfs/sycp/creative_img/202504/bbd7cc4e6a74508e9ccee467541cc06a.jpg", + "loop": 0, + "image_height": 0, + "image_width": 0, + "gif_tag_show": false, + "jump_url": "", + "title": "", + "desc": "" + } + ], + "jump_url": "https://qrsj.biligame.com/gcxz/h5/?sourceFrom=777&sourceType=adPut", + "desc": "", + "callup_url": "", + "long_desc": "", + "ad_tag": "", + "extra_desc": "", + "universal_app": "", + "duration": "", + "adver": { + "adver_id": 1252393, + "adver_type": 3 + }, + "extreme_team_status": false, + "support_transition": false, + "under_player_interaction_style": 0, + "referral_pop_active_time": 10000, + "grade_denominator": 0, + "star_level": 0, + "live_booking_population_threshold": 0, + "ori_mark_hidden": 0, + "use_multi_cover": false, + "custom_feedback_panels": [], + "yellow_cart_pannel_pullup": 0, + "yellow_cart_pannel_version": 0, + "goods_item_id": 0, + "story_interaction_style": 0, + "videos": [], + "download_area": 0, + "goods_pannel_show": 0, + "goods_panel_show": 0, + "show_pop_window": 0, + "search_show_adbutton": 0, + "jump_interaction_style": 0, + "live_page_type": 0, + "ad_tag_style": { + "type": 4, + "text": "", + "text_color": "", + "bg_border_color": "", + "bg_color": "", + "border_color": "", + "img_url": "https://i0.hdslb.com/bfs/sycp/mng/202408/34463051f8d45a6d3c20f8aff31aad9b.png", + "img_height": 48, + "img_width": 72 + }, + "feedback_panel": { + "panel_type_text": "广告", + "feedback_panel_detail": [], + "toast": "将减少相似广告推荐", + "close_rec_tips": "操作成功", + "open_rec_tips": "将减少展示此类广告" + }, + "fold_time": 0, + "live_room_popularity": 0, + "live_tag_show": false, + "quality_infos": [], + "dynamic_text": "今日全球首发,千件外观福利免费领", + "choose_button_list": [], + "grade_level": 0, + "anim_in_enable": 0, + "underframe_card_style": 0, + "playpage_card_style": 0, + "live_auto_play": false, + "original_style_level": 0, + "live_card_show": false, + "enable_tag_move_up": 0, + "item_source": 0, + "closed_loop_item": 0, + "desc_type": 0, + "comment_use_game_page": 0, + "story_takeoff_interaction_style": 0 + }, + "report_time": 2000, + "sales_type": 31, + "special_industry": false, + "preload_landingpage": 0, + "enable_share": true, + "share_info": { + "title": "今日全球首发,千件外观福利免费领", + "subtitle": "", + "image_url": "https://i0.hdslb.com/bfs/sycp/creative_img/202504/3eba2979cb9525f14633a39c9f2ec2ab.jpg" + }, + "upzone_entrance_type": 0, + "upzone_entrance_report_id": 0, + "click_area": 0, + "shop_id": 0, + "up_mid": 0, + "track_id": "pbaes.DXUvRhr8IAhiFZ60KoOBStL0Na80m-kKS6CwFKDBtlzOwGJZu7il0VbEU3j2A_dZ96EXDGonAHs9Qx-5X2XbovyGP-xL4lyr_c_3rDZs4q3frmVjEGhu2VPOE5MRHF3AdryKsZiIGCl_f6ZD0y-cNQ==", + "enable_store_direct_launch": 0, + "enable_double_jump": false, + "from_track_id": "all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "store_callup_card": false, + "enable_h5_alert": false, + "special_industry_style": 0, + "macro_replace_priority": 1, + "feedback_panel_style": 0, + "ad_content_type": 0, + "enable_h5_pre_load": 0, + "hot_activity_id": 0, + "middle_show_urls": [], + "middle_click_urls": [], + "product_id": 0, + "landingpage_download_style": 2, + "download_url_type": 0, + "enable_auto_callup": 0, + "top_live_stay_time_seconds": 0, + "vipshop_fast_framework": 0, + "lottery_id": 0, + "enable_openapk_dialog": false, + "user_cancel_jump_type": 0, + "comment_toast_open": 0, + "comment_biz_type": 0, + "app_exp_params": "{\"pegasus_live_inline_background_fill\":0,\"story_live_goods_card_style\":{\"first_type\":1,\"second_type\":2,\"delay_time\":3000}}" + } + } +} +``` + +为普通视频时 则对应最开始的视频类型 也就是 + +```json +{ + "card_type": "small_cover_v2", + "card_goto": "av", + "goto": "av", + "param": "114375012651120", + "cover": "http://i1.hdslb.com/bfs/archive/05ec862caac777f9d7d06175becf0413b9c653ee.jpg", + "title": "「小白」红米Turbo 4 Pro 性能体验:首台8sGen4量产机表现如何?", + "uri": "bilibili://video/114375012651120?cid=29550644277&player_height=1890&player_preload=%7B%22expire_time%22%3A1745486594%2C%22cid%22%3A29550644277%2C%22quality%22%3A32%2C%22file_info%22%3A%7B%2216%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A2121663%2C%22timelength%22%3A230900%7D%5D%7D%2C%2232%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A3606019%2C%22timelength%22%3A230900%7D%5D%7D%2C%2264%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A6733527%2C%22timelength%22%3A230900%7D%5D%7D%2C%2280%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A10362311%2C%22timelength%22%3A230900%7D%5D%7D%7D%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22dash%22%3A%7B%22video%22%3A%5B%7B%22id%22%3A32%2C%22base_url%22%3A%22http%3A%2F%2F123.184.35.33%3A8000%2Fv1%2Fresource%2F29550644277-1-100047.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D125426%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D158098%5Cu0026tag%3D%5Cu0026traceid%3DtrANPsmzTXNczh_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctag%252Cnbs%252Coi%252Cplatform%252Ctrid%252Cmid%252Cdeadline%252Cuipk%252Cgen%252Cos%252Cog%5Cu0026upsig%3Df6ea272dedd17383c1a7c43a39471036%22%2C%22bandwidth%22%3A124895%2C%22codecid%22%3A7%2C%22size%22%3A3606019%2C%22frame_rate%22%3A%2224.991%22%2C%22backup_url%22%3A%5B%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026tag%3D%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026uipk%3D5%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dcos%5Cu0026upsig%3Df6ea272dedd17383c1a7c43a39471036%5Cu0026uparams%3De%2Ctag%2Cnbs%2Coi%2Cplatform%2Ctrid%2Cmid%2Cdeadline%2Cuipk%2Cgen%2Cos%2Cog%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D125426%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026orderid%3D0%2C3%22%2C%22http%3A%2F%2Fupos-sz-estgoss.bilivideo.com%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026tag%3D%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dupos%5Cu0026og%3Dcos%5Cu0026trid%3D56fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026platform%3Dandroid%5Cu0026upsig%3D464e03491d78d3249012e6c9affbb768%5Cu0026uparams%3De%2Ctag%2Cgen%2Cos%2Cog%2Ctrid%2Cmid%2Cdeadline%2Cnbs%2Coi%2Cuipk%2Cplatform%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D125426%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026orderid%3D1%2C3%22%5D%2C%22audio_id%22%3A30216%7D%2C%7B%22id%22%3A32%2C%22base_url%22%3A%22http%3A%2F%2F59.47.230.23%3A8000%2Fv1%2Fresource%2F29550644277-1-30033.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D131973%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D2d5ae2%5Cu0026tag%3D%5Cu0026traceid%3DtrQICyqgrXBqnY_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cnbs%252Coi%252Cuipk%252Cmid%252Cdeadline%252Cog%252Cplatform%252Ctrid%252Ctag%252Cgen%252Cos%5Cu0026upsig%3D855d6f99090897394e531af9d9cc6dc8%22%2C%22bandwidth%22%3A131411%2C%22codecid%22%3A12%2C%22size%22%3A3794237%2C%22frame_rate%22%3A%2224.991%22%2C%22backup_url%22%3A%5B%22http%3A%2F%2F122.191.18.170%3A8000%2Fv1%2Fresource%2F29550644277-1-30033.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D131973%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dcoso1bv%5Cu0026platform%3Dandroid%5Cu0026sign%3D2d5ae2%5Cu0026tag%3D%5Cu0026traceid%3DtrxqpZsZboLcyN_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cuipk%252Cplatform%252Ctag%252Cos%252Cog%252Cnbs%252Coi%252Ctrid%252Cmid%252Cdeadline%252Cgen%5Cu0026upsig%3D42f974aacd3f2a9a6ba659f11e469614%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30033.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026og%3Dcos%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026tag%3D%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026upsig%3D855d6f99090897394e531af9d9cc6dc8%5Cu0026uparams%3De%2Cnbs%2Coi%2Cuipk%2Cmid%2Cdeadline%2Cog%2Cplatform%2Ctrid%2Ctag%2Cgen%2Cos%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D131973%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026orderid%3D0%2C3%22%5D%2C%22audio_id%22%3A30216%7D%5D%2C%22audio%22%3A%5B%7B%22id%22%3A30216%2C%22base_url%22%3A%22http%3A%2F%2F121.31.234.218%3A8000%2Fv1%2Fresource%2F29550644277-1-30216.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43505%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3Db0263a%5Cu0026tag%3D%5Cu0026traceid%3DtrDHNJjmfaaueG_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cplatform%252Ctrid%252Cmid%252Cdeadline%252Cnbs%252Cgen%252Coi%252Cuipk%252Ctag%252Cos%252Cog%5Cu0026upsig%3De92887e43514a81bad4594c670c509d1%22%2C%22bandwidth%22%3A43292%2C%22size%22%3A1250775%2C%22backup_url%22%3A%5B%22http%3A%2F%2F211.141.225.131%3A8000%2Fv1%2Fresource%2F29550644277-1-30216.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43505%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3D08hbv%5Cu0026platform%3Dandroid%5Cu0026sign%3Db0263a%5Cu0026tag%3D%5Cu0026traceid%3DtrnTeKCShifUBc_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cgen%252Cog%252Cdeadline%252Ctag%252Cnbs%252Cplatform%252Ctrid%252Cos%252Cmid%252Coi%252Cuipk%5Cu0026upsig%3D313f602e2d41ebe9637a95fc20bceb93%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30216.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026nbs%3D1%5Cu0026gen%3Dplayurlv3%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026tag%3D%5Cu0026os%3Dmcdn%5Cu0026og%3Dhw%5Cu0026upsig%3De92887e43514a81bad4594c670c509d1%5Cu0026uparams%3De%2Cplatform%2Ctrid%2Cmid%2Cdeadline%2Cnbs%2Cgen%2Coi%2Cuipk%2Ctag%2Cos%2Cog%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D43505%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%5D%7D%2C%7B%22id%22%3A30280%2C%22base_url%22%3A%22http%3A%2F%2F211.97.94.165%3A8000%2Fv1%2Fresource%2F29550644277-1-30280.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D3f3ed4%5Cu0026tag%3D%5Cu0026traceid%3DtrQHmKzoFdDeCw_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cuipk%252Ctag%252Cnbs%252Cgen%252Cos%252Cog%252Coi%252Cplatform%252Ctrid%252Cmid%252Cdeadline%5Cu0026upsig%3D808cd1429841f75b1ccd7ccdc5de7bc3%22%2C%22bandwidth%22%3A43292%2C%22size%22%3A1250767%2C%22backup_url%22%3A%5B%22http%3A%2F%2F123.184.35.19%3A8000%2Fv1%2Fresource%2F29550644277-1-30280.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dupos%5Cu0026platform%3Dandroid%5Cu0026sign%3D3f3ed4%5Cu0026tag%3D%5Cu0026traceid%3DtrtSntUkmmkWVz_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cplatform%252Ctag%252Cnbs%252Cog%252Ctrid%252Cmid%252Cdeadline%252Coi%252Cuipk%252Cgen%252Cos%5Cu0026upsig%3D070e2e2176dd7e2d87777b20161c8d1f%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30280.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026uipk%3D5%5Cu0026tag%3D%5Cu0026nbs%3D1%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026upsig%3D808cd1429841f75b1ccd7ccdc5de7bc3%5Cu0026uparams%3De%2Cuipk%2Ctag%2Cnbs%2Cgen%2Cos%2Cog%2Coi%2Cplatform%2Ctrid%2Cmid%2Cdeadline%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D43504%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026orderid%3D0%2C3%22%5D%7D%2C%7B%22id%22%3A30232%2C%22base_url%22%3A%22http%3A%2F%2F125.106.124.64%3A8000%2Fv1%2Fresource%2F29550644277-1-30232.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D3ad163%5Cu0026tag%3D%5Cu0026traceid%3DtrsSvqSMaoCcOa_1_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctag%252Cuipk%252Cgen%252Cos%252Cog%252Ctrid%252Cmid%252Cdeadline%252Cnbs%252Coi%252Cplatform%5Cu0026upsig%3D219bdbd1641753ddc8555f788bc21711%22%2C%22bandwidth%22%3A43292%2C%22size%22%3A1250767%2C%22backup_url%22%3A%5B%22http%3A%2F%2F220.200.12.159%3A5889%2Fv1%2Fresource%2F29550644277-1-30232.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3D08hbv%5Cu0026platform%3Dandroid%5Cu0026sign%3D3ad163%5Cu0026tag%3D%5Cu0026traceid%3DtrQVqwCtxAuTKK_2_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctag%252Coi%252Ctrid%252Cdeadline%252Cgen%252Cos%252Cnbs%252Cuipk%252Cplatform%252Cmid%252Cog%5Cu0026upsig%3Dc45e0be8a46a1b1456b066fc447dcf4a%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30232.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026tag%3D%5Cu0026uipk%3D5%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dhw%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026platform%3Dandroid%5Cu0026upsig%3D219bdbd1641753ddc8555f788bc21711%5Cu0026uparams%3De%2Ctag%2Cuipk%2Cgen%2Cos%2Cog%2Ctrid%2Cmid%2Cdeadline%2Cnbs%2Coi%2Cplatform%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D43504%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%5D%7D%5D%7D%2C%22fnval%22%3A272%2C%22accept_formats%22%3A%5B%7B%22quality%22%3A116%2C%22format%22%3A%22flv_p60%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%201080P60%22%2C%22new_description%22%3A%221080P%2060%E5%B8%A7%22%2C%22display_desc%22%3A%221080P%22%2C%22superscript%22%3A%2260%E5%B8%A7%22%2C%22need_vip%22%3Atrue%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A80%2C%22format%22%3A%22flv%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%201080P%22%2C%22new_description%22%3A%221080P%20%E9%AB%98%E6%B8%85%22%2C%22display_desc%22%3A%221080P%22%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A64%2C%22format%22%3A%22flv720%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%20720P%22%2C%22new_description%22%3A%22720P%20%E5%87%86%E9%AB%98%E6%B8%85%22%2C%22display_desc%22%3A%22720P%22%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A32%2C%22format%22%3A%22flv480%22%2C%22description%22%3A%22%E6%B8%85%E6%99%B0%20480P%22%2C%22new_description%22%3A%22480P%20%E6%A0%87%E6%B8%85%22%2C%22display_desc%22%3A%22480P%22%7D%2C%7B%22quality%22%3A16%2C%22format%22%3A%22mp4%22%2C%22description%22%3A%22%E6%B5%81%E7%95%85%20360P%22%2C%22new_description%22%3A%22360P%20%E6%B5%81%E7%95%85%22%2C%22display_desc%22%3A%22360P%22%7D%5D%2C%22volume%22%3A%7B%22measured_i%22%3A-18.2%2C%22measured_lra%22%3A5.9%2C%22measured_tp%22%3A-1.3%2C%22measured_threshold%22%3A-28.3%2C%22target_offset%22%3A0.5%2C%22target_i%22%3A-14%2C%22target_tp%22%3A-1%2C%22multi_scene_args%22%3A%7B%22high_dynamic_target_i%22%3A%22-24%22%2C%22normal_target_i%22%3A%22-14%22%2C%22undersized_target_i%22%3A%22-28%22%7D%7D%2C%22union_player%22%3A%7B%22biz_type%22%3A1%2C%22dimension%22%3A%7B%22width%22%3A4096%2C%22height%22%3A1890%7D%2C%22aid%22%3A114375012651120%7D%2C%22auto_qn_ctl%22%3A%7B%22login_half%22%3A32%2C%22nologin_half%22%3A32%2C%22login_full%22%3A80%2C%22nologin_full%22%3A32%2C%22mobile_login_full%22%3A80%2C%22mobile_nologin_full%22%3A32%7D%2C%22qn_exp%22%3A%7B%22qn_exp_1%22%3Atrue%7D%7D&player_rotate=0&player_width=4096&report_flow_data=%7B%22flow_card_type%22%3A%22av%22%2C%22flow_source%22%3A%22click_u2i%24ann_dssm_u2i_28d%24dssm_u2u%22%7D&trackid=all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007" + ... +} +``` **示例:** @@ -1255,385 +1686,995 @@ curl -G 'https://app.bilibili.com/x/v2/feed/index' ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "items": [ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "items": [ + { + "card_type": "small_cover_v2", + "card_goto": "av", + "goto": "av", + "param": "411978753", + "cover": "http://i2.hdslb.com/bfs/archive/a1bda1e57e6812ca8822a8839fc4a1d3539255a8.jpg", + "title": "帕 鲁 现 状", + "uri": "bilibili://video/411978753?cid=1423365216\u0026player_height=1920\u0026player_preload=%7B%22cid%22%3A1423365216%2C%22expire_time%22%3A1706633200%2C%22file_info%22%3A%7B%2216%22%3A%5B%7B%22timelength%22%3A79970%2C%22filesize%22%3A3782665%7D%5D%2C%2264%22%3A%5B%7B%22timelength%22%3A79900%2C%22filesize%22%3A9552030%7D%5D%7D%2C%22support_quality%22%3Anull%2C%22support_formats%22%3Anull%2C%22support_description%22%3Anull%2C%22quality%22%3A16%2C%22url%22%3A%22http%3A%2F%2Fcn-gdst-cm-01-12.bilivideo.com%2Fupgcxcode%2F16%2F52%2F1423365216%2F1423365216-1-16.mp4%3Fe%3Dig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_%5Cu0026uipk%3D5%5Cu0026nbs%3D1%5Cu0026deadline%3D1706636800%5Cu0026gen%3Dplayurlv2%5Cu0026os%3Dbcache%5Cu0026oi%3D0%5Cu0026trid%3D00000ccc07d4b7a34140a25493d51003bd95U%5Cu0026mid%3D0%5Cu0026platform%3D%5Cu0026upsig%3D2bf8e99202a181300981ab6ba9d2305d%5Cu0026uparams%3De%2Cuipk%2Cnbs%2Cdeadline%2Cgen%2Cos%2Coi%2Ctrid%2Cmid%2Cplatform%5Cu0026cdnid%3D6876%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026orderid%3D0%2C3%5Cu0026buvid%3D%5Cu0026build%3D0%5Cu0026f%3DU_0_0%5Cu0026bw%3D47881%5Cu0026logo%3D80000000%22%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22fnver%22%3A0%2C%22fnval%22%3A0%7D\u0026player_rotate=0\u0026player_width=1080\u0026report_flow_data=%7B%22flow_card_type%22%3A%22av%22%7D", + "three_point": { + "dislike_reasons": [ { - "card_type": "small_cover_v2", - "card_goto": "av", - "goto": "av", - "param": "411978753", - "cover": "http://i2.hdslb.com/bfs/archive/a1bda1e57e6812ca8822a8839fc4a1d3539255a8.jpg", - "title": "帕 鲁 现 状", - "uri": "bilibili://video/411978753?cid=1423365216\u0026player_height=1920\u0026player_preload=%7B%22cid%22%3A1423365216%2C%22expire_time%22%3A1706633200%2C%22file_info%22%3A%7B%2216%22%3A%5B%7B%22timelength%22%3A79970%2C%22filesize%22%3A3782665%7D%5D%2C%2264%22%3A%5B%7B%22timelength%22%3A79900%2C%22filesize%22%3A9552030%7D%5D%7D%2C%22support_quality%22%3Anull%2C%22support_formats%22%3Anull%2C%22support_description%22%3Anull%2C%22quality%22%3A16%2C%22url%22%3A%22http%3A%2F%2Fcn-gdst-cm-01-12.bilivideo.com%2Fupgcxcode%2F16%2F52%2F1423365216%2F1423365216-1-16.mp4%3Fe%3Dig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_%5Cu0026uipk%3D5%5Cu0026nbs%3D1%5Cu0026deadline%3D1706636800%5Cu0026gen%3Dplayurlv2%5Cu0026os%3Dbcache%5Cu0026oi%3D0%5Cu0026trid%3D00000ccc07d4b7a34140a25493d51003bd95U%5Cu0026mid%3D0%5Cu0026platform%3D%5Cu0026upsig%3D2bf8e99202a181300981ab6ba9d2305d%5Cu0026uparams%3De%2Cuipk%2Cnbs%2Cdeadline%2Cgen%2Cos%2Coi%2Ctrid%2Cmid%2Cplatform%5Cu0026cdnid%3D6876%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026orderid%3D0%2C3%5Cu0026buvid%3D%5Cu0026build%3D0%5Cu0026f%3DU_0_0%5Cu0026bw%3D47881%5Cu0026logo%3D80000000%22%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22fnver%22%3A0%2C%22fnval%22%3A0%7D\u0026player_rotate=0\u0026player_width=1080\u0026report_flow_data=%7B%22flow_card_type%22%3A%22av%22%7D", - "three_point": { - "dislike_reasons": [ - { - "id": 4, - "name": "UP主:锤子game", - "toast": "将减少相似内容推荐" - }, - { - "id": 2, - "name": "分区:网络游戏", - "toast": "将减少相似内容推荐" - }, - { - "id": 3, - "name": "频道:搞笑", - "toast": "将减少相似内容推荐" - }, - { - "id": 12, - "name": "此类内容过多", - "toast": "将减少相似内容推荐" - }, - { - "id": 13, - "name": "推荐过", - "toast": "将减少相似内容推荐" - }, - { - "id": 1, - "name": "不感兴趣", - "toast": "将减少相似内容推荐" - } - ], - "feedbacks": [ - { - "id": 1, - "name": "恐怖血腥", - "toast": "将优化首页此类内容" - }, - { - "id": 2, - "name": "色情低俗", - "toast": "将优化首页此类内容" - }, - { - "id": 3, - "name": "封面恶心", - "toast": "将优化首页此类内容" - }, - { - "id": 4, - "name": "标题党/封面党", - "toast": "将优化首页此类内容" - } - ], - "watch_later": 1 - }, - "args": { - "up_id": 495695169, - "up_name": "锤子game", - "rid": 65, - "rname": "网络游戏", - "tid": 1833, - "tname": "搞笑", - "aid": 411978753 - }, - "player_args": { - "aid": 411978753, - "cid": 1423365216, - "type": "av", - "duration": 80 - }, - "idx": 1706629610, - "three_point_v2": [ - { - "title": "添加至稍后再看", - "type": "watch_later", - "icon": "https://i0.hdslb.com/bfs/activity-plat/static/ce06d65bc0a8d8aa2a463747ce2a4752/NyPAqcn0QF.png" - }, - { - "title": "反馈", - "subtitle": "(选择后将优化首页此类内容)", - "reasons": [ - { - "id": 1, - "name": "恐怖血腥", - "toast": "将优化首页此类内容" - }, - { - "id": 2, - "name": "色情低俗", - "toast": "将优化首页此类内容" - }, - { - "id": 3, - "name": "封面恶心", - "toast": "将优化首页此类内容" - }, - { - "id": 4, - "name": "标题党/封面党", - "toast": "将优化首页此类内容" - } - ], - "type": "feedback" - }, - { - "title": "不感兴趣", - "subtitle": "(选择后将减少相似内容推荐)", - "reasons": [ - { - "id": 4, - "name": "UP主:锤子game", - "toast": "将减少相似内容推荐" - }, - { - "id": 2, - "name": "分区:网络游戏", - "toast": "将减少相似内容推荐" - }, - { - "id": 3, - "name": "频道:搞笑", - "toast": "将减少相似内容推荐" - }, - { - "id": 12, - "name": "此类内容过多", - "toast": "将减少相似内容推荐" - }, - { - "id": 13, - "name": "推荐过", - "toast": "将减少相似内容推荐" - }, - { - "id": 1, - "name": "不感兴趣", - "toast": "将减少相似内容推荐" - } - ], - "type": "dislike" - } - ], - "talk_back": "视频,帕 鲁 现 状,32.5万观看,257弹幕,时长1分钟20秒,UP主锤子game,", - "report_flow_data": "{\"flow_card_type\":\"av\"}", - "cover_left_text_1": "32.5万", - "cover_left_icon_1": 1, - "cover_left_1_content_description": "32.5万观看", - "cover_left_text_2": "257", - "cover_left_icon_2": 3, - "cover_left_2_content_description": "257弹幕", - "cover_right_text": "1:20", - "cover_right_content_description": "1分钟20秒", - "desc_button": { - "text": "锤子game", - "uri": "bilibili://space/495695169", - "event": "nickname", - "type": 1 - }, - "official_icon": 16, - "can_play": 1, - "goto_icon": { - "icon_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/077GOeHOfO.png", - "icon_night_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/ldbCXtkoK2.png", - "icon_width": 16, - "icon_height": 16 - } + "id": 4, + "name": "UP主:锤子game", + "toast": "将减少相似内容推荐" }, { - "card_type": "small_cover_v2", - "card_goto": "av", - "goto": "av", - "param": "836990443", - "cover": "http://i1.hdslb.com/bfs/archive/d16a125d6ec1c68cc9e0815bc28dcb62a1df9932.jpg", - "title": "【Phigros自制/崩坏:星穹铁道】欢迎来到匹诺康尼! 不眠之夜 IN Lv.13", - "uri": "bilibili://video/836990443?cid=1422516399\u0026player_height=1080\u0026player_preload=%7B%22cid%22%3A1422516399%2C%22expire_time%22%3A1706633200%2C%22file_info%22%3A%7B%2216%22%3A%5B%7B%22timelength%22%3A102818%2C%22filesize%22%3A4441802%7D%5D%2C%2264%22%3A%5B%7B%22timelength%22%3A102748%2C%22filesize%22%3A12468618%7D%5D%7D%2C%22support_quality%22%3Anull%2C%22support_formats%22%3Anull%2C%22support_description%22%3Anull%2C%22quality%22%3A16%2C%22url%22%3A%22http%3A%2F%2Fupos-sz-mirrorali.bilivideo.com%2Fupgcxcode%2F99%2F63%2F1422516399%2F1422516399-1-16.mp4%3Fe%3Dig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_%5Cu0026uipk%3D5%5Cu0026nbs%3D1%5Cu0026deadline%3D1706636800%5Cu0026gen%3Dplayurlv2%5Cu0026os%3Dalibv%5Cu0026oi%3D0%5Cu0026trid%3D0ccc07d4b7a34140a25493d51003bd95U%5Cu0026mid%3D0%5Cu0026platform%3D%5Cu0026upsig%3D06ea793aa573018646c0096adf0dcb9e%5Cu0026uparams%3De%2Cuipk%2Cnbs%2Cdeadline%2Cgen%2Cos%2Coi%2Ctrid%2Cmid%2Cplatform%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026orderid%3D0%2C3%5Cu0026buvid%3D%5Cu0026build%3D0%5Cu0026f%3DU_0_0%5Cu0026bw%3D43547%5Cu0026logo%3D80000000%22%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22fnver%22%3A0%2C%22fnval%22%3A0%7D\u0026player_rotate=0\u0026player_width=1920\u0026report_flow_data=%7B%22flow_card_type%22%3A%22av%22%7D", - "three_point": { - "dislike_reasons": [ - { - "id": 4, - "name": "UP主:早期陈总", - "toast": "将减少相似内容推荐" - }, - { - "id": 2, - "name": "分区:音游", - "toast": "将减少相似内容推荐" - }, - { - "id": 3, - "name": "频道:音乐游戏", - "toast": "将减少相似内容推荐" - }, - { - "id": 12, - "name": "此类内容过多", - "toast": "将减少相似内容推荐" - }, - { - "id": 13, - "name": "推荐过", - "toast": "将减少相似内容推荐" - }, - { - "id": 1, - "name": "不感兴趣", - "toast": "将减少相似内容推荐" - } - ], - "feedbacks": [ - { - "id": 1, - "name": "恐怖血腥", - "toast": "将优化首页此类内容" - }, - { - "id": 2, - "name": "色情低俗", - "toast": "将优化首页此类内容" - }, - { - "id": 3, - "name": "封面恶心", - "toast": "将优化首页此类内容" - }, - { - "id": 4, - "name": "标题党/封面党", - "toast": "将优化首页此类内容" - } - ], - "watch_later": 1 - }, - "args": { - "up_id": 1515475415, - "up_name": "早期陈总", - "rid": 136, - "rname": "音游", - "tid": 10174, - "tname": "音乐游戏", - "aid": 836990443 - }, - "player_args": { - "aid": 836990443, - "cid": 1422516399, - "type": "av", - "duration": 103 - }, - "idx": 1706629609, - "three_point_v2": [ - { - "title": "添加至稍后再看", - "type": "watch_later", - "icon": "https://i0.hdslb.com/bfs/activity-plat/static/ce06d65bc0a8d8aa2a463747ce2a4752/NyPAqcn0QF.png" - }, - { - "title": "反馈", - "subtitle": "(选择后将优化首页此类内容)", - "reasons": [ - { - "id": 1, - "name": "恐怖血腥", - "toast": "将优化首页此类内容" - }, - { - "id": 2, - "name": "色情低俗", - "toast": "将优化首页此类内容" - }, - { - "id": 3, - "name": "封面恶心", - "toast": "将优化首页此类内容" - }, - { - "id": 4, - "name": "标题党/封面党", - "toast": "将优化首页此类内容" - } - ], - "type": "feedback" - }, - { - "title": "不感兴趣", - "subtitle": "(选择后将减少相似内容推荐)", - "reasons": [ - { - "id": 4, - "name": "UP主:早期陈总", - "toast": "将减少相似内容推荐" - }, - { - "id": 2, - "name": "分区:音游", - "toast": "将减少相似内容推荐" - }, - { - "id": 3, - "name": "频道:音乐游戏", - "toast": "将减少相似内容推荐" - }, - { - "id": 12, - "name": "此类内容过多", - "toast": "将减少相似内容推荐" - }, - { - "id": 13, - "name": "推荐过", - "toast": "将减少相似内容推荐" - }, - { - "id": 1, - "name": "不感兴趣", - "toast": "将减少相似内容推荐" - } - ], - "type": "dislike" - } - ], - "talk_back": "视频,【Phigros自制/崩坏:星穹铁道】欢迎来到匹诺康尼! 不眠之夜 IN Lv.13,22.8万观看,797弹幕,时长1分钟43秒,UP主早期陈总,", - "report_flow_data": "{\"flow_card_type\":\"av\"}", - "cover_left_text_1": "22.8万", - "cover_left_icon_1": 1, - "cover_left_1_content_description": "22.8万观看", - "cover_left_text_2": "797", - "cover_left_icon_2": 3, - "cover_left_2_content_description": "797弹幕", - "cover_right_text": "1:43", - "cover_right_content_description": "1分钟43秒", - "desc_button": { - "text": "早期陈总", - "uri": "bilibili://space/1515475415", - "event": "nickname", - "type": 1 - }, - "can_play": 1, - "goto_icon": { - "icon_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/077GOeHOfO.png", - "icon_night_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/ldbCXtkoK2.png", - "icon_width": 16, - "icon_height": 16 - } + "id": 2, + "name": "分区:网络游戏", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:搞笑", + "toast": "将减少相似内容推荐" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "不感兴趣", + "toast": "将减少相似内容推荐" } - ], - "config": { - "column": 2, - "autoplay_card": 2, - "feed_clean_abtest": 0, - "home_transfer_test": 0, - "auto_refresh_time": 1200, - "show_inline_danmaku": 1, - "toast": {}, - "is_back_to_homepage": true, - "enable_rcmd_guide": true, - "inline_sound": 2, - "auto_refresh_time_by_appear": 1200, - "auto_refresh_time_by_active": 1200, - "visible_area": 80, - "card_density_exp": 1, - "story_mode_v2_guide_exp": 6 + ], + "feedbacks": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "watch_later": 1 }, - "interest_choose": null - } + "args": { + "up_id": 495695169, + "up_name": "锤子game", + "rid": 65, + "rname": "网络游戏", + "tid": 1833, + "tname": "搞笑", + "aid": 411978753 + }, + "player_args": { + "aid": 411978753, + "cid": 1423365216, + "type": "av", + "duration": 80 + }, + "idx": 1706629610, + "three_point_v2": [ + { + "title": "添加至稍后再看", + "type": "watch_later", + "icon": "https://i0.hdslb.com/bfs/activity-plat/static/ce06d65bc0a8d8aa2a463747ce2a4752/NyPAqcn0QF.png" + }, + { + "title": "反馈", + "subtitle": "(选择后将优化首页此类内容)", + "reasons": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "type": "feedback" + }, + { + "title": "不感兴趣", + "subtitle": "(选择后将减少相似内容推荐)", + "reasons": [ + { + "id": 4, + "name": "UP主:锤子game", + "toast": "将减少相似内容推荐" + }, + { + "id": 2, + "name": "分区:网络游戏", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:搞笑", + "toast": "将减少相似内容推荐" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "不感兴趣", + "toast": "将减少相似内容推荐" + } + ], + "type": "dislike" + } + ], + "talk_back": "视频,帕 鲁 现 状,32.5万观看,257弹幕,时长1分钟20秒,UP主锤子game,", + "report_flow_data": "{\"flow_card_type\":\"av\"}", + "cover_left_text_1": "32.5万", + "cover_left_icon_1": 1, + "cover_left_1_content_description": "32.5万观看", + "cover_left_text_2": "257", + "cover_left_icon_2": 3, + "cover_left_2_content_description": "257弹幕", + "cover_right_text": "1:20", + "cover_right_content_description": "1分钟20秒", + "desc_button": { + "text": "锤子game", + "uri": "bilibili://space/495695169", + "event": "nickname", + "type": 1 + }, + "official_icon": 16, + "can_play": 1, + "goto_icon": { + "icon_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/077GOeHOfO.png", + "icon_night_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/ldbCXtkoK2.png", + "icon_width": 16, + "icon_height": 16 + } + }, + { + "card_type": "small_cover_v2", + "card_goto": "av", + "goto": "av", + "param": "836990443", + "cover": "http://i1.hdslb.com/bfs/archive/d16a125d6ec1c68cc9e0815bc28dcb62a1df9932.jpg", + "title": "【Phigros自制/崩坏:星穹铁道】欢迎来到匹诺康尼! 不眠之夜 IN Lv.13", + "uri": "bilibili://video/836990443?cid=1422516399\u0026player_height=1080\u0026player_preload=%7B%22cid%22%3A1422516399%2C%22expire_time%22%3A1706633200%2C%22file_info%22%3A%7B%2216%22%3A%5B%7B%22timelength%22%3A102818%2C%22filesize%22%3A4441802%7D%5D%2C%2264%22%3A%5B%7B%22timelength%22%3A102748%2C%22filesize%22%3A12468618%7D%5D%7D%2C%22support_quality%22%3Anull%2C%22support_formats%22%3Anull%2C%22support_description%22%3Anull%2C%22quality%22%3A16%2C%22url%22%3A%22http%3A%2F%2Fupos-sz-mirrorali.bilivideo.com%2Fupgcxcode%2F99%2F63%2F1422516399%2F1422516399-1-16.mp4%3Fe%3Dig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_%5Cu0026uipk%3D5%5Cu0026nbs%3D1%5Cu0026deadline%3D1706636800%5Cu0026gen%3Dplayurlv2%5Cu0026os%3Dalibv%5Cu0026oi%3D0%5Cu0026trid%3D0ccc07d4b7a34140a25493d51003bd95U%5Cu0026mid%3D0%5Cu0026platform%3D%5Cu0026upsig%3D06ea793aa573018646c0096adf0dcb9e%5Cu0026uparams%3De%2Cuipk%2Cnbs%2Cdeadline%2Cgen%2Cos%2Coi%2Ctrid%2Cmid%2Cplatform%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026orderid%3D0%2C3%5Cu0026buvid%3D%5Cu0026build%3D0%5Cu0026f%3DU_0_0%5Cu0026bw%3D43547%5Cu0026logo%3D80000000%22%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22fnver%22%3A0%2C%22fnval%22%3A0%7D\u0026player_rotate=0\u0026player_width=1920\u0026report_flow_data=%7B%22flow_card_type%22%3A%22av%22%7D", + "three_point": { + "dislike_reasons": [ + { + "id": 4, + "name": "UP主:早期陈总", + "toast": "将减少相似内容推荐" + }, + { + "id": 2, + "name": "分区:音游", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:音乐游戏", + "toast": "将减少相似内容推荐" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "不感兴趣", + "toast": "将减少相似内容推荐" + } + ], + "feedbacks": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "watch_later": 1 + }, + "args": { + "up_id": 1515475415, + "up_name": "早期陈总", + "rid": 136, + "rname": "音游", + "tid": 10174, + "tname": "音乐游戏", + "aid": 836990443 + }, + "player_args": { + "aid": 836990443, + "cid": 1422516399, + "type": "av", + "duration": 103 + }, + "idx": 1706629609, + "three_point_v2": [ + { + "title": "添加至稍后再看", + "type": "watch_later", + "icon": "https://i0.hdslb.com/bfs/activity-plat/static/ce06d65bc0a8d8aa2a463747ce2a4752/NyPAqcn0QF.png" + }, + { + "title": "反馈", + "subtitle": "(选择后将优化首页此类内容)", + "reasons": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "type": "feedback" + }, + { + "title": "不感兴趣", + "subtitle": "(选择后将减少相似内容推荐)", + "reasons": [ + { + "id": 4, + "name": "UP主:早期陈总", + "toast": "将减少相似内容推荐" + }, + { + "id": 2, + "name": "分区:音游", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:音乐游戏", + "toast": "将减少相似内容推荐" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "不感兴趣", + "toast": "将减少相似内容推荐" + } + ], + "type": "dislike" + } + ], + "talk_back": "视频,【Phigros自制/崩坏:星穹铁道】欢迎来到匹诺康尼! 不眠之夜 IN Lv.13,22.8万观看,797弹幕,时长1分钟43秒,UP主早期陈总,", + "report_flow_data": "{\"flow_card_type\":\"av\"}", + "cover_left_text_1": "22.8万", + "cover_left_icon_1": 1, + "cover_left_1_content_description": "22.8万观看", + "cover_left_text_2": "797", + "cover_left_icon_2": 3, + "cover_left_2_content_description": "797弹幕", + "cover_right_text": "1:43", + "cover_right_content_description": "1分钟43秒", + "desc_button": { + "text": "早期陈总", + "uri": "bilibili://space/1515475415", + "event": "nickname", + "type": 1 + }, + "can_play": 1, + "goto_icon": { + "icon_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/077GOeHOfO.png", + "icon_night_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/ldbCXtkoK2.png", + "icon_width": 16, + "icon_height": 16 + } + } + ], + "config": { + "column": 2, + "autoplay_card": 2, + "feed_clean_abtest": 0, + "home_transfer_test": 0, + "auto_refresh_time": 1200, + "show_inline_danmaku": 1, + "toast": {}, + "is_back_to_homepage": true, + "enable_rcmd_guide": true, + "inline_sound": 2, + "auto_refresh_time_by_appear": 1200, + "auto_refresh_time_by_active": 1200, + "visible_area": 80, + "card_density_exp": 1, + "story_mode_v2_guide_exp": 6 + }, + "interest_choose": null + } } ``` + +
+查看登录后的响应示例(精简 包含横幅 热门视频 普通视频): + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "items": [ + { + "card_type": "banner_v8", + "card_goto": "banner", + "args": {}, + "idx": 1745482992, + "track_id": "all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "hash": "4708571670781279769", + "banner_item": [ + { + "type": "static", + "resource_id": 4336, + "id": 1674508, + "index": 1, + "static_banner": { + "id": 1674508, + "title": "火凤燎原第二季完结!新的战神,来了!", + "image": "http://i0.hdslb.com/bfs/banner/b1fc0b68f727c2d4ea57bee154f531c3b7f13fca.png", + "hash": "a6cee3b5b1c05227159f734f68289ba5", + "uri": "https://www.bilibili.com/bangumi/play/ep1365959?goto=static_banner", + "request_id": "1745482994326q172a27a87a21q3087", + "src_id": 4337, + "is_ad_loc": true, + "client_ip": "182.89.224.34", + "server_type": 0, + "resource_id": 4336, + "index": 1, + "cm_mark": 0 + } + }, + { + "type": "ad", + "resource_id": 4336, + "id": 0, + "index": 2, + "ad_banner": { + "id": 0, + "title": "今日全球首发,千件外观福利免费领", + "image": "https://i0.hdslb.com/bfs/sycp/creative_img/202504/bbd7cc4e6a74508e9ccee467541cc06a.jpg", + "hash": "46cbecfe04e047692acfd4a149e81ebd", + "uri": "https://qrsj.biligame.com/gcxz/h5/?sourceFrom=777&sourceType=adPut", + "request_id": "1745482994326q172a27a87a21q3087", + "creative_id": 1017846649959747584, + "src_id": 4338, + "is_ad": true, + "is_ad_loc": true, + "ad_cb": "CAAQABiAoLC1qsSHkA4gACgAMKm4TDjyIUIfMTc0NTQ4Mjk5NDMyNnExNzJhMjdhODdhMjFxMzA4N0iWpZO35jJSBuafs+W3nloG5bm/6KW/YgbkuK3lm71oAXAAeICAgICAGoABAIgBpYgEkgENMTgyLjg5LjIyNC4zNJoBj0BjcGNfcXVvdGE6Y29uc3RhbnQsZWNvbV9mb3JjZV9yZWNhbGw6YmFzZV8wNjI4XzIwLGJyYW5kX3NwbGFzaF9saXN0X2J5X3RpbWU6YnJhbmRfc3BsYXNoX2xpc3RfYnlfdGltZV80MF90dW5uZWwsdWVzX2VycWk6MTcsamtfY2FydDpqazEsZmVlZHNQcmltYXJ5TW9kZWxDb25mOmJzbDIsY29tbWVudENvbXBvbmVudEFudG91UmF0aW86YmFzZSxTbWFsbEJ1ZGdldFJhdGlvOmRlZmF1bHQsc2VhcmNoX2Fkc19jcmVhdGl2ZTpsbG1fZXhwMSxkYWlodW9fYm9vc3RfZXhwOmJvb3N0X2V4cCxzZWFyY2hfYWRzX3JlbGV2YW5jZTp0b3BfYmxhY2tsaXN0X2NhbGksc3BsYXNoX2lubmVyX291dGVyX2V4cDpiYXNlLGNjZF9leHBfZGVtbzpjY2RfYmFzZSxmcmVxUm91dGluZzpiYXNlLHZpZGVvX3RlbXBsYXRlX3N1cHBvcnQ6ZXhwMyxpYWFfb25seV9lY3BtOjAwLHRlc3RfbW9kZWxfbmFtZTpiYXNlXzExLGZseV9qdW1wX2NvbW1lbnQ6ZXhwMyxsb2dnaW5nX2FkaW5mb19saXN0OmJhc2UsdXNlTmV3WWVsbG93Q2FydFBhbm5lbDpleHAyLGhpZ2hfcXVhbGl0eV9hdmlkX3R1cm5fYmFjazpiYXNlLG5ld19kaXJlY3RfYWRtaXNzaW9uX3YyOm9wZW5fc2hvdXRhb193dWR1YW4sdHJhZGVfcmVjYWxsOmRlZmF1bHQsb3R0X2VjcG1fdGhyZDpiYXNlLGVuYWJsZV9hbHRfZGF2aW5jaTpkZWZhdWx0LGlubmVyX291dGVyX2JpZF9leHA6bmV3X3JhbmtmcmFtZV8wNDAyLG9mZmxpbmVfbWlkX2ZlYV92MjpleHAzLGRjdnJfd29ybGRfMjAyNVEyOmJhc2UxLHVuZGVyZnJhbWVfcHVsbF91cDpleHAxLGVuYWJsZV9pbmR1c3RyeV92Ml9maWx0ZXI6YmFzZSxuRmVkQmFjazE6bG9vc2UsRHBhMlJ0YVBpY2tQcm9kdWN0OnNoYXJlZF8zMCxmaWx0ZXJfY2xlYW46YmFzZSxhY2NvdW50RnJlcUNvbmY6YmFzZSxtaW5pZ2FtZV9iaWRfZXhwOmV4cF8wMzA3LHN0b3J5X2RhaWh1b19zdHlsZTpleHAsbm9fYWdlX2dlbmRlcl9leHA6YWdlMCxvdHRjb25maWc6ZXhwXzE1LE1peGVyRUNvbW1lcmNlOmVuYWJsZSxzc3BEaXJlY3REaXNwYXRjaEFkVm9FeHA6ZXhwXzIscmlza3lfYWRfb3B0OmhpZGRlbl9jb3N0XzAsc0ZCcnU6MyxCaXpNaXhlclJvdXRlcjpiaXpfbWl4ZXJfcGcsMjUzOTkxOmJhc2UsdHNtdjJfdHJhZGU6YmFzZSxmbHlfZGVxOm9yZGVyX2xpdmUsdHNtXzE6ZWR1dGFnX3JlY2FsbF8wMjA2LHJldHJpZXZlX2xvZzpvcGVuLGdkX21vZGVsOmV4cDEsY3BhX3NlYXJjaDpjcGFfdjIsdHNtdjJfc3dpbmdmbHlfb3RoZXJzY2VuZTpiYXNlLGFkeF9yZXF1ZXN0X29wdGltaXphdGlvbl90ZXN0OmRlZmF1bHQsc3RfdnZfbW9kZWw6YmFzZSxicnVzaF9kdXA6ZGVmYXVsdCxzdG9yeV9saXZlX3Z2OmRlZixpbmxpbmVfemVyb19jYXJkX2luZGV4OmV4cCxyZXFfbG9nX3JhdGlvOmJhc2UsZHBhVW5kZXJmcmFtZU5ld1N0eWxlOmV4cDIsZHluYW1pY1RpbWVvdXRNaW5zOjI0MCxtb2RlbF9jYWxpOmV4cDEsZmx5X2NwY19jYWxpX25ldzpvcmRlcl9hY2NfZXhwLGVuYWJsZVNtYXJ0Q292ZXJVcmw6YmFzZV9hYV8wMTE1LG1pbmlfZ2FtZV9sb25nX3RpbWVfZmxpcF9leHA6ZXhwX2dyb3VwLHV2X2FhOmRlZmF1bHQsYWNjb3VudF9ibGFjazpiYXNlLGFzQ29tbWVudENoZWNrRGlmZlJhdGlvRXhwOmV4cDIsY3RyX21vZGVsOmV4cF8wMSxic0R1cEFkOm9wZW4sb3JkZXJfbGF4aW46bGF4aW5fYmFzZV92Ml8xLHByb2dDcmVhRmVlZEN0cjpkaXN0X2x0cix1bmlvbl9mbHlfY3BjOmV4cDAxMjQsQ3VzdG9tQ3JlYXRpdmVTZWxlY3RFeHA6a3Vhbmd4aWFfMDQwMixuZXdCc0ZpbHRlckxvZzpvcGVuLHNlYXJjaF9xdWlja19wbGFjZW1lbnQ6ZXhwMSxib29zdF9leHA6ZXhwMyx0c212Ml9tb2RlbF9yZWNhbGw6YmFzZSxjY2RfdWVzY29yZTpjY2RfYmFzZSxkQWR4MTpvcGVuLGRhbGFvX2NhcmRfb25seV90b3A6ZXhwLGNhc3NpbmlFeHA6c21hbGxfYnVkZ2V0X2Nsb3NlLHNwbGFzaF90d2lzdF9hbmdsZV9leHA6YmFzZSx0c212Ml9vdGhlcnM6YmFzZSxzcGxhc2hNaW5JbnRlcnZhbEV4cDpiYXNlXzFoLGR5bmFtaWNfaW5kZXg6YmFzZSxyZWNhbGxfbGltaXRfcmF0aW86YmFzZSxmbHlfY3BhOmZseV92MyxnYW9uZW5nX2FidGVzdDpiYXNlLHBFTjpQUixzZWFyY2hfY3RyX21vZGVsOmV4cF95LGxpdmVfY2FyZF90YWdfbW92ZTpleHAxXzAzMTgsYmVzdENyZWF0aXZlOmVjcG0yLHN0b3J5X3N0eWxlX3NlbGVjdF9jb25mOmJhc2UyMDI1MDIyNyxjbG9zZV9zcmNfZWZmOmV4cF8wNzI1X25vX3J1bGUsMTA3MjpiYXNlLHNvZnRfYWRfZXhwOjA2LGZseV9saWtlX3RoOmNsb3NlLG1peGVyX3N0b3J5X2FkX3dlaWdodDo2LGFpZ2NfYW50b3U6TFJfYmFzZV8yMDI1MDMxNCxqZzpleHAyLHBkY3ZyX3RocmVzaG9sZDpleHAxLGRjdnJfcmV0ZW50aW9uX25ldzpjb21ib19iYXNlLHBlZ2FzdXNfbWl4ZXI6MDEsZHBhMjpiYXNlLHVuZGVyX2ZyYW1lX2VjcG1fZXhwOmJhc2UsSW5kdXN0cnlFeGNsdWRlSW5mb0NvbmZfdjI6YmFzZSxlbmFibGVfdXNlcl9mZWF0dXJlX2J1Y2tldDpiYXNlbGluZSxlY29tX3JlY2FsbDpMSFVDX0IsZW5hYmxlVGFnTW92ZVVwOmV4cDRfbW92ZV90YWdfZGlzbGlrZWFkaixhZF9icmFuZF9nZF9lbmFibGVfZGlmZjpiYXNlLGZkX3BjdHI6YmFzZV8xLDI1NzM4OmJhc2UscHJvZ0NyZWFEaWN0VmVyOmRlZmF1bHQsc2VhcmNoX3BhcmFsbGVsX3JlcV9yZWRpczpleHAxLHByb2dyYW1DcmVhdGl2ZTpkZWZhdWx0LGRwczpkZWZhdWx0LHBhZF9pbm5lcl9hZGxvYWQ6YmFzZV8yMF8wLHVuZGVyZnJhbWVfcHVsbF91cF9uZXc6YmFzZV9hYWEsY29hcnNlRXhwbG9yZUZhY3RvckNvbmY6ZGVmYXVsdCxmbHlfc3RvcnlfeWVsbG93Y2FyX3N0eWxlOnlvdXh1YW5fYmFzZV9rZmMsZmx5X2NwYV9wYzpleHAxMCxEcGFTdnJQcmVzc3VyZTpiYXNlLGNwYTpiYXNlLGJvb3N0X2JzOmJhc2UsZmx5Q2FyZFF1YWxpdHk6ZXhwNCxhbGw6Y3BjX2Nyb3dkX3RhcmdldCxmbHlfY3BhX2JvdHRvbTpjbG9zZSxSVEFfRElWSURFX0VYUF9UQUdfODkyOnJ0YV9kaXZpZGVfZXhwXzg5Ml81LEluZHVzdHJ5THRyQ29hcnNlQ29uZjpnYW1lbGl2ZSxlZGdlX3JlcmFuazpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR182NTc6cnRhX2RpdmlkZV9leHBfNjU3XzQsaGVhcnRfYm94OmV4cCwyMzUzMTpub3JtYWwscHVwX25hdGl2ZV9hZDpkZWZhdWx0LG90dF9lZHVjYXRpb25fYW50b3U6ZXhwLGg1X3Y6Y29tcGFyZSx1c2VMdWFTY3JpcHQ6YmFzZSxjb2Fyc2VfZGFpaHVvOmJhc2UsZmxvd1J1bGU6b3BlbkZsb3dSdWxlQ2hlY2tTd2l0Y2gsc3Rvcnlfc3R5bGVfc2VsZWN0aW9uX2NvbmY6YmFzZTIwMjQxMTI5LG5ld192aWRlb191cF9taWRfZmlsdGVyOmJhc2UsZmx5X2NvYXJzZTpjb25zdGFudCxkZWxldGVGcmVxQ29kZTpiYXNlMyxob25nZ3VvX25vdF9zaG93X2luX2NoYXJnaW5nX3BhZ2U6YmFzZSxEcGFDcmVhdGl2ZVN0cmF0ZWd5RXhwZXJpbWVudDpzZWFyY2hfbWVyZ2VfaW1hZ2VfZXhwLHNzcF9yZXBsYXlfYXM6YmFzZSxiZnNfc2RwYV9kaXZlcnNpZnk6cmVtYWluLHNlYXJjaF9zdWJjYXJkX3N0eWxlOmZvcm1fYnV0dG9uLGJzLXg6YnMsd2hpdGVfYm94OmNsb3NlLGR1YW5qdV9hcnB1OmFkZF9ub3ZlbF8wMzI3LE1vZGVsRmVhdHVyZXNIaXZlTG9nOmNsb3NlLGZseV9zdXBfZmFjdG9yczpleHAsY2x0cmNvbmY6YnNsMyxkYXZpbmNpX3JlcV9sb2c6ZGVmYXVsdCxmbHdfbGlrZV9lbmdhZ2U6YmFzZSxzdG9yeV9jdXN0b21pemVfZGFubXU6YmFzZSxhZHhQbGF5UGFnZVJhc2lvOmV4cDAsZHBhMlByb21vdGVQcm9kdWN0TWF0ZXJpYWw6YmFzZSxsaXZlX21vZGVsOmxpdmVfYmFzZV8wNDA4LHVzZUFpR2NUaXRsZTpiYXNlLHBlZ2FzdXNfYWRsb2FkXzM6MTQsbGFuY2VyX25hdHVyZTpleHAsc3RvcnlfZGFubXVfY29uZjpkYW5tdV9udW1fMzgsdHNtdjJfdG9rZW5fc2RwYTpiYXNlLDI0aF9yb2lfYXJwdV9uZXc6c3RhbGxfYmFzZV92MyxzcGxhc2hfaGFyZF9maWx0ZXJzOmV4cCxnYW1lX2VjcG1fcm9pX2ZhY3Rvcl9zd2l0Y2g6ZXhwX291dGVyLGJ1cGNwY19nc3A6ZGVmYXVsdCxuRmVkQmFjazpsb29zZSxVbml0RGV0YWlsSW5mbzpjbG9zZSzogIHkuInov57lub/lkYrlsY/olL06YmFzZSxnZF9mb3JjZV9zZWxlY3Q6ZXhwMixjb2xkX2Jvb3RfY2xlYXJfZnJlcTpiYXNlLGdhbWVfb3Blbl9pbnRlcmVzdF9vcmllbnRhdGlvbjpleHBfb3Blbl9ib3RoLGNsb3NlX3BlcnNvbmFsX3JlY29tbWVuZF8yMDI1OmV4cF9vcGVuX2FsbF8wMjI4LFJUQV9ESVZJREVfRVhQX1RBR183MzE6cnRhX2RpdmlkZV9leHBfNzMxXzMsbm9fYWRfc2V0OmJhc2UsUlRBX0RJVklERV9FWFBfVEFHXzg1NTpydGFfZGl2aWRlX2V4cF84NTVfNyxhY2NvdW50X2V4cGxvcmVfc2hvd19saW1pdDpkZWZhdWx0LGZseV9nb29kc19jb21tZW50X3VybDpibHVlbGlua19yZXBsYWNlXzA1LG9yZGVyX2xhcmdlOmRlbGF5MSxlY3BtX3RocmVzaG9sZF9sYXllcjowOCxyZWNhbGxfdW5pdF9saW1pdDpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR182NDA6cnRhX2RpdmlkZV9leHBfNjQwXzE2LGRhaWh1b1doaXRlQ29uZjp3aGl0ZV8yNDEyMDJfNSxSVEFfRElWSURFX0VYUF9UQUdfODgzOnJ0YV9kaXZpZGVfZXhwXzg4M181LGVuYWJsZUlubGluZUV4cDpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR184ODg6cnRhX2RpdmlkZV9leHBfODg4XzIsaWFhX3VuaXRfZWE6ZXhwMSxTbWFsbEJ1ZGdldFRvbGVyYXRlOmV4cF83MixhdXRvX2FkX2Fzc2lzdDpiYXNlLG1peGVyX2JyYW5kX29wdDpiYXNlLGxheWVyZWRfYmlkZGluZzpiYXNlMDkyMixzdG9yeVllbGxvd0NhcnROZXc6ZXhwX2Jhc2UyXzAyMTMseHN0X2NodWRpYW46YmFzZSxkdWFuanVfbW9kZWw6ZGVmYXVsdCxnZF9waWQ6ZXhwX3JlYWQsY3BjMV9leHRlbmRlZDpxdW90YV8xMCxicnVzaF9pbm5lcjpiYXNlLHN0b3J5X3N0eWxlX3NlbGVjdDpyYW5kLGVuYWJsZV9wbGF5cGFnZV9pbmxpbmVfd3hfanVtcDpleHBfMDQwOSxkY3ZyZl8yMDI1UTE6cmV2ZXJzZSxmcmVTOmJhc2UsYWR2dl9waWRfZml4OmJhc2UsQ3JlYXRpdmVRdWFsaXR5OmF1dG8sSW5kdXN0cnlCb29zdDpnYW1lbGl2ZSxmbHlfbTppY2ViZXJnX2Jhc2UsZWNwbV9jcm93ZHNfZmlsdGVyOnRlc3QsZ2Rfc2NoZV9yYXRpbzpiYXNlLHRlc3RfbWl4ZXJfY2NkOmJhc2Usa3Vha2VfbW9iaWxlX2FudG91X3BjOmFudG91X3BjLG5ld192aWRlb19ib29zdDpkZWZhdWx0LHVuZGVyZnJhbWVfdWVzY29yZTpiYXNlLEVBX2V4cDpjbG9zZV9lYV8xMjExLGFuY2hvckFwcERvd25sb2FkU3R5bGVFeHA6YmFzZSwyMzI0NDpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR183MDM6cnRhX2RpdmlkZV9leHBfNzAzXzMsZHVhbmp1X21vZGVsX2N0cjpkZWZhdWx0LGNvbG9yX21hc2s6YmFzZSxwdl9hYTpleHBfMSxwY19jbGllbnRfbm9fYWQ6bm9fYWRfYmFzZSxwcm9nQ3JlYVQ6djEuMCxuZWdhdGl2ZV9zdHJhdGVneV90ZXN0OmJhc2UsZW5hYmxlTmF0aXZlRmVlZHNUb1N0b3J5OmV4cF9oYXJkLGx0dl9pbnNfbG9nOmJhc2UxMCxmbHlfYnVfdW5kZXJmcmFtZTpiYXNlLHNwcmluZ2Zlc3RpdmFsX3N0YWJpbGl0eV9pbmR1c3RyeTpiYXNlLGdpZl9leHA6YmFzZSxjYXNlX2ludmVyc3RpZ2F0ZTpiYXNlLHByZXJhbmtfc2RwYTp4c2RqXzAxMTcscmVzZXJ2ZV9wcmljZTpnc3BfYWxsLHBheV83ZF9udW06ZXhwX2dhbWVfMSx0aW1lRnJlcTpkZWZhdWx0LGZyZXFDaGVja0R1cGxpY2F0ZTpiYXNlLFJUQV9ESVZJREVfRVhQX1RBR183MjQ6cnRhX2RpdmlkZV9leHBfNzI0XzMsc3RvcnlGbHlNb2RlbENvbmY6YWRkX2VhX2V4cCxBcHBDb2V4aXN0RmlsdGVyOmNsb3NlLHVzdWFsX2FyZWFzOmJhc2UsYXBwU3RvcmVQcmlvcml0eVhpYW9ndW9BY2NvdW50SWRzOmJhc2UsbWFiaWRfZW5hYmxlOmJhc2VfMDEwOCxSVEFfRElWSURFX0VYUF9UQUdfODM2OnJ0YV9kaXZpZGVfZXhwXzgzNl8xMCxzb2Z0X2FkOjEyLHN0b3J5X3BsYXkzc190b3VjaF9yYXRpbzpyYXRpb18xMDAsZHVhbmp1X3JldGFyZ2V0OmJhc2UsUlRBX0RJVklERV9FWFBfVEFHXzEwMzc6cnRhX2RpdmlkZV9leHBfMTAzN181LGNhdGVnb3J5X3YzOmJhc2UsaWFhM19vdXRfdXBfYWRzOmV4cF9pYWFfb3V0X3VwLHByb2dDcmVhUmFuZG9tXzE6YmFzZV9tb2RlbDAzMTksZmx5X3lzYW50b3U6YmFzZV8wODIxLGZseV9jdHJfaW5saW5lX3RhcmdldDpjbG9zZSx0ZW1wbGF0ZV9maXg6YmFzZSxicmFuZER5bmFtaWNDYXJkSW5kZXhFeHA6ZXhwLGlubGluZUVjcG06ZGVmYXVsdCxmb3JjZUV4cG9zdXJlLWNhc3Npbmk6ZGFpaHVvX29wZW5fMjMxMTAxLHNwbGFzaF9uZXdfc3R5bGVfZmlsdGVyOmRlZmF1bHQsc2VhcmNoX3RyaXRvbjpiYXNlLGN2cl9mOmluZHVzdHJ5X29wdF9leHAsaW5uZXJfb3ZlcmxvYWRfY3RybDpkZWZhdWx0LHVnX3VuaXRfbGltaXQ6ZXhwLGNsZWFuX3Nsb3Q1MHA6ZXhwLG1lcmdlX2ZpbHRlcjplbmFibGVfc3luY19wcmltYXJ5X2ZpbHRlcixoeV9hcnB1X3JvdXRlX3NwbGl0OnN0YWxsX29yX3VuZGVsZXRlZF9mZWFzX2V4cCwxNTA2OmJhc2UsZ2RGZWVkc0VuYWJsZUJydXNoOmJhc2UsaW5saW5lX2Zsb3dfbm9fYWQ6YmFzZSxlbmFibGVfbGFuY2VyX3JlY29yZF9kbXNfZmVhdHVyZTowNDE0X3Rlc3QsdW5kZXJmcmFtZV9tYXJrX3N3dGljaDpleHAxXzA0MDksQWlFeHBQbGF5UGFnZTpiYXNlXzAsMjRoX3JvaV9hcnB1OmJhc2UzLG9wZW5QcmV2aWV3OmV4cDIsZ3NwX2V4cDpzZWFyY2hfZGVmYXVsdCxydW5uaW5nX29jcGM6YmFzZSxmbHlfcmFua19jb25mX21lcmdlOmJhc2UsbHRyQXBwTG9nOmNscyxzZWFyY2hfYWRzX3F1ZXJ5X3Jld3JpdGU6Y29tYmluZV9leHAxLHJhbmtfZGl2XzE6ZGVmYXVsdCx1bmRlcmZyYW1lX2Rvd25sb2FkX2FkYnV0dG9uOmJhc2UsQnNPZmZsaW5lTG9jYWxDcGFDb25maWdOZXc6ZGVmYXVsdCx1cFNwYWNlQ2hlY2tEaWZmUmF0aW9FeHA6ZXhwX21icyxzcGxhc2hfaW50ZXJmYWNlX2Rvd25ncmFkZTpiYXNlLGZvcmJpZGRlbl9kaXJlY3RfanVtcDpiYXNlLG1pbmlnYW1lX2JvbnVzX2V4cDpyZW1haW4sZW5hYmxlQXBwc3RvcmVEaXJlY3Q6ZXhwXzEsZnJlcV9pbmZvX3JvdXRpbmc6c2hqZF9zeWNwYl9mcmVxX3Rhc2tfY2x1c3Rlcl8xLHNlYXJjaF9hZHNfbWluX2JpZDpkZWZhdWx0LG9wZW5OZXdHZFByZXZpZXc6ZXhwLGRpc2FibGVfaWxsZWdhbF9vbmVfanVtcDpiYXNlLGNvYXJzZV9xdW90YV9jb250cm9sOmJhc2VfMDMyNCxmbHlfZHluYW1pY0FudG91OmJhc2UsQWlFeHBTdG9yeTpiYXNlLGRwYTJSZWNhbGw6Y2hvb3NlX3Byb2R1Y3RzX2Jhc2VfNTAsc2VhcmNoX25ld190YXJnZXRpbmc6YmFzZSxlbmFibGVfbW9kZWxfZGV0YWlsX3RyYWNrZXI6YmFzZSxEcGEyQ1ZSVGhyZXNob2xkOmpkX2N2cl8yMDAsY3RyX3RfZXhwOnQxLjAscGNTZWFyY2g6ZXhwLGVjb21fbWFpbl9zZWFyY2g65a+554Wn57uELGNvYXJzZTpjb2Fyc2VfY3ZyX25ld2NvbnYsZnJlcV9taWdyYXRlOmV4cF9lbmdpbmVfd2l0aF9zdHJpY3RfYnJ1c2g1LHN3aXRjaEJzUGdSZXFSYXRpbzpjbG9zZSxzZWFyY2hfcmVhbHRpbWVfdHJpZ2dlcjpjb25zdGFudCxBaUV4cEZlZWRzOmJhc2UsbWJzX3JlZmFjdG9yOmV4cDIsdWVzX3NlYXJjaDpkZWZhdWx0LHVuZGVyZnJhbWVfbXVsdGlfYWRzOmJhc2UsYWlnY19hbnRvdV9pbWFnZTpiYXNlXzAzMjYsbWl4ZXJfZnVzaW9uX2RpbWVuc2lvbjpnMixyb2xsb3V0X2xpc3R3aXNlX2Jpem1peGVyX2J1Z19maXg6YmFzZSx1c2VCc0ZpbmRhOmZpbmRhX3gsZmx5X3B1cF9lY3BtOmNvbnN0YW50LGZseV9jdHJfaW5saW5lOm1vZGVsLHRlc3RfcGVnYXN1c19wb3M6YmFzZSx0ZXN0X3N0b3J5X3BhY2s6ZXhwIDIsc3RvcnlfYWRsb2FkXzM6MTQsc2RwYV9kaXZlcnNpZnk6Y29uc3RhbnQyLG1pbmlfZ2FtZV9zY2VuZTpiYXNlLGN0cl9kaWx1Y19lbWJfbGF5ZXI6ZXhwcl9lbWJfZGlsdWMscm9pX2J4aWFveW91X25ldzpkZWZhdWx0LEluZHVzdHJ5Tm9UYXJnZXRGaWx0ZXJMYXllcjpleHAsY3JlYXRpdmVfYXZpZF90YWIzOmV4cF8wNTI3LHN0eWxlX2FiaWxpdHlfb2ZmbGluZTpiYXNlLHVuZGVyZnJhbWVfYnJhbmRfaGlnaDpiYXNlLGNyb3dkX2VjcGM6b3Blbl92Mix0c21fdjJfbGF5ZXI6YmFzZSxtaXhlcl9saXN0d2lzZV9wZWdhc3VzOmc1LHVzZUFzUGc6bWFpbl8yNDEyMjcsc3BsaXRfYnVja2V0OmJ1Y2tldF8zLGdsb2JhbF9yZXZlcnNlOmJhc2UscGxhdGZvcm06ZGVmYXVsdKABALIBICjf18utGMJMWQj0kF8utyJl8gRyHD1TIq1K6aKZR3vRugFCaHR0cHM6Ly9xcnNqLmJpbGlnYW1lLmNvbS9nY3h6L2g1Lz9zb3VyY2VGcm9tPTc3NyZzb3VyY2VUeXBlPWFkUHV0wgEA0gEA2AHQAeABAOgBAPABAIACAogCALgCAMACANACANgCAOoCAPACrIYl+AIAiAMGkgMAqAMAsAMAuAMAwgMAyAMX0gOWAXsiMTYiOiIxMjE1NDYwXzAiLCIxNyI6IjQzMzYiLCIxIjoiMTAxNzg0NjY0OTk1OTc0NzU4NCIsIjIiOiIxMjUyMzkzIiwiMyI6IjEyNTIzOTMiLCI2IjoiMTI1MjM5M18wIiwiMTIiOiI0MzM4IiwiMTMiOiIxMjE1NDYwIiwiMTQiOiI4ODciLCIxNSI6IjEzNjkifeADAOgDAPADAPoDBW90aGVyggQJbnVsbDpudWxsmAQAoAQAqgQECAAQBLAEAOIEwwE1Ni57InBzSWQiOjUyMTE4LCJ2MiI6IkFXVXMyZTBidEhmWTVCSzJ0LUQ0U3lNRGJtN2Z1SGIyYmlIREhsTnBjQlB1U2dVRzdLaW80dUkyNXlSdFJXQU5WUnRMbll1OVpxOElrdkVYZURfUmlER25BeTE0UV9CMlAtSzJmQ3pzMWZLQmY5WjZPUSJ9OzYzLnsicHNJZCI6NTIwNjYsInYyIjoiUWcifTs3MC57InBzSWQiOjUwMDQxLCJ2MiI6IktBIn2gBQDIBQPSBQA=", + "client_ip": "182.89.224.34", + "server_type": 1, + "resource_id": 4336, + "index": 2, + "cm_mark": 1, + "extra": { + "use_ad_web_v2": false, + "show_urls": [ + "" + ], + "click_urls": [], + "download_whitelist": [], + "card": { + "card_type": 0, + "title": "今日全球首发,千件外观福利免费领", + "covers": [ + { + "url": "https://i0.hdslb.com/bfs/sycp/creative_img/202504/bbd7cc4e6a74508e9ccee467541cc06a.jpg", + "loop": 0, + "image_height": 0, + "image_width": 0, + "gif_tag_show": false, + "jump_url": "", + "title": "", + "desc": "" + } + ], + "jump_url": "https://qrsj.biligame.com/gcxz/h5/?sourceFrom=777&sourceType=adPut", + "desc": "", + "callup_url": "", + "long_desc": "", + "ad_tag": "", + "extra_desc": "", + "universal_app": "", + "duration": "", + "adver": { + "adver_id": 1252393, + "adver_type": 3 + }, + "extreme_team_status": false, + "support_transition": false, + "under_player_interaction_style": 0, + "referral_pop_active_time": 10000, + "grade_denominator": 0, + "star_level": 0, + "live_booking_population_threshold": 0, + "ori_mark_hidden": 0, + "use_multi_cover": false, + "custom_feedback_panels": [], + "yellow_cart_pannel_pullup": 0, + "yellow_cart_pannel_version": 0, + "goods_item_id": 0, + "story_interaction_style": 0, + "videos": [], + "download_area": 0, + "goods_pannel_show": 0, + "goods_panel_show": 0, + "show_pop_window": 0, + "search_show_adbutton": 0, + "jump_interaction_style": 0, + "live_page_type": 0, + "ad_tag_style": { + "type": 4, + "text": "", + "text_color": "", + "bg_border_color": "", + "bg_color": "", + "border_color": "", + "img_url": "https://i0.hdslb.com/bfs/sycp/mng/202408/34463051f8d45a6d3c20f8aff31aad9b.png", + "img_height": 48, + "img_width": 72 + }, + "feedback_panel": { + "panel_type_text": "广告", + "feedback_panel_detail": [], + "toast": "将减少相似广告推荐", + "close_rec_tips": "操作成功", + "open_rec_tips": "将减少展示此类广告" + }, + "fold_time": 0, + "live_room_popularity": 0, + "live_tag_show": false, + "quality_infos": [], + "dynamic_text": "今日全球首发,千件外观福利免费领", + "choose_button_list": [], + "grade_level": 0, + "anim_in_enable": 0, + "underframe_card_style": 0, + "playpage_card_style": 0, + "live_auto_play": false, + "original_style_level": 0, + "live_card_show": false, + "enable_tag_move_up": 0, + "item_source": 0, + "closed_loop_item": 0, + "desc_type": 0, + "comment_use_game_page": 0, + "story_takeoff_interaction_style": 0 + }, + "report_time": 2000, + "sales_type": 31, + "special_industry": false, + "preload_landingpage": 0, + "enable_share": true, + "share_info": { + "title": "今日全球首发,千件外观福利免费领", + "subtitle": "", + "image_url": "https://i0.hdslb.com/bfs/sycp/creative_img/202504/3eba2979cb9525f14633a39c9f2ec2ab.jpg" + }, + "upzone_entrance_type": 0, + "upzone_entrance_report_id": 0, + "click_area": 0, + "shop_id": 0, + "up_mid": 0, + "track_id": "pbaes.DXUvRhr8IAhiFZ60KoOBStL0Na80m-kKS6CwFKDBtlzOwGJZu7il0VbEU3j2A_dZ96EXDGonAHs9Qx-5X2XbovyGP-xL4lyr_c_3rDZs4q3frmVjEGhu2VPOE5MRHF3AdryKsZiIGCl_f6ZD0y-cNQ==", + "enable_store_direct_launch": 0, + "enable_double_jump": false, + "from_track_id": "all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "store_callup_card": false, + "enable_h5_alert": false, + "special_industry_style": 0, + "macro_replace_priority": 1, + "feedback_panel_style": 0, + "ad_content_type": 0, + "enable_h5_pre_load": 0, + "hot_activity_id": 0, + "middle_show_urls": [], + "middle_click_urls": [], + "product_id": 0, + "landingpage_download_style": 2, + "download_url_type": 0, + "enable_auto_callup": 0, + "top_live_stay_time_seconds": 0, + "vipshop_fast_framework": 0, + "lottery_id": 0, + "enable_openapk_dialog": false, + "user_cancel_jump_type": 0, + "comment_toast_open": 0, + "comment_biz_type": 0, + "app_exp_params": "{\"pegasus_live_inline_background_fill\":0,\"story_live_goods_card_style\":{\"first_type\":1,\"second_type\":2,\"delay_time\":3000}}" + } + } + }, + { + "card_type": "small_cover_v2", + "card_goto": "av", + "goto": "av", + "param": "114375012651120", + "cover": "http://i1.hdslb.com/bfs/archive/05ec862caac777f9d7d06175becf0413b9c653ee.jpg", + "title": "「小白」红米Turbo 4 Pro 性能体验:首台8sGen4量产机表现如何?", + "uri": "bilibili://video/114375012651120?cid=29550644277&player_height=1890&player_preload=%7B%22expire_time%22%3A1745486594%2C%22cid%22%3A29550644277%2C%22quality%22%3A32%2C%22file_info%22%3A%7B%2216%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A2121663%2C%22timelength%22%3A230900%7D%5D%7D%2C%2232%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A3606019%2C%22timelength%22%3A230900%7D%5D%7D%2C%2264%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A6733527%2C%22timelength%22%3A230900%7D%5D%7D%2C%2280%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A10362311%2C%22timelength%22%3A230900%7D%5D%7D%7D%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22dash%22%3A%7B%22video%22%3A%5B%7B%22id%22%3A32%2C%22base_url%22%3A%22http%3A%2F%2F123.184.35.33%3A8000%2Fv1%2Fresource%2F29550644277-1-100047.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D125426%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D158098%5Cu0026tag%3D%5Cu0026traceid%3DtrANPsmzTXNczh_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctag%252Cnbs%252Coi%252Cplatform%252Ctrid%252Cmid%252Cdeadline%252Cuipk%252Cgen%252Cos%252Cog%5Cu0026upsig%3Df6ea272dedd17383c1a7c43a39471036%22%2C%22bandwidth%22%3A124895%2C%22codecid%22%3A7%2C%22size%22%3A3606019%2C%22frame_rate%22%3A%2224.991%22%2C%22backup_url%22%3A%5B%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026tag%3D%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026uipk%3D5%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dcos%5Cu0026upsig%3Df6ea272dedd17383c1a7c43a39471036%5Cu0026uparams%3De%2Ctag%2Cnbs%2Coi%2Cplatform%2Ctrid%2Cmid%2Cdeadline%2Cuipk%2Cgen%2Cos%2Cog%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D125426%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026orderid%3D0%2C3%22%2C%22http%3A%2F%2Fupos-sz-estgoss.bilivideo.com%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026tag%3D%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dupos%5Cu0026og%3Dcos%5Cu0026trid%3D56fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026platform%3Dandroid%5Cu0026upsig%3D464e03491d78d3249012e6c9affbb768%5Cu0026uparams%3De%2Ctag%2Cgen%2Cos%2Cog%2Ctrid%2Cmid%2Cdeadline%2Cnbs%2Coi%2Cuipk%2Cplatform%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D125426%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026orderid%3D1%2C3%22%5D%2C%22audio_id%22%3A30216%7D%2C%7B%22id%22%3A32%2C%22base_url%22%3A%22http%3A%2F%2F59.47.230.23%3A8000%2Fv1%2Fresource%2F29550644277-1-30033.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D131973%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D2d5ae2%5Cu0026tag%3D%5Cu0026traceid%3DtrQICyqgrXBqnY_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cnbs%252Coi%252Cuipk%252Cmid%252Cdeadline%252Cog%252Cplatform%252Ctrid%252Ctag%252Cgen%252Cos%5Cu0026upsig%3D855d6f99090897394e531af9d9cc6dc8%22%2C%22bandwidth%22%3A131411%2C%22codecid%22%3A12%2C%22size%22%3A3794237%2C%22frame_rate%22%3A%2224.991%22%2C%22backup_url%22%3A%5B%22http%3A%2F%2F122.191.18.170%3A8000%2Fv1%2Fresource%2F29550644277-1-30033.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D131973%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dcoso1bv%5Cu0026platform%3Dandroid%5Cu0026sign%3D2d5ae2%5Cu0026tag%3D%5Cu0026traceid%3DtrxqpZsZboLcyN_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cuipk%252Cplatform%252Ctag%252Cos%252Cog%252Cnbs%252Coi%252Ctrid%252Cmid%252Cdeadline%252Cgen%5Cu0026upsig%3D42f974aacd3f2a9a6ba659f11e469614%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30033.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026og%3Dcos%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026tag%3D%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026upsig%3D855d6f99090897394e531af9d9cc6dc8%5Cu0026uparams%3De%2Cnbs%2Coi%2Cuipk%2Cmid%2Cdeadline%2Cog%2Cplatform%2Ctrid%2Ctag%2Cgen%2Cos%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D131973%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026orderid%3D0%2C3%22%5D%2C%22audio_id%22%3A30216%7D%5D%2C%22audio%22%3A%5B%7B%22id%22%3A30216%2C%22base_url%22%3A%22http%3A%2F%2F121.31.234.218%3A8000%2Fv1%2Fresource%2F29550644277-1-30216.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43505%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3Db0263a%5Cu0026tag%3D%5Cu0026traceid%3DtrDHNJjmfaaueG_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cplatform%252Ctrid%252Cmid%252Cdeadline%252Cnbs%252Cgen%252Coi%252Cuipk%252Ctag%252Cos%252Cog%5Cu0026upsig%3De92887e43514a81bad4594c670c509d1%22%2C%22bandwidth%22%3A43292%2C%22size%22%3A1250775%2C%22backup_url%22%3A%5B%22http%3A%2F%2F211.141.225.131%3A8000%2Fv1%2Fresource%2F29550644277-1-30216.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43505%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3D08hbv%5Cu0026platform%3Dandroid%5Cu0026sign%3Db0263a%5Cu0026tag%3D%5Cu0026traceid%3DtrnTeKCShifUBc_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cgen%252Cog%252Cdeadline%252Ctag%252Cnbs%252Cplatform%252Ctrid%252Cos%252Cmid%252Coi%252Cuipk%5Cu0026upsig%3D313f602e2d41ebe9637a95fc20bceb93%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30216.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026nbs%3D1%5Cu0026gen%3Dplayurlv3%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026tag%3D%5Cu0026os%3Dmcdn%5Cu0026og%3Dhw%5Cu0026upsig%3De92887e43514a81bad4594c670c509d1%5Cu0026uparams%3De%2Cplatform%2Ctrid%2Cmid%2Cdeadline%2Cnbs%2Cgen%2Coi%2Cuipk%2Ctag%2Cos%2Cog%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D43505%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%5D%7D%2C%7B%22id%22%3A30280%2C%22base_url%22%3A%22http%3A%2F%2F211.97.94.165%3A8000%2Fv1%2Fresource%2F29550644277-1-30280.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D3f3ed4%5Cu0026tag%3D%5Cu0026traceid%3DtrQHmKzoFdDeCw_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cuipk%252Ctag%252Cnbs%252Cgen%252Cos%252Cog%252Coi%252Cplatform%252Ctrid%252Cmid%252Cdeadline%5Cu0026upsig%3D808cd1429841f75b1ccd7ccdc5de7bc3%22%2C%22bandwidth%22%3A43292%2C%22size%22%3A1250767%2C%22backup_url%22%3A%5B%22http%3A%2F%2F123.184.35.19%3A8000%2Fv1%2Fresource%2F29550644277-1-30280.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dupos%5Cu0026platform%3Dandroid%5Cu0026sign%3D3f3ed4%5Cu0026tag%3D%5Cu0026traceid%3DtrtSntUkmmkWVz_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cplatform%252Ctag%252Cnbs%252Cog%252Ctrid%252Cmid%252Cdeadline%252Coi%252Cuipk%252Cgen%252Cos%5Cu0026upsig%3D070e2e2176dd7e2d87777b20161c8d1f%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30280.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026uipk%3D5%5Cu0026tag%3D%5Cu0026nbs%3D1%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026upsig%3D808cd1429841f75b1ccd7ccdc5de7bc3%5Cu0026uparams%3De%2Cuipk%2Ctag%2Cnbs%2Cgen%2Cos%2Cog%2Coi%2Cplatform%2Ctrid%2Cmid%2Cdeadline%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D43504%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026orderid%3D0%2C3%22%5D%7D%2C%7B%22id%22%3A30232%2C%22base_url%22%3A%22http%3A%2F%2F125.106.124.64%3A8000%2Fv1%2Fresource%2F29550644277-1-30232.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50007224%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D3ad163%5Cu0026tag%3D%5Cu0026traceid%3DtrsSvqSMaoCcOa_1_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctag%252Cuipk%252Cgen%252Cos%252Cog%252Ctrid%252Cmid%252Cdeadline%252Cnbs%252Coi%252Cplatform%5Cu0026upsig%3D219bdbd1641753ddc8555f788bc21711%22%2C%22bandwidth%22%3A43292%2C%22size%22%3A1250767%2C%22backup_url%22%3A%5B%22http%3A%2F%2F220.200.12.159%3A5889%2Fv1%2Fresource%2F29550644277-1-30232.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D43504%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3D08hbv%5Cu0026platform%3Dandroid%5Cu0026sign%3D3ad163%5Cu0026tag%3D%5Cu0026traceid%3DtrQVqwCtxAuTKK_2_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctag%252Coi%252Ctrid%252Cdeadline%252Cgen%252Cos%252Cnbs%252Cuipk%252Cplatform%252Cmid%252Cog%5Cu0026upsig%3Dc45e0be8a46a1b1456b066fc447dcf4a%22%2C%22http%3A%2F%2F211.141.224.92%3A4480%2Fupgcxcode%2F77%2F42%2F29550644277%2F29550644277-1-30232.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026tag%3D%5Cu0026uipk%3D5%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dhw%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026platform%3Dandroid%5Cu0026upsig%3D219bdbd1641753ddc8555f788bc21711%5Cu0026uparams%3De%2Ctag%2Cuipk%2Cgen%2Cos%2Cog%2Ctrid%2Cmid%2Cdeadline%2Cnbs%2Coi%2Cplatform%5Cu0026mcdnid%3D50007224%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D43504%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%5D%7D%5D%7D%2C%22fnval%22%3A272%2C%22accept_formats%22%3A%5B%7B%22quality%22%3A116%2C%22format%22%3A%22flv_p60%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%201080P60%22%2C%22new_description%22%3A%221080P%2060%E5%B8%A7%22%2C%22display_desc%22%3A%221080P%22%2C%22superscript%22%3A%2260%E5%B8%A7%22%2C%22need_vip%22%3Atrue%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A80%2C%22format%22%3A%22flv%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%201080P%22%2C%22new_description%22%3A%221080P%20%E9%AB%98%E6%B8%85%22%2C%22display_desc%22%3A%221080P%22%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A64%2C%22format%22%3A%22flv720%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%20720P%22%2C%22new_description%22%3A%22720P%20%E5%87%86%E9%AB%98%E6%B8%85%22%2C%22display_desc%22%3A%22720P%22%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A32%2C%22format%22%3A%22flv480%22%2C%22description%22%3A%22%E6%B8%85%E6%99%B0%20480P%22%2C%22new_description%22%3A%22480P%20%E6%A0%87%E6%B8%85%22%2C%22display_desc%22%3A%22480P%22%7D%2C%7B%22quality%22%3A16%2C%22format%22%3A%22mp4%22%2C%22description%22%3A%22%E6%B5%81%E7%95%85%20360P%22%2C%22new_description%22%3A%22360P%20%E6%B5%81%E7%95%85%22%2C%22display_desc%22%3A%22360P%22%7D%5D%2C%22volume%22%3A%7B%22measured_i%22%3A-18.2%2C%22measured_lra%22%3A5.9%2C%22measured_tp%22%3A-1.3%2C%22measured_threshold%22%3A-28.3%2C%22target_offset%22%3A0.5%2C%22target_i%22%3A-14%2C%22target_tp%22%3A-1%2C%22multi_scene_args%22%3A%7B%22high_dynamic_target_i%22%3A%22-24%22%2C%22normal_target_i%22%3A%22-14%22%2C%22undersized_target_i%22%3A%22-28%22%7D%7D%2C%22union_player%22%3A%7B%22biz_type%22%3A1%2C%22dimension%22%3A%7B%22width%22%3A4096%2C%22height%22%3A1890%7D%2C%22aid%22%3A114375012651120%7D%2C%22auto_qn_ctl%22%3A%7B%22login_half%22%3A32%2C%22nologin_half%22%3A32%2C%22login_full%22%3A80%2C%22nologin_full%22%3A32%2C%22mobile_login_full%22%3A80%2C%22mobile_nologin_full%22%3A32%7D%2C%22qn_exp%22%3A%7B%22qn_exp_1%22%3Atrue%7D%7D&player_rotate=0&player_width=4096&report_flow_data=%7B%22flow_card_type%22%3A%22av%22%2C%22flow_source%22%3A%22click_u2i%24ann_dssm_u2i_28d%24dssm_u2u%22%7D&trackid=all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "three_point": { + "dislike_reasons": [ + { + "id": 4, + "name": "UP主:小白测评", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:骁龙8s Gen4", + "toast": "将减少相似内容推荐" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "这个内容", + "toast": "将减少相似内容推荐" + } + ], + "feedbacks": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "watch_later": 1 + }, + "args": { + "up_id": 8969156, + "up_name": "小白测评", + "tid": 74460002, + "tname": "骁龙8s Gen4", + "aid": 114375012651120 + }, + "player_args": { + "aid": 114375012651120, + "cid": 29550644277, + "type": "av", + "duration": 231 + }, + "idx": 1745482990, + "three_point_v2": [ + { + "title": "添加至稍后再看", + "type": "watch_later", + "icon": "https://i0.hdslb.com/bfs/activity-plat/static/20240103/0977767b2e79d8ad0a36a731068a83d7/8VhmmUeWnO.png", + "icon_night": "https://i0.hdslb.com/bfs/activity-plat/static/20240103/0977767b2e79d8ad0a36a731068a83d7/eIyDu5U7GA.png" + }, + { + "title": "反馈", + "subtitle": "(选择后将优化首页此类内容)", + "reasons": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "type": "feedback" + }, + { + "title": "我不想看", + "subtitle": "(选择后将减少相似内容推荐)", + "reasons": [ + { + "id": 4, + "name": "UP主:小白测评", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:骁龙8s Gen4", + "toast": "将减少相似内容推荐", + "extend": "{\"tid\":\"74460002\"}" + }, + { + "id": 3, + "name": "频道:科技猎手2025·1.0计划", + "toast": "将减少相似内容推荐", + "extend": "{\"tid\":\"74338017\"}" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "这个内容", + "toast": "将减少相似内容推荐" + } + ], + "type": "dislike" + } + ], + "track_id": "all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "talk_back": "视频,「小白」红米Turbo 4 Pro 性能体验:首台8sGen4量产机表现如何?,39.5万观看,1654弹幕,时长3分钟51秒,UP主小白测评,", + "report_flow_data": "{\"flow_card_type\":\"av\",\"flow_source\":\"click_u2i$ann_dssm_u2i_28d$dssm_u2u\"}", + "three_point_v": "v2", + "cover_left_text_1": "39.5万", + "cover_left_icon_1": 1, + "cover_left_1_content_description": "39.5万观看", + "cover_left_text_2": "1654", + "cover_left_icon_2": 3, + "cover_left_2_content_description": "1654弹幕", + "cover_right_text": "3:51", + "cover_right_content_description": "3分钟51秒", + "desc_button": { + "text": "小白测评", + "uri": "bilibili://space/8969156", + "event": "nickname", + "type": 1 + }, + "official_icon": 16, + "can_play": 1, + "goto_icon": { + "icon_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/077GOeHOfO.png", + "icon_night_url": "https://i0.hdslb.com/bfs/activity-plat/static/20230227/0977767b2e79d8ad0a36a731068a83d7/ldbCXtkoK2.png", + "icon_width": 16, + "icon_height": 16 + }, + "cover_info_priority": 123 + }, + { + "type": "static", + "resource_id": 4336, + "id": 1674583, + "index": 3, + "static_banner": { + "id": 1674583, + "title": "神舟二十号载人飞船今日发射", + "image": "http://i0.hdslb.com/bfs/banner/3d3f17726926194173a2db2a68ff51fbe1081458.jpg", + "hash": "e39cbd594c34ac3a0ec12a45dd6db0b5", + "uri": "https://live.bilibili.com/21686237", + "request_id": "1745482994326q172a27a87a21q3087", + "src_id": 4339, + "is_ad_loc": true, + "client_ip": "182.89.224.34", + "server_type": 0, + "resource_id": 4336, + "index": 3, + "cm_mark": 0 + } + } + ] + }, + { + "card_type": "small_cover_v2", + "card_goto": "av", + "goto": "av", + "param": "114369442680801", + "cover": "http://i1.hdslb.com/bfs/archive/13d3bace40c362db92d5752aef3ebce24bbcbea3.jpg", + "title": "【仿】《明日方舟》六周年庆典活动宣传PV", + "uri": "bilibili://video/114369442680801?cid=29516958739&player_height=1080&player_preload=%7B%22expire_time%22%3A1745486594%2C%22cid%22%3A29516958739%2C%22quality%22%3A32%2C%22file_info%22%3A%7B%2216%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A8427938%2C%22timelength%22%3A239258%7D%5D%7D%2C%2232%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A14979728%2C%22timelength%22%3A239238%7D%5D%7D%2C%2264%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A28834092%2C%22timelength%22%3A239238%7D%5D%7D%2C%2280%22%3A%7B%22infos%22%3A%5B%7B%22filesize%22%3A48620682%2C%22timelength%22%3A239238%7D%5D%7D%7D%2C%22video_codecid%22%3A7%2C%22video_project%22%3Atrue%2C%22dash%22%3A%7B%22video%22%3A%5B%7B%22id%22%3A32%2C%22base_url%22%3A%22http%3A%2F%2F118.184.254.3%3A4480%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026platform%3Dandroid%5Cu0026gen%3Dplayurlv3%5Cu0026tag%3D%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026os%3Dmcdn%5Cu0026og%3Dcos%5Cu0026upsig%3D83d78984e6c66cf9fb8f44e16af524dc%5Cu0026uparams%3De%2Cnbs%2Coi%2Cuipk%2Cplatform%2Cgen%2Ctag%2Ctrid%2Cmid%2Cdeadline%2Cos%2Cog%5Cu0026mcdnid%3D50021694%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D501413%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%2C%22bandwidth%22%3A500862%2C%22codecid%22%3A7%2C%22size%22%3A14979728%2C%22frame_rate%22%3A%2229.966%22%2C%22backup_url%22%3A%5B%22http%3A%2F%2Fupos-sz-estgoss.bilivideo.com%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026trid%3D56fb961696ed4d6bb208acb9ce431b1U%5Cu0026os%3Dupos%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026platform%3Dandroid%5Cu0026mid%3D479396940%5Cu0026deadline%3D1745490194%5Cu0026tag%3D%5Cu0026gen%3Dplayurlv3%5Cu0026nbs%3D1%5Cu0026upsig%3D4a9372dc47ff187acaddd4b1bb7ff762%5Cu0026uparams%3De%2Ctrid%2Cos%2Cog%2Coi%2Cuipk%2Cplatform%2Cmid%2Cdeadline%2Ctag%2Cgen%2Cnbs%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D501413%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026orderid%3D1%2C3%22%2C%22http%3A%2F%2Fupos-sz-estgoss.bilivideo.com%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-100047.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026deadline%3D1745490194%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dupos%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026platform%3Dandroid%5Cu0026trid%3D56fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026tag%3D%5Cu0026nbs%3D1%5Cu0026og%3Dcos%5Cu0026upsig%3Df4d94d26f589bd25736ae575f46117cb%5Cu0026uparams%3De%2Cdeadline%2Cgen%2Cos%2Coi%2Cuipk%2Cplatform%2Ctrid%2Cmid%2Ctag%2Cnbs%2Cog%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D501413%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D2%2C3%22%5D%2C%22audio_id%22%3A30216%7D%2C%7B%22id%22%3A32%2C%22base_url%22%3A%22http%3A%2F%2F123.184.30.75%3A8000%2Fv1%2Fresource%2F29516958739-1-30033.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D261105%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50021694%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3D6c5944%5Cu0026tag%3D%5Cu0026traceid%3DtrrIoIfTKBmhJG_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cnbs%252Cgen%252Cos%252Cog%252Cplatform%252Ctrid%252Cmid%252Ctag%252Coi%252Cuipk%252Cdeadline%5Cu0026upsig%3D20c184de73caf9072d6615826d43a023%22%2C%22bandwidth%22%3A260788%2C%22codecid%22%3A12%2C%22size%22%3A7800527%2C%22frame_rate%22%3A%2229.966%22%2C%22backup_url%22%3A%5B%22http%3A%2F%2F123.184.30.71%3A8000%2Fv1%2Fresource%2F29516958739-1-30033.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D261105%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dcoso1bv%5Cu0026platform%3Dandroid%5Cu0026sign%3D6c5944%5Cu0026tag%3D%5Cu0026traceid%3DtrKFqEZMFxtfGx_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cplatform%252Cnbs%252Ctrid%252Cmid%252Cdeadline%252Ctag%252Coi%252Cuipk%252Cgen%252Cos%252Cog%5Cu0026upsig%3D026e2862050e3c63ac42d8c153b140bd%22%2C%22http%3A%2F%2F118.184.254.3%3A4480%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-30033.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026nbs%3D1%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026og%3Dcos%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026tag%3D%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026deadline%3D1745490194%5Cu0026upsig%3D20c184de73caf9072d6615826d43a023%5Cu0026uparams%3De%2Cnbs%2Cgen%2Cos%2Cog%2Cplatform%2Ctrid%2Cmid%2Ctag%2Coi%2Cuipk%2Cdeadline%5Cu0026mcdnid%3D50021694%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D261105%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026orderid%3D0%2C3%22%5D%2C%22audio_id%22%3A30216%7D%5D%2C%22audio%22%3A%5B%7B%22id%22%3A30216%2C%22base_url%22%3A%22http%3A%2F%2F183.229.247.224%3A6809%2Fv1%2Fresource%2F29516958739-1-30216.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D57268%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50021694%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3Dc6f08b%5Cu0026tag%3D%5Cu0026traceid%3DtrOVFXiUwisFJo_1_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctrid%252Cdeadline%252Ctag%252Cos%252Cog%252Cnbs%252Coi%252Cuipk%252Cplatform%252Cmid%252Cgen%5Cu0026upsig%3D65fa2495f72b1652c93ae3e8ed18f2f6%22%2C%22bandwidth%22%3A57154%2C%22size%22%3A1710889%2C%22backup_url%22%3A%5B%22http%3A%2F%2F123.138.84.79%3A8000%2Fv1%2Fresource%2F29516958739-1-30216.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D57268%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3D08hbv%5Cu0026platform%3Dandroid%5Cu0026sign%3Dc6f08b%5Cu0026tag%3D%5Cu0026traceid%3DtrZvPCHsGisbaS_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cnbs%252Coi%252Cplatform%252Cmid%252Cgen%252Cos%252Cog%252Cdeadline%252Ctag%252Cuipk%252Ctrid%5Cu0026upsig%3Dc6eeb5169558ca73c36ff87b7925515c%22%2C%22http%3A%2F%2F118.184.254.3%3A4480%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-30216.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026deadline%3D1745490194%5Cu0026tag%3D%5Cu0026os%3Dmcdn%5Cu0026og%3Dhw%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026uipk%3D5%5Cu0026platform%3Dandroid%5Cu0026mid%3D479396940%5Cu0026gen%3Dplayurlv3%5Cu0026upsig%3D65fa2495f72b1652c93ae3e8ed18f2f6%5Cu0026uparams%3De%2Ctrid%2Cdeadline%2Ctag%2Cos%2Cog%2Cnbs%2Coi%2Cuipk%2Cplatform%2Cmid%2Cgen%5Cu0026mcdnid%3D50021694%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D57268%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%5D%7D%2C%7B%22id%22%3A30280%2C%22base_url%22%3A%22http%3A%2F%2F125.74.62.233%3A8000%2Fv1%2Fresource%2F29516958739-1-30280.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D201462%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50021694%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3Db1164b%5Cu0026tag%3D%5Cu0026traceid%3DtrkxYWIjABzQnP_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cuipk%252Ctrid%252Cmid%252Cnbs%252Cog%252Coi%252Cdeadline%252Ctag%252Cgen%252Cos%252Cplatform%5Cu0026upsig%3D5f5a3ee9562beef98824c40a28a6cf00%22%2C%22bandwidth%22%3A201184%2C%22size%22%3A6018701%2C%22backup_url%22%3A%5B%22http%3A%2F%2F118.182.248.130%3A8000%2Fv1%2Fresource%2F29516958739-1-30280.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D201462%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dcoso1bv%5Cu0026platform%3Dandroid%5Cu0026sign%3Db1164b%5Cu0026tag%3D%5Cu0026traceid%3DtrLzIEoLxgCnJA_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Ctrid%252Cog%252Cnbs%252Coi%252Cuipk%252Cdeadline%252Cgen%252Cos%252Ctag%252Cplatform%252Cmid%5Cu0026upsig%3D67dde445db5a37fb52a4bcf508e81318%22%2C%22http%3A%2F%2F118.184.254.3%3A4480%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-30280.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026uipk%3D5%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026og%3Dcos%5Cu0026oi%3D3059343394%5Cu0026deadline%3D1745490194%5Cu0026tag%3D%5Cu0026gen%3Dplayurlv3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026upsig%3D5f5a3ee9562beef98824c40a28a6cf00%5Cu0026uparams%3De%2Cuipk%2Ctrid%2Cmid%2Cnbs%2Cog%2Coi%2Cdeadline%2Ctag%2Cgen%2Cos%2Cplatform%5Cu0026mcdnid%3D50021694%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D201462%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026f%3DU_0_0%5Cu0026orderid%3D0%2C3%22%5D%7D%2C%7B%22id%22%3A30232%2C%22base_url%22%3A%22http%3A%2F%2F218.200.4.197%3A6768%2Fv1%2Fresource%2F29516958739-1-30232.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D107268%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mcdnid%3D50021694%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D0%252C3%5Cu0026os%3Dmcdn%5Cu0026platform%3Dandroid%5Cu0026sign%3Df944bf%5Cu0026tag%3D%5Cu0026traceid%3DtrxuDVFEVzmgrz_1_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cuipk%252Cgen%252Cplatform%252Ctrid%252Cmid%252Ctag%252Cnbs%252Coi%252Cog%252Cdeadline%252Cos%5Cu0026upsig%3Db3eef15ee3382742abc7374c9113a398%22%2C%22bandwidth%22%3A107097%2C%22size%22%3A3204643%2C%22backup_url%22%3A%5B%22http%3A%2F%2F123.184.35.27%3A8000%2Fv1%2Fresource%2F29516958739-1-30232.m4s%3Fagrr%3D1%5Cu0026build%3D8410300%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026bvc%3Dvod%5Cu0026bw%3D107268%5Cu0026deadline%3D1745490194%5Cu0026dl%3D0%5Cu0026e%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026f%3DU_0_0%5Cu0026gen%3Dplayurlv3%5Cu0026mid%3D479396940%5Cu0026nbs%3D1%5Cu0026nettype%3D0%5Cu0026og%3Dhw%5Cu0026oi%3D3059343394%5Cu0026orderid%3D1%252C3%5Cu0026os%3Dcoso1bv%5Cu0026platform%3Dandroid%5Cu0026sign%3Df944bf%5Cu0026tag%3D%5Cu0026traceid%3DtrEEpUqSymBxaq_0_U_a%5Cu0026uipk%3D5%5Cu0026uparams%3De%252Cplatform%252Cmid%252Cdeadline%252Ctag%252Coi%252Ctrid%252Cnbs%252Cuipk%252Cgen%252Cos%252Cog%5Cu0026upsig%3D3727194e76cf963df693733c2427f660%22%2C%22http%3A%2F%2F118.184.254.3%3A4480%2Fupgcxcode%2F39%2F87%2F29516958739%2F29516958739-1-30232.m4s%3Fe%3Dig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_%5Cu0026uipk%3D5%5Cu0026gen%3Dplayurlv3%5Cu0026platform%3Dandroid%5Cu0026trid%3D000056fb961696ed4d6bb208acb9ce431b1U%5Cu0026mid%3D479396940%5Cu0026tag%3D%5Cu0026nbs%3D1%5Cu0026oi%3D3059343394%5Cu0026og%3Dhw%5Cu0026deadline%3D1745490194%5Cu0026os%3Dmcdn%5Cu0026upsig%3Db3eef15ee3382742abc7374c9113a398%5Cu0026uparams%3De%2Cuipk%2Cgen%2Cplatform%2Ctrid%2Cmid%2Ctag%2Cnbs%2Coi%2Cog%2Cdeadline%2Cos%5Cu0026mcdnid%3D50021694%5Cu0026bvc%3Dvod%5Cu0026nettype%3D0%5Cu0026bw%3D107268%5Cu0026f%3DU_0_0%5Cu0026agrr%3D1%5Cu0026buvid%3DXY6CBD464C1BC5767CE40A77F12B89222B6E7%5Cu0026build%3D8410300%5Cu0026dl%3D0%5Cu0026orderid%3D0%2C3%22%5D%7D%5D%7D%2C%22fnval%22%3A272%2C%22accept_formats%22%3A%5B%7B%22quality%22%3A112%2C%22format%22%3A%22hdflv2%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%201080P%2B%22%2C%22new_description%22%3A%221080P%20%E9%AB%98%E7%A0%81%E7%8E%87%22%2C%22display_desc%22%3A%221080P%22%2C%22superscript%22%3A%22%E9%AB%98%E7%A0%81%E7%8E%87%22%2C%22need_vip%22%3Atrue%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A80%2C%22format%22%3A%22flv%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%201080P%22%2C%22new_description%22%3A%221080P%20%E9%AB%98%E6%B8%85%22%2C%22display_desc%22%3A%221080P%22%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A64%2C%22format%22%3A%22flv720%22%2C%22description%22%3A%22%E9%AB%98%E6%B8%85%20720P%22%2C%22new_description%22%3A%22720P%20%E5%87%86%E9%AB%98%E6%B8%85%22%2C%22display_desc%22%3A%22720P%22%2C%22need_login%22%3Atrue%7D%2C%7B%22quality%22%3A32%2C%22format%22%3A%22flv480%22%2C%22description%22%3A%22%E6%B8%85%E6%99%B0%20480P%22%2C%22new_description%22%3A%22480P%20%E6%A0%87%E6%B8%85%22%2C%22display_desc%22%3A%22480P%22%7D%2C%7B%22quality%22%3A16%2C%22format%22%3A%22mp4%22%2C%22description%22%3A%22%E6%B5%81%E7%95%85%20360P%22%2C%22new_description%22%3A%22360P%20%E6%B5%81%E7%95%85%22%2C%22display_desc%22%3A%22360P%22%7D%5D%2C%22volume%22%3A%7B%22measured_i%22%3A-10.8%2C%22measured_lra%22%3A8.6%2C%22measured_tp%22%3A3.5%2C%22measured_threshold%22%3A-21%2C%22target_offset%22%3A-1.1%2C%22target_i%22%3A-14%2C%22target_tp%22%3A-1%2C%22multi_scene_args%22%3A%7B%22high_dynamic_target_i%22%3A%22-24%22%2C%22normal_target_i%22%3A%22-14%22%2C%22undersized_target_i%22%3A%22-28%22%7D%7D%2C%22union_player%22%3A%7B%22biz_type%22%3A1%2C%22dimension%22%3A%7B%22width%22%3A1920%2C%22height%22%3A1080%7D%2C%22aid%22%3A114369442680801%7D%2C%22auto_qn_ctl%22%3A%7B%22login_half%22%3A32%2C%22nologin_half%22%3A32%2C%22login_full%22%3A80%2C%22nologin_full%22%3A32%2C%22mobile_login_full%22%3A80%2C%22mobile_nologin_full%22%3A32%7D%2C%22qn_exp%22%3A%7B%22qn_exp_1%22%3Atrue%7D%7D&player_rotate=0&player_width=1920&report_flow_data=%7B%22flow_card_type%22%3A%22av%22%2C%22flow_source%22%3A%22dssm_u2u%22%7D&trackid=all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "three_point": { + "dislike_reasons": [ + { + "id": 4, + "name": "UP主:罗德岛蜜饼工坊", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:明日方舟UP主应援计划 – 离解复合", + "toast": "将减少相似内容推荐" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "这个内容", + "toast": "将减少相似内容推荐" + } + ], + "feedbacks": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "watch_later": 1 + }, + "args": { + "up_id": 8412516, + "up_name": "罗德岛蜜饼工坊", + "tid": 74654031, + "tname": "明日方舟UP主应援计划 – 离解复合", + "aid": 114369442680801 + }, + "player_args": { + "aid": 114369442680801, + "cid": 29516958739, + "type": "av", + "duration": 240 + }, + "idx": 1745482982, + "three_point_v2": [ + { + "title": "添加至稍后再看", + "type": "watch_later", + "icon": "https://i0.hdslb.com/bfs/activity-plat/static/20240103/0977767b2e79d8ad0a36a731068a83d7/8VhmmUeWnO.png", + "icon_night": "https://i0.hdslb.com/bfs/activity-plat/static/20240103/0977767b2e79d8ad0a36a731068a83d7/eIyDu5U7GA.png" + }, + { + "title": "反馈", + "subtitle": "(选择后将优化首页此类内容)", + "reasons": [ + { + "id": 1, + "name": "恐怖血腥", + "toast": "将优化首页此类内容" + }, + { + "id": 2, + "name": "色情低俗", + "toast": "将优化首页此类内容" + }, + { + "id": 3, + "name": "封面恶心", + "toast": "将优化首页此类内容" + }, + { + "id": 4, + "name": "标题党/封面党", + "toast": "将优化首页此类内容" + } + ], + "type": "feedback" + }, + { + "title": "我不想看", + "subtitle": "(选择后将减少相似内容推荐)", + "reasons": [ + { + "id": 4, + "name": "UP主:罗德岛蜜饼工坊", + "toast": "将减少相似内容推荐" + }, + { + "id": 3, + "name": "频道:明日方舟UP主应援计划 – 离解复合", + "toast": "将减少相似内容推荐", + "extend": "{\"tid\":\"74654031\"}" + }, + { + "id": 3, + "name": "频道:泰拉探索协会", + "toast": "将减少相似内容推荐", + "extend": "{\"tid\":\"22177849\"}" + }, + { + "id": 12, + "name": "此类内容过多", + "toast": "将减少相似内容推荐" + }, + { + "id": 13, + "name": "推荐过", + "toast": "将减少相似内容推荐" + }, + { + "id": 1, + "name": "这个内容", + "toast": "将减少相似内容推荐" + } + ], + "type": "dislike" + } + ], + "track_id": "all_49.router-pegasus-2021478-7d7955f987-td5kj.1745482993998.1007", + "talk_back": "视频,【仿】《明日方舟》六周年庆典活动宣传PV,45.4万观看,1074弹幕,时长4分钟00秒,UP主罗德岛蜜饼工坊,3万点赞,", + "report_flow_data": "{\"flow_card_type\":\"av\",\"flow_source\":\"dssm_u2u\"}", + "three_point_v": "v2", + "cover_left_text_1": "45.4万", + "cover_left_icon_1": 1, + "cover_left_1_content_description": "45.4万观看", + "cover_left_text_2": "1074", + "cover_left_icon_2": 3, + "cover_left_2_content_description": "1074弹幕", + "cover_right_text": "4:00", + "cover_right_content_description": "4分钟00秒", + "rcmd_reason": "3万点赞", + "official_icon": 16, + "can_play": 1, + "rcmd_reason_style": { + "text": "3万点赞", + "text_color": "#FF6633", + "bg_color": "#FFF1ED", + "border_color": "#FFF1ED", + "text_color_night": "#BF5330", + "bg_color_night": "#3D2D29", + "border_color_night": "#3D2D29", + "bg_style": 1 + }, + "cover_info_priority": 123 + } + ], + "config": { + "column": 2, + "autoplay_card": 11, + "feed_clean_abtest": 0, + "home_transfer_test": 0, + "auto_refresh_time": 1200, + "show_inline_danmaku": 1, + "toast": {}, + "single_autoplay_flag": 1, + "is_back_to_homepage": true, + "enable_rcmd_guide": true, + "auto_refresh_time_by_appear": 1800, + "auto_refresh_time_by_active": 1800, + "trigger_loadmore_left_line_num": -1, + "history_cache_size": 10, + "visible_area": 80, + "card_density_exp": 1, + "small_cover_wh_ratio": 1.333333, + "video_mode": 1, + "space_enlarge_exp": 1, + "auto_refresh_time_by_behavior": 5, + "story_mode_v2_guide_exp": 6, + "auto_refresh_by_behavior": 1, + "three_point_style": 1, + "exposure_duration_start_ratio": 0.800000011920929, + "exposure_duration_end_ratio": 0.800000011920929, + "exposure_duration_min_ms": 1, + "rcmd_label_mng_entrance": 1 + }, + "interest_choose": null + } +} +``` + +
\ No newline at end of file diff --git a/docs/video/videostream_url.md b/docs/video/videostream_url.md index 304e617..a098a77 100644 --- a/docs/video/videostream_url.md +++ b/docs/video/videostream_url.md @@ -49,6 +49,7 @@ | 512 | 是否需求杜比视界 | 需求 DASH 格式
大会员认证 | | 1024 | 是否需求 8K 分辨率 | 需求 DASH 格式
需要`qn=127`
大会员认证 | | 2048 | 是否需求 AV1 编码 | 需求 DASH 格式 | +| 4048 | 所有可用 DASH 视频流 | 即一次性返回所有可用 DASH 格式视频流 | 例如:请求 DASH 格式,且需要 HDR 的视频流,则`fnval=16|64=80` @@ -109,6 +110,7 @@ | avid | num | 稿件 avid | 必要(可选) | avid 与 bvid 任选一个 | | bvid | str | 稿件 bvid | 必要(可选) | avid 与 bvid 任选一个 | | cid | num | 视频 cid | 必要 | | +| gaia_source | str | view-card | 必要(非必要) | 无Cookie(SESSDATA)时需要此参数有则Cookie(SESSDATA)时不需要 | | qn | num | 视频清晰度选择 | 非必要 | 未登录默认 32(480P),登录后默认 64(720P)
含义见 [上表](#qn视频清晰度标识)
**DASH 格式时无效** | | fnval | num | 视频流格式标识 | 非必要 | 默认值为`1`(MP4 格式)
含义见 [上表](#fnval视频流格式标识) | | fnver | num | 0 | 非必要 | | @@ -135,6 +137,7 @@ | 字段 | 类型 | 内容 | 备注 | | ------------------ | ----- | ----------------------------------------------- | ----------------------------------------------- | +| v_voucher | str | (?) | 需要参数`gaia_source=view-card` | | from | str | `local`? | | | result | str | `suee`? | | | message | str | 空? | |