feat: 重大优化更新 - 修复v14.0并发布Pro版
✨ 新功能: - 创建bilibili_audio_downloader_pro.py (Pro版) - 全新架构重构 - 添加config.json配置文件支持 - 新增INSTALL.md详细安装指南 - 新增VERSION_COMPARISON.md版本对比说明 🐛 Bug修复 (v14.0): - 修复中文编码显示问题 - 修复ffmpeg进度条计算不准确 - 改进yt-dlp下载进度解析 - 添加重试机制和超时设置 - 完善错误处理和日志记录 🏗️ Pro版优势: - 面向对象架构设计,代码更清晰 - 自定义异常类和智能错误恢复 - 准确的进度条显示算法 - 完整的日志系统 - 灵活的配置管理 - 更好的用户体验 📚 文档更新: - 更新README.md,添加版本对比指引 - 更新requirements.txt依赖列表 - 完善项目文档结构
This commit is contained in:
1 parent
af14c12eee
commit
8db1d171a0
465 files changed
+200378
-9739
No files matched your search
@@ -0,0 +1,507 @@
|
||||
# 直播间弹幕
|
||||
|
||||
## 获取当前用户对应直播间可发弹幕配置
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-room/v1/dM/GetDMConfigByGroup
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
未登录也可以获取,但颜色只有白色可用,模式只有滚动。
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---- | --- | --- | ---- | --- |
|
||||
| room_id | num | 直播间id | 必要 | |
|
||||
| web_location | str | (?) | 非必要 | 作用尚不明确 |
|
||||
| w_rid | str | wbi签名 | 非必要 | 不强制需要 |
|
||||
| wts | num | 秒时间戳 | 非必要 | 不强制需要 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | 0: 成功<br />-400: 参数错误 |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | |
|
||||
| msg | str | 信息 | 成功时存在,为`""`(空字符串) |
|
||||
| ttl | num | `1` | 成功时不存在 |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| group | arr | 弹幕颜色组 | |
|
||||
| mode | arr | 弹幕显示模式 | |
|
||||
|
||||
`data.group` 数组中对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| name | str | 显示名称 | |
|
||||
| sort | num | 用于排序 | |
|
||||
| color | arr | 该组颜色列表 | |
|
||||
|
||||
`data.group[i].color` 数组中对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| name | str | 颜色名 | |
|
||||
| color | str | 十进制颜色值 | 发送弹幕用 |
|
||||
| color\_hex | str | 十六进制颜色值 | 发送弹幕用 |
|
||||
| status | num | 可用状态 | 0: 不可用<br />1: 可用 |
|
||||
| weight | num | (?) | 作用尚不明确 |
|
||||
| color\_id | num | 颜色id? | |
|
||||
| origin | num | (?) | |
|
||||
|
||||
`data.mode` 数组中对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| name | str | 模式名称 | |
|
||||
| mode | num | 模式值 | 发送弹幕用 |
|
||||
| type | str | 模式类型 | |
|
||||
| status | num | 可用状态 | 0: 不可用<br />1: 可用 |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取未登录用户在直播间 `1` 的弹幕配置可用情况
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/GetDMConfigByGroup?room_id=1'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"group": [
|
||||
{
|
||||
"name": "普",
|
||||
"sort": 0,
|
||||
"color": [
|
||||
{
|
||||
"name": "白色",
|
||||
"color": "16777215",
|
||||
"color_hex": "ffffff",
|
||||
"status": 1,
|
||||
"weight": -9999,
|
||||
"color_id": -9999,
|
||||
"origin": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "航",
|
||||
"sort": 100,
|
||||
"color": [
|
||||
{
|
||||
"name": "紫色",
|
||||
"color": "14893055",
|
||||
"color_hex": "e33fff",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 6,
|
||||
"origin": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "粉",
|
||||
"sort": 200,
|
||||
"color": [
|
||||
{
|
||||
"name": "松石绿",
|
||||
"color": "5566168",
|
||||
"color_hex": "54eed8",
|
||||
"status": 0,
|
||||
"weight": 99,
|
||||
"color_id": 66,
|
||||
"origin": 2
|
||||
},
|
||||
{
|
||||
"name": "雨后蓝",
|
||||
"color": "5816798",
|
||||
"color_hex": "58c1de",
|
||||
"status": 0,
|
||||
"weight": 98,
|
||||
"color_id": 67,
|
||||
"origin": 2
|
||||
},
|
||||
{
|
||||
"name": "星空蓝",
|
||||
"color": "4546550",
|
||||
"color_hex": "455ff6",
|
||||
"status": 0,
|
||||
"weight": 97,
|
||||
"color_id": 68,
|
||||
"origin": 2
|
||||
},
|
||||
{
|
||||
"name": "紫罗兰",
|
||||
"color": "9920249",
|
||||
"color_hex": "975ef9",
|
||||
"status": 0,
|
||||
"weight": 96,
|
||||
"color_id": 69,
|
||||
"origin": 2
|
||||
},
|
||||
{
|
||||
"name": "梦境红",
|
||||
"color": "12802438",
|
||||
"color_hex": "c35986",
|
||||
"status": 0,
|
||||
"weight": 95,
|
||||
"color_id": 70,
|
||||
"origin": 2
|
||||
},
|
||||
{
|
||||
"name": "热力橙",
|
||||
"color": "16747553",
|
||||
"color_hex": "ff8c21",
|
||||
"status": 0,
|
||||
"weight": 94,
|
||||
"color_id": 71,
|
||||
"origin": 2
|
||||
},
|
||||
{
|
||||
"name": "香槟金",
|
||||
"color": "16774434",
|
||||
"color_hex": "fff522",
|
||||
"status": 0,
|
||||
"weight": 93,
|
||||
"color_id": 72,
|
||||
"origin": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "爷",
|
||||
"sort": 300,
|
||||
"color": [
|
||||
{
|
||||
"name": "红色",
|
||||
"color": "16738408",
|
||||
"color_hex": "ff6868",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 8,
|
||||
"origin": 3
|
||||
},
|
||||
{
|
||||
"name": "蓝色",
|
||||
"color": "6737151",
|
||||
"color_hex": "66ccff",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 7,
|
||||
"origin": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "活",
|
||||
"sort": 400,
|
||||
"color": [
|
||||
{
|
||||
"name": "盛典金",
|
||||
"color": "16766720",
|
||||
"color_hex": "ffd700",
|
||||
"status": 0,
|
||||
"weight": 100,
|
||||
"color_id": 44,
|
||||
"origin": 4
|
||||
},
|
||||
{
|
||||
"name": "升腾蓝",
|
||||
"color": "4286945",
|
||||
"color_hex": "4169e1",
|
||||
"status": 0,
|
||||
"weight": 100,
|
||||
"color_id": 43,
|
||||
"origin": 4
|
||||
},
|
||||
{
|
||||
"name": "青色",
|
||||
"color": "65532",
|
||||
"color_hex": "fffc",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 5,
|
||||
"origin": 4
|
||||
},
|
||||
{
|
||||
"name": "绿色",
|
||||
"color": "8322816",
|
||||
"color_hex": "7eff00",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 4,
|
||||
"origin": 4
|
||||
},
|
||||
{
|
||||
"name": "黄色弹幕",
|
||||
"color": "16772431",
|
||||
"color_hex": "ffed4f",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 3,
|
||||
"origin": 4
|
||||
},
|
||||
{
|
||||
"name": "橙色",
|
||||
"color": "16750592",
|
||||
"color_hex": "ff9800",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 2,
|
||||
"origin": 4
|
||||
},
|
||||
{
|
||||
"name": "粉色",
|
||||
"color": "16741274",
|
||||
"color_hex": "ff739a",
|
||||
"status": 0,
|
||||
"weight": 0,
|
||||
"color_id": 1,
|
||||
"origin": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"mode": [
|
||||
{
|
||||
"name": "滚动",
|
||||
"mode": 1,
|
||||
"type": "scroll",
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"name": "底部",
|
||||
"mode": 4,
|
||||
"type": "bottom",
|
||||
"status": 0
|
||||
},
|
||||
{
|
||||
"name": "顶部",
|
||||
"mode": 5,
|
||||
"type": "top",
|
||||
"status": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"message": "",
|
||||
"msg": ""
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 设置弹幕样式
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---- | --- | --- | ---- | --- |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| csrf\_token | str | 同csrf | 非必要 | |
|
||||
| room\_id | num | 直播间id | 必要 | |
|
||||
| color | str | 颜色值 | 必要(可选) | color和mode任选一个 |
|
||||
| mode | num | 弹幕模式 | 必要(可选) | color和mode任选一个 |
|
||||
|
||||
注1: 抓取到的color格式是`"0x"+六位十六进制小写颜色值`,实际不需要`0x`,且不区分大小写。
|
||||
|
||||
注2: 若color和mode同时存在将只处理color,mode将被忽略。(见[#1236(comment)](https://github.com/SocialSisterYi/bilibili-API-collect/issues/1236#issuecomment-2849019923))
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | 0: 成功<br />-101: 账号未登录<br />-500: 未达到使用条件<br />10064002: 参数错误<br />10065107: 颜色不存在 |
|
||||
| message | str | 错误信息 | |
|
||||
| ttl | num | `1` | |
|
||||
| data | obj | 信息本体 | 部分情况不存在,10064002时为`null` |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| status | num | 同code | |
|
||||
| msg | str | 提示信息 | 成功时有内容 |
|
||||
| roomid | num | 直播间id | |
|
||||
|
||||
**示例:**
|
||||
|
||||
更改直播间 `1017` 的弹幕颜色为白色
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig' \
|
||||
--data-urlencode 'room_id=1017' \
|
||||
--data-urlencode 'color=0xffffff' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code":0,
|
||||
"message":"0",
|
||||
"ttl":1,
|
||||
"data":{
|
||||
"status":0,
|
||||
"msg":"设置成功~",
|
||||
"roomid":1017
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 发送直播弹幕
|
||||
|
||||
> https://api.live.bilibili.com/msg/send
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ----- | ---- | --- | ----- | --- |
|
||||
| w_rid | str | wbi签名 | 非必要 | 不强制需要 |
|
||||
| wts | num | Unix 秒时间戳 | 非必要 | 不强制需要 |
|
||||
|
||||
**正文参数 (`application/x-www-form-urlencoded`或`multipart/form-data`):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---- | --- | --- | ---- | --- |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| roomid | num | 直播间id | 必要 | |
|
||||
| msg | str | 弹幕内容 | 必要 | |
|
||||
| rnd | num | 当前 Unix 秒时间戳 | 必要 | |
|
||||
| fontsize | num | 字体大小 | 必要 | 默认为`25` |
|
||||
| color | num | 十进制颜色值 | 必要 | 实际无效果 |
|
||||
| mode | num | 展示模式 | 非必要 | 默认为`1` |
|
||||
| bubble | num | (?) | 非必要 | 值为`0` |
|
||||
| room\_type | num | (?) | 非必要 | `0` |
|
||||
| jumpfrom | num | (?) | 非必要 | `0` |
|
||||
| reply\_mid | num | 要“@”的用户mid | 非必要 | 默认为`0` |
|
||||
| reply\_attr | num | (?) | 非必要 | `0` |
|
||||
| reply\_uname | str | 要“@”的用户名称 | 非必要 | 默认为`""`,提供reply\_mid时不需要提供 |
|
||||
| replay\_dmid | str | 要回复的弹幕id | 非必要 | 默认为`""` |
|
||||
| statistics | str | (?) | 非必要 | `{"appId":100,"platform":5}` |
|
||||
| csrf_token | str | 同csrf | 非必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | `-101`:账号未登录<br />`-111`:csrf 校验失败<br />`-400`:请求错误,带有必须参数的信息<br />`1003212`:超出限制长度<br />`10031`:发送频率过快 |
|
||||
| message | str | 错误信息 | |
|
||||
| msg | str | 同`message` | |
|
||||
| data | obj | 信息本体 | |
|
||||
| ttl | num | `1` | 在小于0的code中存在 |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| mode_info | obj | 弹幕信息 | |
|
||||
| dm_v2 | null | v2弹幕 | |
|
||||
|
||||
`data.mode_info` 对象:
|
||||
|
||||
基本上与[直播间信息流#弹幕 (DANMU_MSG)](message_stream.md#弹幕-danmu_msg)的`info[0][15]`对象相同。
|
||||
|
||||
**示例:**
|
||||
|
||||
给直播间 `1899237171` 发送内容为 `QwQ` 的弹幕
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/msg/send' \
|
||||
--data-urlencode 'roomid=1899237171' \
|
||||
--data-urlencode 'msg=QwQ' \
|
||||
--data-urlencode 'rnd=1744956003' \
|
||||
--data-urlencode 'fontsize=25'
|
||||
--data-urlencode 'color=16777215'
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code":0,
|
||||
"data":{
|
||||
"mode_info":{
|
||||
"mode":0,
|
||||
"show_player_type":0,
|
||||
"extra":"{\"send_from_me\":true,\"master_player_hidden\":false,\"mode\":0,\"color\":16777215,\"dm_type\":0,\"font_size\":25,\"player_mode\":1,\"show_player_type\":0,\"content\":\"QwQ\",\"user_hash\":\"2402762465\",\"emoticon_unique\":\"\",\"bulge_display\":0,\"recommend_score\":7,\"main_state_dm_color\":\"\",\"objective_state_dm_color\":\"\",\"direction\":0,\"pk_direction\":0,\"quartet_direction\":0,\"anniversary_crowd\":0,\"yeah_space_type\":\"\",\"yeah_space_url\":\"\",\"jump_to_url\":\"\",\"space_type\":\"\",\"space_url\":\"\",\"animation\":{},\"emots\":null,\"is_audited\":false,\"id_str\":\"4e3ed8ede9409b234b5e1d64c06801ea3119\",\"icon\":null,\"show_reply\":true,\"reply_mid\":0,\"reply_uname\":\"\",\"reply_uname_color\":\"\",\"reply_is_mystery\":false,\"reply_type_enum\":0,\"hit_combo\":0,\"esports_jump_url\":\"\"}",
|
||||
"user":{
|
||||
"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":{
|
||||
"name":"weatfe",
|
||||
"face":"https://i0.hdslb.com/bfs/face/member/noface.jpg"
|
||||
},
|
||||
"official_info":{
|
||||
"role":0,
|
||||
"title":"",
|
||||
"desc":"",
|
||||
"type":-1
|
||||
},
|
||||
"name_color_str":""
|
||||
},
|
||||
"medal":null,
|
||||
"wealth":null,
|
||||
"title":{
|
||||
"old_title_css_id":"",
|
||||
"title_css_id":""
|
||||
},
|
||||
"guard":null,
|
||||
"uhead_frame":null,
|
||||
"guard_leader":{
|
||||
"is_guard_leader":false
|
||||
}
|
||||
}
|
||||
},
|
||||
"dm_v2":null
|
||||
},
|
||||
"message":"",
|
||||
"msg":""
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -0,0 +1,927 @@
|
||||
# 直播间表情
|
||||
|
||||
## 获取直播间的表情包
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-ucenter/v2/emoticon/GetEmoticons
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ------ | ---------- | ------ | ---- |
|
||||
| platform | string | 平台 | 必要 | 已知: `pc``android` `ios` |
|
||||
| room_id | number | 直播间长号 | 必要 | 只支持 `room_id` 不支持 `short_id` |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | -------- | ---- |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| message | string | 错误消息 | 默认为 0 |
|
||||
| ttl | number | 1 | |
|
||||
| data | object | 信息本体 | 见下 |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------ | -------- | ---------- | ---- |
|
||||
| data | object[] | 表情包数据 | 套了个娃 |
|
||||
| fans_brand | number | 品牌标识? | |
|
||||
| purchase_url | null? | 购买链接? | |
|
||||
|
||||
`data.data[]` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------------- | -------- | --------- | ---- |
|
||||
| current_cover | string | 封面 URL | |
|
||||
| emoticons | object[] | 表情列表 | |
|
||||
| pkg_descript | string | 文字描述 | |
|
||||
| pkg_id | number | 包 ID | |
|
||||
| pkg_name | string | 包名称 | |
|
||||
| pkg_perm | number | 使用权限? | |
|
||||
| pkg_type | number | 包类型 | |
|
||||
| recently_used_emoticons | unknown[] | 最近使用的表情 | |
|
||||
| top_show | object | 顶部展示信息? | |
|
||||
| top_show_recent | object | 最近使用的顶部展示信息? | |
|
||||
| unlock_identity | number | 解锁所需身份标识? | |
|
||||
| unlock_need_gift | number | 解锁所需礼物? | |
|
||||
|
||||
`data.data[].emoticons[]` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------- | ------ | ---- | ---- |
|
||||
| bulge_display | number | 突出展示? | |
|
||||
| descript | string | 描述 | |
|
||||
| emoji | string | 触发关键词? | |
|
||||
| emoticon_id | number | 表情 ID | |
|
||||
| emoticon_unique | string | 表情唯一标识 | |
|
||||
| emoticon_value_type | number | 表情值类型? | |
|
||||
| height | number | 表情图片高度 | |
|
||||
| identity | number | 身份限制标识? | |
|
||||
| in_player_area | number | 播放器区域内展示? | |
|
||||
| is_dynamic | number | 是否为动态表情? | |
|
||||
| perm | number | 使用权限? | |
|
||||
| unlock_need_gift | number | 解锁需求礼物? | |
|
||||
| unlock_need_level | number | 解锁需求等级? | |
|
||||
| unlock_show_color | string | 解锁展示颜色? | |
|
||||
| unlock_show_image | string | 解锁展示图片? | |
|
||||
| unlock_show_text | string | 解锁展示文字? | |
|
||||
| url | string | 表情图片 URL | |
|
||||
| width | number | 表情图片宽度 | |
|
||||
|
||||
`data.data[].top_show` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ------ | ---- | ---- |
|
||||
| top_left | object | | 左上 |
|
||||
| top_right | object | | 右上 |
|
||||
|
||||
`data.data[].top_show.top_left` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ------ | ----- | ---- |
|
||||
| image | string | 图片? | |
|
||||
| text | string | 文字 | |
|
||||
|
||||
`data.data[].top_show.top_right` 对象:
|
||||
|
||||
同 `data.data[].top_show.top_left` 对象
|
||||
|
||||
`data.data[].top_show_recent` 对象:
|
||||
|
||||
同 `data.data[].top_show` 对象
|
||||
|
||||
`data.data[].top_show_recent.top_left` 对象:
|
||||
|
||||
同 `data.data[].top_show.top_left` 对象
|
||||
|
||||
`data.data[].top_show_recent.top_right` 对象:
|
||||
|
||||
同 `data.data[].top_show.top_left` 对象
|
||||
|
||||
**示例:**
|
||||
|
||||
获取直播间 `14047` 的表情包, 平台为 `android`
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.live.bilibili.com/xlive/web-ucenter/v2/emoticon/GetEmoticons' \
|
||||
--url-query 'room_id=14047' \
|
||||
--url-query 'platform=android' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"data": [
|
||||
{
|
||||
"current_cover": "http://i0.hdslb.com/bfs/live/39b7667c2601e4da8019472f5e3df1f2278278b6.png",
|
||||
"emoticons": [
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "啊",
|
||||
"emoticon_id": 331,
|
||||
"emoticon_unique": "official_331",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/cbf2746062242e77bdcb9eb08edbf9b151fe0c2e.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "冲鸭",
|
||||
"emoticon_id": 332,
|
||||
"emoticon_unique": "official_332",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/dea7fbbc1c3d3c80f4c7b27263e13460f21874e4.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "upup",
|
||||
"emoticon_id": 348,
|
||||
"emoticon_unique": "official_348",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/38d84a4cd2f40069202ee13bbdca5b23d29710fb.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "星星向龙",
|
||||
"emoticon_id": 343,
|
||||
"emoticon_unique": "official_343",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/a69423be39b0f2a87dc74f2e44ead70de0eb0d4f.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "欧皇驾到",
|
||||
"emoticon_id": 335,
|
||||
"emoticon_unique": "official_335",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/650399e68d0d93df4b3f9e95e7437e83be7fbb1a.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "这个好耶",
|
||||
"emoticon_id": 345,
|
||||
"emoticon_unique": "official_345",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/2ce08b31618d3ad0d34877bf949ef0089a0438b7.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "泰裤辣",
|
||||
"emoticon_id": 339,
|
||||
"emoticon_unique": "official_339",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/82c38fc930ae764b4c6215f544bf8e1dba73b51c.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "闪避技能",
|
||||
"emoticon_id": 337,
|
||||
"emoticon_unique": "official_337",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/fa3febe6c62f3bcd042953141930d96fb8451e60.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "稳住能赢",
|
||||
"emoticon_id": 342,
|
||||
"emoticon_unique": "official_342",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/b3495aaa935b045bfc2e1d52738ea7b124e0d552.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "中奖喷雾",
|
||||
"emoticon_id": 346,
|
||||
"emoticon_unique": "official_346",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/c3cfa182d16564301d39e4c7e4c186dfb9fabf96.png",
|
||||
"width": 200
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "赞",
|
||||
"emoticon_id": 147,
|
||||
"emoticon_unique": "official_147",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/bbd9045570d0c022a984c637e406cb0e1f208aa9.png",
|
||||
"width": 150
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "妙啊",
|
||||
"emoticon_id": 109,
|
||||
"emoticon_unique": "official_109",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/7b7a2567ad1520f962ee226df777eaf3ca368fbc.png",
|
||||
"width": 138
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "有点东西",
|
||||
"emoticon_id": 113,
|
||||
"emoticon_unique": "official_113",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/39e518474a3673c35245bf6ef8ebfff2c003fdc3.png",
|
||||
"width": 186
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "很有精神",
|
||||
"emoticon_id": 150,
|
||||
"emoticon_unique": "official_150",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/e91cbe30b2db1e624bd964ad1f949661501f42f8.png",
|
||||
"width": 201
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "泪目",
|
||||
"emoticon_id": 103,
|
||||
"emoticon_unique": "official_103",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/aa93b9af7ba03b50df23b64e9afd0d271955cd71.png",
|
||||
"width": 144
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "赢麻了",
|
||||
"emoticon_id": 128,
|
||||
"emoticon_unique": "official_128",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/1d4c71243548a1241f422e90cd8ba2b75c282f6b.png",
|
||||
"width": 156
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "钝角",
|
||||
"emoticon_id": 133,
|
||||
"emoticon_unique": "official_133",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/38cf68c25d9ff5d364468a062fc79571db942ff3.png",
|
||||
"width": 153
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "干杯",
|
||||
"emoticon_id": 149,
|
||||
"emoticon_unique": "official_149",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/8fedede4028a72e71dae31270eedff5f706f7d18.png",
|
||||
"width": 162
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "2333",
|
||||
"emoticon_id": 124,
|
||||
"emoticon_unique": "official_124",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/a98e35996545509188fe4d24bd1a56518ea5af48.png",
|
||||
"width": 183
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "打call",
|
||||
"emoticon_id": 146,
|
||||
"emoticon_unique": "official_146",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/fa1eb4dce3ad198bb8650499830560886ce1116c.png",
|
||||
"width": 195
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "多谢款待",
|
||||
"emoticon_id": 148,
|
||||
"emoticon_unique": "official_148",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/4609dad97c0dfa61f8da0b52ab6fff98e0cf1e58.png",
|
||||
"width": 207
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "awsl",
|
||||
"emoticon_id": 102,
|
||||
"emoticon_unique": "official_102",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/328e93ce9304090f4035e3aa7ef031d015bbc915.png",
|
||||
"width": 162
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "鸡汤来咯",
|
||||
"emoticon_id": 137,
|
||||
"emoticon_unique": "official_137",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/b371151503978177b237afb85185b0f5431d0106.png",
|
||||
"width": 198
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "雀食",
|
||||
"emoticon_id": 118,
|
||||
"emoticon_unique": "official_118",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/7251dc7df587388a3933743bf38394d12a922cd7.png",
|
||||
"width": 159
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "禁止套娃",
|
||||
"emoticon_id": 108,
|
||||
"emoticon_unique": "official_108",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/6a644577437d0bd8a314990dd8ccbec0f3b30c92.png",
|
||||
"width": 204
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "暗中观察",
|
||||
"emoticon_id": 104,
|
||||
"emoticon_unique": "official_104",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/18af5576a4582535a3c828c3ae46a7855d9c6070.png",
|
||||
"width": 156
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "保熟吗",
|
||||
"emoticon_id": 105,
|
||||
"emoticon_unique": "official_105",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/0e28444c8e2faef3169e98e1a41c487144d877d4.png",
|
||||
"width": 162
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "比心",
|
||||
"emoticon_id": 106,
|
||||
"emoticon_unique": "official_106",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/1ba5126b10e5efe3e4e29509d033a37f128beab2.png",
|
||||
"width": 132
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "咸鱼翻身",
|
||||
"emoticon_id": 110,
|
||||
"emoticon_unique": "official_110",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/7db4188c050f55ec59a1629fbc5a53661e4ba780.png",
|
||||
"width": 180
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "mua",
|
||||
"emoticon_id": 111,
|
||||
"emoticon_unique": "official_111",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/08f1aebaa4d9c170aa79cbafe521ef0891bdf2b5.png",
|
||||
"width": 165
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "来了来了",
|
||||
"emoticon_id": 115,
|
||||
"emoticon_unique": "official_115",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/61e790813c51eab55ebe0699df1e9834c90b68ba.png",
|
||||
"width": 168
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "贴贴",
|
||||
"emoticon_id": 116,
|
||||
"emoticon_unique": "official_116",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/88b49dac03bfd5d4cb49672956f78beb2ebd0d0b.png",
|
||||
"width": 162
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "牛牛牛",
|
||||
"emoticon_id": 117,
|
||||
"emoticon_unique": "official_117",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/343f7f7e87fa8a07df63f9cba6b776196d9066f0.png",
|
||||
"width": 168
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "颠个勺",
|
||||
"emoticon_id": 119,
|
||||
"emoticon_unique": "official_119",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/625989e78079e3dc38d75cb9ac392fe8c1aa4a75.png",
|
||||
"width": 195
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "好家伙",
|
||||
"emoticon_id": 122,
|
||||
"emoticon_unique": "official_122",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/c2650bf9bbc79b682a4b67b24df067fdd3e5e9ca.png",
|
||||
"width": 165
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "下次一定",
|
||||
"emoticon_id": 125,
|
||||
"emoticon_unique": "official_125",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/cc2652cef69b22117f1911391567bd2957f27e08.png",
|
||||
"width": 177
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "不上Ban",
|
||||
"emoticon_id": 126,
|
||||
"emoticon_unique": "official_126",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/eff44c1fc03311573e8817ca8010aca72404f65c.png",
|
||||
"width": 231
|
||||
},
|
||||
{
|
||||
"bulge_display": 0,
|
||||
"descript": "",
|
||||
"emoji": "上热榜",
|
||||
"emoticon_id": 134,
|
||||
"emoticon_unique": "official_134",
|
||||
"emoticon_value_type": 0,
|
||||
"height": 60,
|
||||
"identity": 99,
|
||||
"in_player_area": 1,
|
||||
"is_dynamic": 1,
|
||||
"perm": 1,
|
||||
"unlock_need_gift": 0,
|
||||
"unlock_need_level": 0,
|
||||
"unlock_show_color": "",
|
||||
"unlock_show_image": "",
|
||||
"unlock_show_text": "",
|
||||
"url": "http://i0.hdslb.com/bfs/live/83d5b9cdaaa820c2756c013031d34dac1fd4156b.png",
|
||||
"width": 168
|
||||
}
|
||||
],
|
||||
"pkg_descript": "官方表情(系统)",
|
||||
"pkg_id": 1,
|
||||
"pkg_name": "通用表情",
|
||||
"pkg_perm": 1,
|
||||
"pkg_type": 1,
|
||||
"recently_used_emoticons": [],
|
||||
"top_show": {
|
||||
"top_left": {
|
||||
"image": "",
|
||||
"text": "通用表情"
|
||||
},
|
||||
"top_right": {
|
||||
"image": "",
|
||||
"text": ""
|
||||
}
|
||||
},
|
||||
"top_show_recent": {
|
||||
"top_left": {
|
||||
"image": "",
|
||||
"text": ""
|
||||
},
|
||||
"top_right": {
|
||||
"image": "",
|
||||
"text": ""
|
||||
}
|
||||
},
|
||||
"unlock_identity": 0,
|
||||
"unlock_need_gift": 0
|
||||
}
|
||||
],
|
||||
"fans_brand": 1,
|
||||
"purchase_url": null
|
||||
},
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
</details>
|
||||
@@ -0,0 +1,317 @@
|
||||
# 关注UP直播情况
|
||||
|
||||
## 用户关注的所有UP的直播情况
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-ucenter/user/following
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
|---------|-----|------|-----|-------|
|
||||
| page | num | 页码 | 非必要 | 默认为`1` |
|
||||
| page_size | num | 每页的数据数量 | 非必要 | 有效值`1`-`10`, 默认为`10` |
|
||||
| ignoreRecord | num | | | **尚不明确**<br />一般为`1` |
|
||||
| hit_ab | bool | | | **尚不明确**<br />建议用`true`, 不填为`false` |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
|---------|-----|------|-----------------|
|
||||
| code | num | 返回值 | `0`:成功<br />`-101`:错误 |
|
||||
| message | str | 错误信息 | |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
|---------|-----|------|-----------------|
|
||||
| title | str | 标题 | |
|
||||
| pageSize | num | 每页的数据数量 | |
|
||||
| totalPage | num | 分页数量 | |
|
||||
| list | obj | UP直播情况列表 | |
|
||||
| count | num | 曾直播过的UP数量 | |
|
||||
| never_lived_count | num | 未直播过的UP数量 | |
|
||||
| live_count | num | 正在直播的UP数量 | |
|
||||
| never_lived_faces | list | | **尚不明确** |
|
||||
|
||||
`list`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
|--------------|-----|-----|-----------|
|
||||
| roomid | num | 房间号 | |
|
||||
| uid | num | 主播uid | |
|
||||
| uname | str | 主播名 | |
|
||||
| title | str | 直播标题 | |
|
||||
| face | str | 主播头像 | |
|
||||
| live_status | num | 是否正在直播 | `0`: 未直播<br />`1`: 正在直播 |
|
||||
| record_num | num | | **尚不明确**<br />一般为0 |
|
||||
| recent_record_id | str | | **尚不明确**<br />一般为空 |
|
||||
| is_attention | num | | **尚不明确**<br />一般为1 |
|
||||
| clipnum | num | | **尚不明确**<br />一般为0 |
|
||||
| fans_num | num | | **尚不明确**<br />一般为0 |
|
||||
| area_name | str | | **尚不明确**<br />一般为空 |
|
||||
| area_value | str | | **尚不明确**<br />一般为空 |
|
||||
| tags | str | | **尚不明确**<br />一般为空 |
|
||||
| recent_record_id_v2 | str | | **尚不明确**<br />一般为空 |
|
||||
| record_num_v2 | num | | **尚不明确**<br />一般为0 |
|
||||
| record_live_time | num | 主播上一次直播结束的时间戳 | 正在直播时, 值为`0` |
|
||||
| area_name_v2 | str | 频道的名称 | |
|
||||
| room_news | str | 房间公告 | |
|
||||
| switch | bool | | **尚不明确** |
|
||||
| watch_icon | str | | **尚不明确** |
|
||||
| text_small | str | | **尚不明确**<br />当主播正在直播时, 为在线人数(可能) |
|
||||
| room_cover | str | 房间封面图片的URL | |
|
||||
| parent_area_id | num | 父分区id | |
|
||||
| area_id | num | 分区id | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.live.bilibili.com/xlive/web-ucenter/user/following' \
|
||||
-b 'SESSDATA=xxx' \
|
||||
--data-urlencode 'page=1' \
|
||||
--data-urlencode 'page_size=2' \
|
||||
--data-urlencode 'ignoreRecord=1' \
|
||||
--data-urlencode 'hit_ab=true'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"title": "哔哩哔哩直播 - 我的关注",
|
||||
"pageSize": 2,
|
||||
"totalPage": 26,
|
||||
"list": [
|
||||
{
|
||||
"roomid": 544853,
|
||||
"uid": 686127,
|
||||
"uname": "籽岷",
|
||||
"title": "尝试双机位",
|
||||
"face": "https://i0.hdslb.com/bfs/face/7efb679569b2faeff38fa08f6f992fa1ada5e948.webp",
|
||||
"live_status": 0,
|
||||
"record_num": 0,
|
||||
"recent_record_id": "",
|
||||
"is_attention": 1,
|
||||
"clipnum": 0,
|
||||
"fans_num": 0,
|
||||
"area_name": "",
|
||||
"area_value": "",
|
||||
"tags": "",
|
||||
"recent_record_id_v2": "",
|
||||
"record_num_v2": 0,
|
||||
"record_live_time": 1720011626,
|
||||
"area_name_v2": "新游推荐",
|
||||
"room_news": "",
|
||||
"switch": true,
|
||||
"watch_icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"text_small": "10.9万",
|
||||
"room_cover": "http://i0.hdslb.com/bfs/live/new_room_cover/6c89c41d7695a080d31ae21c128f7759a7f419e5.jpg",
|
||||
"parent_area_id": 6,
|
||||
"area_id": 889
|
||||
},
|
||||
{
|
||||
"roomid": 21686237,
|
||||
"uid": 456664753,
|
||||
"uname": "央视新闻",
|
||||
"title": "央视新闻的直播间",
|
||||
"face": "https://i1.hdslb.com/bfs/face/38a8db1c187b64a1412fafffbf350f8a3f436371.jpg",
|
||||
"live_status": 0,
|
||||
"record_num": 0,
|
||||
"recent_record_id": "",
|
||||
"is_attention": 1,
|
||||
"clipnum": 0,
|
||||
"fans_num": 0,
|
||||
"area_name": "",
|
||||
"area_value": "",
|
||||
"tags": "",
|
||||
"recent_record_id_v2": "",
|
||||
"record_num_v2": 0,
|
||||
"record_live_time": 1720001717,
|
||||
"area_name_v2": "社科法律心理",
|
||||
"room_news": "",
|
||||
"switch": false,
|
||||
"watch_icon": "https://i0.hdslb.com/bfs/live/0b265af1af0a77abc47aa3b8f1a5c0769d8bd23b.png",
|
||||
"text_small": "0",
|
||||
"room_cover": "http://i0.hdslb.com/bfs/live/d650d0e6e49397ea71d630be0a0e686679df16d8.jpg",
|
||||
"parent_area_id": 11,
|
||||
"area_id": 376
|
||||
}
|
||||
],
|
||||
"count": 52,
|
||||
"never_lived_count": 30,
|
||||
"live_count": 0,
|
||||
"never_lived_faces": []
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 用户关注的所有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:成功<br />1:参数错误 |
|
||||
| msg | str | 错误信息 | 默认为空 |
|
||||
| message | str | 错误信息 | 默认为空 |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
|---------|------|--------------|--------------------------------------------------------------------|
|
||||
| rooms | list | 正在直播的房间列表 | 受到url参数hit_ab的影响:<br />true时能够获取到全部正在开播的直播间列表,<br />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:未开播<br />1:直播中<br />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。<br />受url参数hit_ab的影响,hit_ab为true时为空字符串 |
|
||||
| hidden_till | str | 未知 | 时间日期格式为:yyyy-MM-dd hh-mm-ss。<br />受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'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -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'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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": "心动盲盒"
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
@@ -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'
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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": "头号粉丝大航海,等你来上船"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 查询粉丝团成员
|
||||
|
||||
|
||||
> 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:按照粉丝牌还亮着的粉丝团成员的亲密度排序<br> 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'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,210 @@
|
||||
# 直播间分区
|
||||
|
||||
## 获取全部直播间分区列表
|
||||
|
||||
> https://api.live.bilibili.com/room/v1/Area/getList
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
直播分区共有两级,分别是父分区和子分区
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | ---------- | ------------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| msg | str | 错误信息 | 默认为success |
|
||||
| message | str | 错误信息 | 默认为success |
|
||||
| data | array | 父分区列表 | |
|
||||
|
||||
`data`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | ---- |
|
||||
| 0 | obj | 父分区1 | |
|
||||
| n | obj | 父分区(n+1) | |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
`data`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---------- | ---- |
|
||||
| id | num | 父分区id | |
|
||||
| name | name | 父分区名 | |
|
||||
| list | list | 子分区列表 | |
|
||||
|
||||
`data`数组中的对象中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | ---- |
|
||||
| 0 | obj | 子分区1 | |
|
||||
| n | obj | 子分区(n+1) | |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
`list`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ---- | ----------------- | ---------------- |
|
||||
| id | str | 子分区id | |
|
||||
| parent_id | str | 父分区id | |
|
||||
| old_area_id | str | 旧分区id | |
|
||||
| name | str | 子分区名 | |
|
||||
| act_id | str | 0 | **作用尚不明确** |
|
||||
| pk_status | str | ??? | **作用尚不明确** |
|
||||
| hot_status | num | 是否为热门分区 | 0:否<br />1:是 |
|
||||
| lock_status | str | 0 | **作用尚不明确** |
|
||||
| pic | str | 子分区标志图片url | |
|
||||
| parent_name | str | 父分区名 | |
|
||||
| area_type | num | | |
|
||||
|
||||
**示例:**
|
||||
|
||||
如想在`网游`父分区下的`英雄联盟`分区开播,则查到子分区id为`86`
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Area/getList'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "success",
|
||||
"message": "success",
|
||||
"data": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "网游",
|
||||
"list": [
|
||||
{
|
||||
"id": "86",
|
||||
"parent_id": "2",
|
||||
"old_area_id": "4",
|
||||
"name": "英雄联盟",
|
||||
"act_id": "0",
|
||||
"pk_status": "0",
|
||||
"hot_status": 1,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/dcfb14f14ec83e503147a262e7607858b05d7ac0.png",
|
||||
"parent_name": "网游",
|
||||
"area_type": 0
|
||||
},
|
||||
{
|
||||
"id": "252",
|
||||
"parent_id": "2",
|
||||
"old_area_id": "3",
|
||||
"name": "逃离塔科夫",
|
||||
"act_id": "0",
|
||||
"pk_status": "0",
|
||||
"hot_status": 1,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/762a7de3dd5fe8165d1d55b232484a017941592f.png",
|
||||
"parent_name": "网游",
|
||||
"area_type": 0
|
||||
},
|
||||
{
|
||||
"id": "80",
|
||||
"parent_id": "2",
|
||||
"old_area_id": "1",
|
||||
"name": "绝地求生",
|
||||
"act_id": "0",
|
||||
"pk_status": "0",
|
||||
"hot_status": 1,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/43ca83fdcd10505eaeef1b76cf8ce642a53b94da.png",
|
||||
"parent_name": "网游",
|
||||
"area_type": 0
|
||||
},
|
||||
…………
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "手游",
|
||||
"list": [
|
||||
{
|
||||
"id": "35",
|
||||
"parent_id": "3",
|
||||
"old_area_id": "12",
|
||||
"name": "王者荣耀",
|
||||
"act_id": "0",
|
||||
"pk_status": "0",
|
||||
"hot_status": 1,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/0fefa924760b2dd492a12dddafe179bfa1216918.png",
|
||||
"parent_name": "手游",
|
||||
"area_type": 0
|
||||
},
|
||||
…………
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "单机",
|
||||
"list": [
|
||||
{
|
||||
"id": "236",
|
||||
"parent_id": "6",
|
||||
"old_area_id": "1",
|
||||
"name": "主机游戏",
|
||||
"act_id": "0",
|
||||
"pk_status": "0",
|
||||
"hot_status": 1,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/edb636ee59f902e3134a2790545045bddd70978e.png",
|
||||
"parent_name": "单机",
|
||||
"area_type": 0
|
||||
},
|
||||
…………
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "娱乐",
|
||||
"list": [
|
||||
{
|
||||
"id": "21",
|
||||
"parent_id": "1",
|
||||
"old_area_id": "10",
|
||||
"name": "视频唱见",
|
||||
"act_id": "0",
|
||||
"pk_status": "1",
|
||||
"hot_status": 1,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/72b93ddafdf63c9f0b626ad546847a3c03c92b6f.png",
|
||||
"cate_id": "12",
|
||||
"parent_name": "娱乐",
|
||||
"area_type": 0
|
||||
},
|
||||
…………
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "电台",
|
||||
"list": [
|
||||
{
|
||||
"id": "190",
|
||||
"parent_id": "5",
|
||||
"old_area_id": "10",
|
||||
"name": "唱见电台",
|
||||
"act_id": "0",
|
||||
"pk_status": "0",
|
||||
"hot_status": 0,
|
||||
"lock_status": "0",
|
||||
"pic": "http://i0.hdslb.com/bfs/vc/d22d7fafbf9b24e2bc3ce1df5eb9f006e6035e5d.png",
|
||||
"parent_name": "电台",
|
||||
"area_type": 0
|
||||
},
|
||||
…………
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -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` 字段*
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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": "粉丝团灯牌"
|
||||
},
|
||||
// ...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 获取流水
|
||||
|
||||
> 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` |
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,156 @@
|
||||
# 直播间视频流
|
||||
|
||||
## 根据真实直播间号获取直播视频流
|
||||
|
||||
> https://api.live.bilibili.com/room/v1/Room/playUrl
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ----------- | ------ | ---- |
|
||||
| cid | num | 目标真实直播间号 | 必要 | 直播间的`room_id`(非短号) |
|
||||
| platform | str | 直播流格式 | 非必要 | h5:hls方式<br />web:http-flv方式<br />默认为http-flv方式 |
|
||||
| quality | num | 画质 | 非必要 | `qn`与`quality`任选其一<br />2:流畅<br />3:高清<br />4:原画 |
|
||||
| qn | str | 画质 | 非必要 | `qn`与`quality`任选其一<br />80:流畅<br />150:高清<br />250:超清<br />400:蓝光<br />10000:原画<br />20000:4K<br />25000:默认<br />30000:杜比 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | --------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-400:参数错误<br />19002003:房间信息不存在 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | str | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------------- | ---- | ------------- | ------------------------ |
|
||||
| current_quality | num | 当前画质代码`qn` | |
|
||||
| accept_quality | array | 可选画质数参数 | |
|
||||
| current_qn | num | 当前画质代码`quality` | |
|
||||
| quality_description | array | 可选画质参数`quality` | |
|
||||
| durl | array | 直播流url组 | |
|
||||
|
||||
`accept_quality`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------------- | ---- |
|
||||
| 0 | str | `qn`画质代码1 | |
|
||||
| n | str | `qn`画质代码(n+1) | |
|
||||
| …… | str | …… | …… |
|
||||
|
||||
`quality_description`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------- | ---- |
|
||||
| 0 | obj | 画质代码1 | |
|
||||
| n | obj | 画质代码(n+1) | |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
`quality_description`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------------------- | ---- |
|
||||
| qn | num | 画质代码 | |
|
||||
| desc | str | 该代码对应的画质名称 | |
|
||||
|
||||
`durl`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | ---- |
|
||||
| 0 | obj | 主线服务器 | |
|
||||
| n | obj | 备线n服务器 | |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
`durl`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------------- | ---- | ------------- | ------------------------ |
|
||||
| url | str | 直播流url | flv或m3u8格式<br />**注:带有转义** |
|
||||
| length | num | 0 | 作用尚不明确 |
|
||||
| order | num | 服务器线路序号 | |
|
||||
| stream_type | num | 0 | 作用尚不明确 |
|
||||
| p2p_type | num | 0 | 作用尚不明确 |
|
||||
|
||||
**示例:**
|
||||
|
||||
查询直播间`cid=14073662`的直播间信息
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.live.bilibili.com/room/v1/Room/playUrl' \
|
||||
--data-urlencode 'cid=14073662' \
|
||||
--data-urlencode 'qn=10000' \
|
||||
--data-urlencode 'platform=web'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"current_quality": 3,
|
||||
"accept_quality": [
|
||||
"4",
|
||||
"3",
|
||||
"2"
|
||||
],
|
||||
"current_qn": 3,
|
||||
"quality_description": [
|
||||
{
|
||||
"qn": 4,
|
||||
"desc": "原画"
|
||||
},
|
||||
{
|
||||
"qn": 3,
|
||||
"desc": "高清"
|
||||
},
|
||||
{
|
||||
"qn": 2,
|
||||
"desc": "流畅"
|
||||
}
|
||||
],
|
||||
"durl": [
|
||||
{
|
||||
"url": "https://d1--cn-gotcha04.bilivideo.com/live-bvc/601131/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=20e4ac695fbdd1d11d5dac4f93caa783&ptype=0&src=9&sl=1&order=1",
|
||||
"length": 0,
|
||||
"order": 1,
|
||||
"stream_type": 0,
|
||||
"p2p_type": 0
|
||||
},
|
||||
{
|
||||
"url": "https://d1--cn-gotcha01.bilivideo.com/live-bvc/757951/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha01&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=9deea67bb9e9c1f0fa3886a34aa09473&ptype=0&src=9&sl=1&order=2",
|
||||
"length": 0,
|
||||
"order": 2,
|
||||
"stream_type": 0,
|
||||
"p2p_type": 0
|
||||
},
|
||||
{
|
||||
"url": "https://d1--cn-gotcha04.bilivideo.com/live-bvc/982058/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=8753b270960034660184d975d86c0161&ptype=0&src=9&sl=1&order=3",
|
||||
"length": 0,
|
||||
"order": 3,
|
||||
"stream_type": 0,
|
||||
"p2p_type": 0
|
||||
},
|
||||
{
|
||||
"url": "https://d1--cn-gotcha04.bilivideo.com/live-bvc/139554/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=cf93474e923c9ba8288c45d954f81045&ptype=0&src=9&sl=1&order=4",
|
||||
"length": 0,
|
||||
"order": 4,
|
||||
"stream_type": 0,
|
||||
"p2p_type": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -0,0 +1,742 @@
|
||||
# 直播间管理
|
||||
|
||||
## 开通直播间
|
||||
|
||||
> https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | -------------------- |
|
||||
| platform | str | 客户端? | 必要 | 默认值web |
|
||||
| visit_id | str | 未知 | | 默认空 |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| csrf_token | str | CSRF Token(位于 cookie) | | |
|
||||
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | -------- | ------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />1531193016:已经创建直播间~<br />-400:请求错误 |
|
||||
| ttl | str | 错误信息 | 默认为1 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| data | array | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ----- | ---------------- | ---------------------- |
|
||||
| roomID | str | 直播间房间号 | 创建成功返回直播间号 |
|
||||
|
||||
**示例:**
|
||||
|
||||
开通直播间
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \
|
||||
--data-urlencode 'platform=web' \
|
||||
--data-urlencode 'visit_id=' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
--data-urlencode 'csrf_token=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"roomID": "1234"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 1531193016,
|
||||
"message": "已经创建直播间~",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"roomID": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
## 更新直播间信息
|
||||
|
||||
> https://api.live.bilibili.com/room/v1/Room/update
|
||||
|
||||
*请求方式: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 | 平台标识 | 非必要 | |
|
||||
| visit_id | str | (?) | 非必要 | 某种标识? |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
|
||||
| title | str | 直播间标题 | 非必要 | 上限40个字符 |
|
||||
| area\_id | num | 直播分区id(子分区id) | 非必要 | 详见[直播分区](live_area.md) |
|
||||
| add\_tag | str | 要添加的标签 | 非必要 | 开播设置界面上限10个字符 |
|
||||
| del\_tag | str | 要删除的标签 | 非必要 | 若存在`add_tag`时不起作用 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | -------- | ------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-1:操作太频繁<br />1:错误<br />3:未登录或鉴权失败<br />405:不允许的请求方法<br />60009:分区已下线<br />65530:token错误(登录错误)<br /> |
|
||||
| msg | str | 错误信息 | 默认为ok |
|
||||
| message | str | 错误信息 | 默认为ok |
|
||||
| data | obj | 信息本体 | 部分失败情况下是`[]`(空数组) |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | ---- | ---- |
|
||||
| sub_session_key | str | 信息变动标识 | |
|
||||
| audit_info | obj | 标题审核信息 | |
|
||||
|
||||
`data`中的`audit_info`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------ | ---- | ---- | ---- |
|
||||
| audit_title_reason | str | 标题审核提示 | |
|
||||
| audit_title_status | num | 标题审核状态 | |
|
||||
| audit_title | str | 被审核的标题 | 更新标题时存在 |
|
||||
| update_title | str | `""` | 作用尚不明确 |
|
||||
|
||||
**示例:**
|
||||
|
||||
修改直播间`10352053`标题为`测试`
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
--data-urlencode 'room_id=10352053' \
|
||||
--data-urlencode 'title=测试' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code":0,
|
||||
"msg":"ok",
|
||||
"message":"ok",
|
||||
"data":{
|
||||
"sub_session_key":"",
|
||||
"audit_info":{
|
||||
"audit_title_reason":"先发后审",
|
||||
"update_title":"",
|
||||
"audit_title_status":2,
|
||||
"audit_title":"测试"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
修改直播间`10352053`分区为`40`
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
--data-urlencode 'room_id=10352053' \
|
||||
--data-urlencode 'area_id=40' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "ok",
|
||||
"message": "ok",
|
||||
"data": {
|
||||
"sub_session_key": "",
|
||||
"audit_info": {
|
||||
"audit_title_reason": "",
|
||||
"update_title": "",
|
||||
"audit_title_status": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
给直播间`11996900`添加一个标签为`测试标签`
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
--data-urlencode 'room_id=11996900' \
|
||||
--data-urlencode 'add_tag=测试标签' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "ok",
|
||||
"message": "ok",
|
||||
"data": {
|
||||
"sub_session_key": "",
|
||||
"audit_info": {
|
||||
"audit_title_reason": "",
|
||||
"update_title": "",
|
||||
"audit_title_status": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
给直播间`11996900`删除内容为`测试标签`的标签
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
--data-urlencode 'room_id=11996900' \
|
||||
--data-urlencode 'del_tag=测试标签' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "ok",
|
||||
"message": "ok",
|
||||
"data": {
|
||||
"sub_session_key": "",
|
||||
"audit_info": {
|
||||
"audit_title_reason": "",
|
||||
"update_title": "",
|
||||
"audit_title_status": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 开始直播
|
||||
|
||||
> https://api.live.bilibili.com/room/v1/Room/startLive
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
开播时必须有分区选择,开播后返回推流地址
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间 id |
|
||||
| area_v2 | num | 直播分区id(子分区 id) | 必要 | 详见[直播分区](live_area.md) |
|
||||
| platform | str | 直播平台 | 必要 | 可选值:`pc`、`pc_link` (直播姬 PC), `android_link` (直播姬 Android) |
|
||||
| csrf | str | CSRF Token(位于 cookie) | 必要 | |
|
||||
| csrf_token | str | CSRF Token(位于 cookie) | 非必要 | |
|
||||
| version | str | 直播姬版本号 | 非必要 | 建议与 `build` 一同提供,详见下方说明。可从[直播姬版本号获取](#直播姬版本号获取)接口获得。 |
|
||||
| build | num | 直播姬构建号 | 非必要 | 建议与 `version` 一同提供。 |
|
||||
| appkey | str | APP密钥 | 条件性必要 | 特定情况下必要,详见下方说明。 |
|
||||
| sign | str | APP API签名得到的 sign | 条件性必要 | 特定情况下必要,详见下方说明。 |
|
||||
|
||||
**说明**: 截止至 2025 年 7 月 20 日,部分账户不提供 `version` `build` `appkey` `sign` 也可获取推流码,部分账户会返回 `60024` (需要人脸认证),此时请尝试提供 `version` `build`,目前似乎没有校验,提供了就可以。(比如 `version:1.0.0` `build:1234`) 如果仍然返回 `60024`,请尝试提供 `appkey` `sign` 参数。如果你的 `version` 和 `build` 为 `7.19.0.9432` 和 `9432`,必须提供 `appkey` `sign`。
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0: 成功<br />-400: 请求错误<br />1: 错误<br />60009: 分区不存在<br />60013: 所在地区受实名认证限制无法开播<br />60024: 目标分区需要人脸认证<br />60034: 系统维护仅支持直播姬开播<br />60037: web在线开播已下线<br />65530: token错误 (登录失效)<br />**(其他错误码有待补充)** |
|
||||
| msg | str | 提示信息 | 默认为空 |
|
||||
| message | str | 提示信息 | 默认为空 |
|
||||
| data | obj | 信息本体 | 成功时返回 |
|
||||
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ----- | ---------------- | ---------------------- |
|
||||
| change | num | 是否改变状态 | 0:未改变<br />1:改变 |
|
||||
| status | str | 直播间状态 | `LIVE` |
|
||||
| room_type | num | 0 | 作用尚不明确 |
|
||||
| rtmp | obj | RTMP推流地址信息 | |
|
||||
| protocols | array | 推流协议、地址、密钥等信息<br />其中地址、密钥与 `rtmp` 字段的内容是一致的 | 协议只见到过 `rtmp` |
|
||||
| try_time | str | ??? | 作用尚不明确 |
|
||||
| live_key | str | 标记直播场次的key | |
|
||||
| sub_session_key | str | 信息变动标识 | |
|
||||
| notice | obj | ??? | 作用尚不明确 |
|
||||
| qr | str | `""` | 作用尚不明确 |
|
||||
| need_face_auth | bool | 需要人脸识别? | 作用尚不明确 |
|
||||
| service_source | str | ??? | 作用尚不明确 |
|
||||
| rtmp\_backup | null | ??? | 作用尚不明确 |
|
||||
| up_stream_extra | obj | 主播推流额外信息? | |
|
||||
|
||||
`data`中的`rtmp`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | -------------------------------- | ------------ |
|
||||
| addr | str | RTMP推流(发送)地址 | **重要** |
|
||||
| code | str | RTMP推流参数(密钥) | **重要** |
|
||||
| new_link | str | 获取CDN推流ip地址重定向信息的url | 没啥用 |
|
||||
| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 |
|
||||
|
||||
`data`中的`protocols`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------ | ------------ |
|
||||
| 0 | obj | 与 `rtmp` 字段在地址和密钥上相同的推流协议信息 | |
|
||||
|
||||
`data`中的`protocols`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | -------------------------------- | ------------ |
|
||||
| protocol | str | rtmp | 推流协议 |
|
||||
| addr | str | RTMP推流(发送)地址 | 格式为 `rtmp://<推流节点>/live-bvc/` |
|
||||
| code | str | RTMP推流参数(密钥) | 格式为 `?streamname=live_<B站UID>_<未知数字>&key=<密钥>&schedule=rtmp&pflag=<开播平台标志>` |
|
||||
| new_link | str | 获取CDN推流ip地址重定向信息的url | |
|
||||
| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 |
|
||||
|
||||
`data`中的`notice`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ---- | ---- | ------------ |
|
||||
| type | num | 1 | 作用尚不明确 |
|
||||
| status | num | 0 | 作用尚不明确 |
|
||||
| title | str | 空 | 作用尚不明确 |
|
||||
| msg | str | 空 | 作用尚不明确 |
|
||||
| button_text | str | 空 | 作用尚不明确 |
|
||||
| button_url | str | 空 | 作用尚不明确 |
|
||||
|
||||
`data`中的`up_stream_extra`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| isp | str | 主播的互联网服务提供商 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
以`27`作为分区id开播直播间`10352053`
|
||||
|
||||
其中`"data"."rtmp"."addr"`为推流地址
|
||||
|
||||
`"data"."rtmp"."code"`为推流参数
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
|
||||
--data-urlencode 'room_id=10352053' \
|
||||
--data-urlencode 'area_v2=27' \
|
||||
--data-urlencode 'platform=pc' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data":{
|
||||
"change": 1,
|
||||
"status": "LIVE",
|
||||
"try_time": "0000-00-00 00:00:00",
|
||||
"room_type": 0,
|
||||
"live_key": "608336837537435443",
|
||||
"sub_session_key": "608336837537435443sub_time:1747292297",
|
||||
"rtmp":{
|
||||
"type": 1,
|
||||
"addr": "rtmp://live-push.bilivideo.com/live-bvc/",
|
||||
"code": "?streamname=live_348892132_32373699\u0026key=e03061d4a7529d8eaa322dc4d330ca1c\u0026schedule=rtmp\u0026pflag=11",
|
||||
"new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De73061d8a7539d8eaa233dc4d880ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge",
|
||||
"provider": "live"
|
||||
},
|
||||
"protocols":[
|
||||
{
|
||||
"protocol": "rtmp",
|
||||
"addr": "rtmp://live-push.bilivideo.com/live-bvc/","code":"?streamname=live_348892132_32373699\u0026key=e73061d4a1002d8eaa322dc4d880ca1c\u0026schedule=rtmp\u0026pflag=11",
|
||||
"new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De10298d4a7539d8eaa322dc4d220ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge",
|
||||
"provider": "txy"
|
||||
}
|
||||
],
|
||||
"notice":{
|
||||
"type": 1,
|
||||
"status": 0,
|
||||
"title": "",
|
||||
"msg": "",
|
||||
"button_text": "",
|
||||
"button_url": ""
|
||||
},
|
||||
"qr": "",
|
||||
"need_face_auth": false,
|
||||
"service_source": "live-streaming",
|
||||
"rtmp_backup": null,
|
||||
"up_stream_extra":{
|
||||
"isp": "电信"
|
||||
}
|
||||
},
|
||||
"message": "",
|
||||
"msg": ""
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 关闭直播
|
||||
|
||||
> https://api.live.bilibili.com/room/v1/Room/stopLive
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | -------------------- |
|
||||
| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link<br />直播姬(android):android_link |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />-400:没有权限<br />60034: 系统维护仅支持直播姬关播<br />**(其他错误码有待补充)** |
|
||||
| msg | str | 提示信息 | 默认为空 |
|
||||
| message | str | 提示信息 | 默认为空 |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------ | ---- | ------------ | ---------------------- |
|
||||
| change | num | 是否改变状态 | 0:未改变<br />1:改变 |
|
||||
| status | str | 直播间状态 | `PREPARING`、`ROUND` |
|
||||
|
||||
**示例:**
|
||||
|
||||
关闭直播间`10352053`的直播
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \
|
||||
--data-urlencode 'platform=pc_link' \
|
||||
--data-urlencode 'room_id=10352053' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "",
|
||||
"message": "",
|
||||
"data": {
|
||||
"change": 1,
|
||||
"status": "PREPARING"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 预更新直播间信息
|
||||
|
||||
> 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 | 平台标识 | 必要 | 似乎可随意提供<br />网页端: web |
|
||||
| mobi_app | str | 平台标识? | 必要 | 似乎可随意提供<br />网页端: web |
|
||||
| build | num | 构建标识? | 必要 | 建议取`1`,似乎可随意提供 |
|
||||
| cover | str | 直播封面链接 | 非必要 | 图片链接需要在`.hdslb.com`域名下 |
|
||||
| title | str | 直播间标题 | 非必要 | 参见[更新直播间信息](#更新直播间信息)的title参数 |
|
||||
| coverVertical | str | (?) | 非必要 | 作用尚不明确 |
|
||||
| liveDirectionType | num | (?) | 非必要 | `1` |
|
||||
| visit_id | str | (?) | 非必要 | `""` |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | 0: 成功<br />1: 错误<br />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'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data":{
|
||||
"audit_info":{
|
||||
"audit_title": "",
|
||||
"audit_title_status": 0,
|
||||
"audit_title_reason": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
使用此接口更新直播间标题
|
||||
|
||||
```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'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data":{
|
||||
"audit_info":{
|
||||
"audit_title": "你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧",
|
||||
"audit_title_status": 2,
|
||||
"audit_title_reason": "先发后审"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 更新直播间公告
|
||||
|
||||
> https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | --------------------- |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
|
||||
| uid | num | 用户id | 必要 | |
|
||||
| content | str | 公告内容 | 必要 | 最大60个字符,可以为空 |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| csrf_token | str | CSRF Token(位于 cookie) | | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ----- | -------- | ------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />1:错误 |
|
||||
| data | array | 空 | |
|
||||
| message | str | 错误信息 | 默认为ok |
|
||||
| ttl | num | 1 | 作用尚不明确 |
|
||||
|
||||
**示例:**
|
||||
|
||||
修改直播间`11996900`公告为`测试修改公告`
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews' \
|
||||
--data-urlencode 'room_id=11996900' \
|
||||
--data-urlencode 'uid=306903238' \
|
||||
--data-urlencode 'content=测试修改公告' \
|
||||
--data-urlencode 'csrf_token=xxx' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## PC直播姬版本号获取
|
||||
> https://api.live.bilibili.com/xlive/app-blink/v1/liveVersionInfo/getHomePageLiveVersion
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无
|
||||
|
||||
鉴权方式:无
|
||||
|
||||
**请求参数 (Query):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | --------------------- |
|
||||
| appkey | str | APP密钥 | 不必要 |使用PC投稿工具的appkey和appsec|
|
||||
| sign | str | APP API签名得到的sign | 不必要 | |
|
||||
| system_version | num | 暂不清楚 | 必要 | 可以直接写2 |
|
||||
| ts | num | 10位时间戳 | 不必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ----- | -------- | ------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-400:请求错误 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | 作用尚不明确 |
|
||||
| data | obj | 内容本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | ------------------------ | ---------------------- |
|
||||
| curr_version | str | 直播姬最新版本号 | |
|
||||
| build | num | 直播姬构建号 | |
|
||||
| instruction | str | 更新说明(简要) | |
|
||||
| file_size | str | 文件大小(字节) | |
|
||||
| file_md5 | str | 安装包文件MD5 | |
|
||||
| content | str | HTML格式的更新内容 | |
|
||||
| download_url | str | 安装包下载链接 | |
|
||||
| hdiffpatch_switch | num | 增量更新开关? | |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取直播姬最新版本信息
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-blink/v1/liveVersionInfo/getHomePageLiveVersion?appkey=aae92bc66f3edfab&sign=49d289e3ad34c509cc66fbee1c0affec&system_version=2&ts=1752971145'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"curr_version": "7.19.0.9432",
|
||||
"build": 9432,
|
||||
"instruction": "\u3010\u65b0\u589e\u3011\u65b0\u589e\u7f8e\u989c\u8c03\u6574\u5165\u53e3\n\u3010\u4f18\u5316\u3011\u5df2\u77e5\u95ee\u9898\u4f18\u5316",
|
||||
"file_size": "300867136",
|
||||
"file_md5": "e1619a8e2603aa94b58a58121f94403f",
|
||||
"content": "<p>\u3010\u65b0\u589e\u3011\u65b0\u589e\u7f8e\u989c\u8c03\u6574\u5165\u53e3<br>\u3010\u4f18\u5316\u3011\u5df2\u77e5\u95ee\u9898\u4f18\u5316</p><p></p><p><br></p>",
|
||||
"download_url": "https://dl.hdslb.com/bili/bililive/win/Livehime-Win-beta-7.19.0.9432-x64.exe",
|
||||
"hdiffpatch_switch": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,717 @@
|
||||
# 直播推荐
|
||||
|
||||
## 主页获取直播推荐
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getMoreRecList
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------ | ------ | ---------- | ------ | ---- |
|
||||
| platform | string | 平台类型 | 必要 | 默认为 `web`, 实测可为任意非空串 |
|
||||
| web_location | string | `333.1007` | 非必要 | |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | -------- | ---- |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| message | string | 错误信息 | 默认为 `0` |
|
||||
| ttl | number | 1 | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------- | ------ | ------------- | -------- |
|
||||
| recommend_room_list | Array | 推荐房间列表 | 套了个娃 |
|
||||
| top_room_id | number | 置顶直播间号? | |
|
||||
|
||||
`data` 对象中 `recommend_room_list` 数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------------------- | -------------- | ---------------- | ---- |
|
||||
| head_box | object \| null | 头像框 | 无则为 `null` |
|
||||
| area_v2_id | number | 分区 ID | |
|
||||
| area_v2_parent_id | number | 父分区 ID | |
|
||||
| area_v2_name | string | 分区名称 | |
|
||||
| area_v2_parent_name | string | 父分区名称 | |
|
||||
| broadcast_type | number | 广播类型? | |
|
||||
| cover | string | 封面 URL | |
|
||||
| link | string | 直播间链接 | 仅 `pathname` 与 `query` 部分 |
|
||||
| online | number | 观看人数 | |
|
||||
| pendant_Info | object | ??? | 作用尚不明确 |
|
||||
| roomid | number | 直播间 ID | |
|
||||
| title | string | 直播间标题 | |
|
||||
| uname | string | 主播用户名 | |
|
||||
| face | string | 主播头像 URL | |
|
||||
| verify | object | 认证信息 | 参见 [用户基本信息](../user/info.md) |
|
||||
| uid | number | 主播用户 mid | |
|
||||
| keyframe | string | 关键帧 URL | |
|
||||
| is_auto_play | number | 是否自动播放? | |
|
||||
| head_box_type | number | 头像框类型? | |
|
||||
| flag | number | 标记? | 作用尚不明确 |
|
||||
| session_id | string | 会话 ID? | 格式为: 本次请求相同的小写无分隔 UUID + 下划线 + 大写以连字符分隔的 UUID |
|
||||
| show_callback | string | 展示回调 URL? | |
|
||||
| click_callback | string | 点击回调 URL? | |
|
||||
| special_id | number | 特殊 ID? | 作用尚不明确 |
|
||||
| watched_show | object | 观看展示 | 见下 |
|
||||
| is_nft | number | 是否为 NFT 头像? | |
|
||||
| nft_dmark | string | ??? | 作用尚不明确 |
|
||||
| is_ad | boolean | 是否为广告 | |
|
||||
| ad_transparent_content | unknown | ??? | 作用尚不明确 |
|
||||
| show_ad_icon | boolean | 显示广告图标 | |
|
||||
| status | boolean | 状态? | 作用尚不明确 |
|
||||
| followers | number | 0 | 作用尚不明确 |
|
||||
|
||||
`recommend_room_list` 数组中的对象中的 `watched_show` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------- | ------- | -------- | ---- |
|
||||
| switch | boolean | ??? | 作用尚不明确 |
|
||||
| num | number | 看过人数 | |
|
||||
| text_small | string | 小文本 | xxx |
|
||||
| text_large | string | 大文本 | xxx人看过 |
|
||||
| icon | string | 图标 URL | 浅色线条眼睛图标 |
|
||||
| icon_location | number | 0 | |
|
||||
| icon_web | string | 图标 URL | 深色线条眼睛图标 (Web 端) |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getMoreRecList' \
|
||||
--url-query 'platform=web'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"recommend_room_list": [
|
||||
{
|
||||
"head_box": null,
|
||||
"area_v2_id": 237,
|
||||
"area_v2_parent_id": 6,
|
||||
"area_v2_name": "怀旧游戏",
|
||||
"area_v2_parent_name": "单机游戏",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/34aedc9409c0abaf622fdb9c6137896b8a9f95d0.jpg",
|
||||
"link": "/923833?hotRank=0",
|
||||
"online": 262700,
|
||||
"pendant_Info": {},
|
||||
"roomid": 923833,
|
||||
"title": "融合版斗蛐蛐s3.5赛季!",
|
||||
"uname": "沉默寡言白河愁",
|
||||
"face": "https://i0.hdslb.com/bfs/face/14169798ca31108e4441e790c14b24706def67a3.jpg",
|
||||
"verify": {
|
||||
"role": 1,
|
||||
"desc": "bilibili 知名游戏UP主、直播高能主播",
|
||||
"type": 0
|
||||
},
|
||||
"uid": 34646754,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000000923833okbn8y.jpg",
|
||||
"is_auto_play": 1,
|
||||
"head_box_type": 0,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_9A44BEBD-CAEB-46AD-8FD7-B91BA8471EAA",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_9A44BEBD-CAEB-46AD-8FD7-B91BA8471EAA&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=923833&parent_id=6&area_id=237&page=0&position=1&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_9A44BEBD-CAEB-46AD-8FD7-B91BA8471EAA&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=923833&parent_id=6&area_id=237&page=0&position=1&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 30460,
|
||||
"text_small": "3.0万",
|
||||
"text_large": "3.0万人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": {
|
||||
"name": "大乱斗乱斗之王",
|
||||
"value": "https://i0.hdslb.com/bfs/live/fc28a2a4123154012e0ce3da1273de5f17e81b24.png",
|
||||
"desc": ""
|
||||
},
|
||||
"area_v2_id": 817,
|
||||
"area_v2_parent_id": 5,
|
||||
"area_v2_name": "男声电台",
|
||||
"area_v2_parent_name": "电台",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/b15e3a1045321a7ffa7da08a47a276ca37557ef1.jpg",
|
||||
"link": "/32190922?hotRank=0",
|
||||
"online": 45487,
|
||||
"pendant_Info": {
|
||||
"2": {
|
||||
"type": "mobile_index_badge",
|
||||
"name": "福佑嘉年",
|
||||
"position": 2,
|
||||
"text": "省级亚军",
|
||||
"bg_color": "#FB9E60",
|
||||
"bg_pic": "http://i0.hdslb.com/bfs/live/13819a59895263cb25cc2ead3fecfaa3e864aac8.png",
|
||||
"pendant_id": 1750,
|
||||
"priority": 200,
|
||||
"created_at": 1738512313
|
||||
}
|
||||
},
|
||||
"roomid": 32190922,
|
||||
"title": "我想我们会幸福美满",
|
||||
"uname": "黑羊Klein",
|
||||
"face": "https://i2.hdslb.com/bfs/face/307c62a8b30a6dcfc02e9670e5dc10d0ecec6921.jpg",
|
||||
"verify": {
|
||||
"role": 0,
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"uid": 1989648419,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071536000032190922ma6cnx.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 1,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_178A3B8F-86C1-4831-9DBB-9788C2445752",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_178A3B8F-86C1-4831-9DBB-9788C2445752&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=32190922&parent_id=5&area_id=817&page=0&position=2&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_178A3B8F-86C1-4831-9DBB-9788C2445752&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=32190922&parent_id=5&area_id=817&page=0&position=2&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 491,
|
||||
"text_small": "491",
|
||||
"text_large": "491人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": null,
|
||||
"area_v2_id": 654,
|
||||
"area_v2_parent_id": 2,
|
||||
"area_v2_name": "诛仙世界",
|
||||
"area_v2_parent_name": "网游",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/fdad2cfb408510df56a01af66254f630ee4b86b8.jpg",
|
||||
"link": "/25959685?hotRank=0",
|
||||
"online": 2151,
|
||||
"pendant_Info": {},
|
||||
"roomid": 25959685,
|
||||
"title": "免费接所有职业,死灵渊!只要收益",
|
||||
"uname": "哦-是大一啊",
|
||||
"face": "https://i1.hdslb.com/bfs/face/f83290ab5667f9c1ed778fb9c7c9cf6bf7624d4e.jpg",
|
||||
"verify": {
|
||||
"role": 0,
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"uid": 361517464,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000025959685tx1grb.jpg",
|
||||
"is_auto_play": 1,
|
||||
"head_box_type": 0,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_FB0DABE2-6A09-4EB7-8D2B-A4F892243A96",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_FB0DABE2-6A09-4EB7-8D2B-A4F892243A96&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=25959685&parent_id=2&area_id=654&page=0&position=3&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_FB0DABE2-6A09-4EB7-8D2B-A4F892243A96&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=25959685&parent_id=2&area_id=654&page=0&position=3&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 269,
|
||||
"text_small": "269",
|
||||
"text_large": "269人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": {
|
||||
"name": "钻石传说",
|
||||
"value": "https://i0.hdslb.com/bfs/live/2007dc239982e909a3c9971c27968e5c0a872917.png",
|
||||
"desc": ""
|
||||
},
|
||||
"area_v2_id": 192,
|
||||
"area_v2_parent_id": 5,
|
||||
"area_v2_name": "聊天电台",
|
||||
"area_v2_parent_name": "电台",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/22f1fcac8d9764901005ae5867a8c6b589b93ac5.jpg",
|
||||
"link": "/31169918?hotRank=0",
|
||||
"online": 27764,
|
||||
"pendant_Info": {},
|
||||
"roomid": 31169918,
|
||||
"title": "东北最后的温柔",
|
||||
"uname": "关关-苏苏冠",
|
||||
"face": "https://i2.hdslb.com/bfs/face/14f5102417107a6535c11ec9ad99050f7d712a17.jpg",
|
||||
"verify": {
|
||||
"role": 0,
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"uid": 3537120278874479,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071532000031169918qep44l.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 1,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_3E272538-AA76-4953-BF21-5BB19ECFEE28",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_3E272538-AA76-4953-BF21-5BB19ECFEE28&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=31169918&parent_id=5&area_id=192&page=0&position=4&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_3E272538-AA76-4953-BF21-5BB19ECFEE28&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=31169918&parent_id=5&area_id=192&page=0&position=4&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 297,
|
||||
"text_small": "297",
|
||||
"text_large": "297人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": null,
|
||||
"area_v2_id": 82,
|
||||
"area_v2_parent_id": 2,
|
||||
"area_v2_name": "剑网3",
|
||||
"area_v2_parent_name": "网游",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/user_cover/9551fbb571b35bac3702c47e955177f17cab5cd2.jpg",
|
||||
"link": "/2849730?hotRank=0",
|
||||
"online": 4008,
|
||||
"pendant_Info": {},
|
||||
"roomid": 2849730,
|
||||
"title": "午间陪伴花间刷币",
|
||||
"uname": "o诡墨o",
|
||||
"face": "https://i1.hdslb.com/bfs/face/43ab308f836eb352aa4d541b55aafab2fa4435aa.jpg",
|
||||
"verify": {
|
||||
"role": 0,
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"uid": 71574442,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000002849730qo0792.jpg",
|
||||
"is_auto_play": 1,
|
||||
"head_box_type": 0,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_4BAFD91A-DDED-4655-BE47-064A6152BF9B",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_4BAFD91A-DDED-4655-BE47-064A6152BF9B&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=2849730&parent_id=2&area_id=82&page=0&position=5&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_4BAFD91A-DDED-4655-BE47-064A6152BF9B&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=2849730&parent_id=2&area_id=82&page=0&position=5&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 204,
|
||||
"text_small": "204",
|
||||
"text_large": "204人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": {
|
||||
"name": "迷梦幻境头像框",
|
||||
"value": "https://i0.hdslb.com/bfs/garb/open/d272c8cdb2ab737f5aa3c1cf5a27db274e0ce034.png",
|
||||
"desc": ""
|
||||
},
|
||||
"area_v2_id": 744,
|
||||
"area_v2_parent_id": 9,
|
||||
"area_v2_name": "虚拟Singer",
|
||||
"area_v2_parent_name": "虚拟主播",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/6e68e5c4f3d720e6f14952174be848383b879dad.jpg",
|
||||
"link": "/21603945?hotRank=0",
|
||||
"online": 10606,
|
||||
"pendant_Info": {},
|
||||
"roomid": 21603945,
|
||||
"title": "听歌碎碎念!~",
|
||||
"uname": "Minicatty",
|
||||
"face": "https://i0.hdslb.com/bfs/face/812d9ea6f3420d5c58ff455408275563f03fb861.jpg",
|
||||
"verify": {
|
||||
"role": 7,
|
||||
"desc": "bilibili 直播高能主播",
|
||||
"type": 0
|
||||
},
|
||||
"uid": 423902976,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe02071535000021603945pekr70.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 2,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_56778C3F-4B14-4C78-8DF8-53721196E8D8",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_56778C3F-4B14-4C78-8DF8-53721196E8D8&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=21603945&parent_id=9&area_id=744&page=0&position=6&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_56778C3F-4B14-4C78-8DF8-53721196E8D8&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=21603945&parent_id=9&area_id=744&page=0&position=6&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 235,
|
||||
"text_small": "235",
|
||||
"text_large": "235人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": null,
|
||||
"area_v2_id": 80,
|
||||
"area_v2_parent_id": 2,
|
||||
"area_v2_name": "吃鸡行动",
|
||||
"area_v2_parent_name": "网游",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/fa7292a8741a40a612a1c466da58b7f9cc08f363.jpg",
|
||||
"link": "/22976905?hotRank=0",
|
||||
"online": 8536,
|
||||
"pendant_Info": {},
|
||||
"roomid": 22976905,
|
||||
"title": "全是细节!",
|
||||
"uname": "菠萝鸽",
|
||||
"face": "https://i1.hdslb.com/bfs/face/f073d24cbb992b4589825896de3fb9bc559ba180.jpg",
|
||||
"verify": {
|
||||
"role": 1,
|
||||
"desc": "bilibili 知名游戏UP主、直播高能主播",
|
||||
"type": 0
|
||||
},
|
||||
"uid": 1849164526,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715350000229769056wy0mu.jpg",
|
||||
"is_auto_play": 1,
|
||||
"head_box_type": 0,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_CE3B32EC-E84D-4545-A693-97882454E0ED",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_CE3B32EC-E84D-4545-A693-97882454E0ED&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=22976905&parent_id=2&area_id=80&page=0&position=7&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_CE3B32EC-E84D-4545-A693-97882454E0ED&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=22976905&parent_id=2&area_id=80&page=0&position=7&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 919,
|
||||
"text_small": "919",
|
||||
"text_large": "919人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": null,
|
||||
"area_v2_id": 646,
|
||||
"area_v2_parent_id": 10,
|
||||
"area_v2_name": "生活杂谈",
|
||||
"area_v2_parent_name": "生活",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/833e4d5449bcb4e425eb6399e0ef71f06903d083.jpg",
|
||||
"link": "/21291747?hotRank=0",
|
||||
"online": 38125,
|
||||
"pendant_Info": {},
|
||||
"roomid": 21291747,
|
||||
"title": "哪吒抢了封神票房?",
|
||||
"uname": "陈哥惜命天涯",
|
||||
"face": "https://i1.hdslb.com/bfs/face/d2c7e9c9b918ec969b2e15a5f2194bae3acd966e.jpg",
|
||||
"verify": {
|
||||
"role": 0,
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"uid": 286563388,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe0207153000002129174742tpke.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 0,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_63BEC7F6-172E-46FC-BBAD-8CD3547AE6C1",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_63BEC7F6-172E-46FC-BBAD-8CD3547AE6C1&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=21291747&parent_id=10&area_id=646&page=0&position=8&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_63BEC7F6-172E-46FC-BBAD-8CD3547AE6C1&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=21291747&parent_id=10&area_id=646&page=0&position=8&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 3107,
|
||||
"text_small": "3107",
|
||||
"text_large": "3107人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": {
|
||||
"name": "Lirin兔耳娘 收藏集",
|
||||
"value": "https://i2.hdslb.com/bfs/garb/open/41e2a2e3693f49e0b721c443fd784aa533456c49.png",
|
||||
"desc": ""
|
||||
},
|
||||
"area_v2_id": 745,
|
||||
"area_v2_parent_id": 9,
|
||||
"area_v2_name": "虚拟Gamer",
|
||||
"area_v2_parent_name": "虚拟主播",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/b444bc87fbe1b346184f061efaffff21b24371f1.jpg",
|
||||
"link": "/23797026?hotRank=0",
|
||||
"online": 13294,
|
||||
"pendant_Info": {},
|
||||
"roomid": 23797026,
|
||||
"title": "日v 萌新玩玩三角洲♡",
|
||||
"uname": "樱咲奈央_Official",
|
||||
"face": "https://i2.hdslb.com/bfs/face/163330968a4a5fc8f31e9da9e919bbc258ecf40c.jpg",
|
||||
"verify": {
|
||||
"role": 7,
|
||||
"desc": "bilibili直播高能主播",
|
||||
"type": 0
|
||||
},
|
||||
"uid": 1880188304,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715310000237970260gnmn1.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 2,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_691E1F11-4960-4707-92EF-0F0D996E434C",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_691E1F11-4960-4707-92EF-0F0D996E434C&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=23797026&parent_id=9&area_id=745&page=0&position=9&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_691E1F11-4960-4707-92EF-0F0D996E434C&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=23797026&parent_id=9&area_id=745&page=0&position=9&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 999,
|
||||
"text_small": "999",
|
||||
"text_large": "999人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": null,
|
||||
"area_v2_id": 624,
|
||||
"area_v2_parent_id": 10,
|
||||
"area_v2_name": "电子榨菜",
|
||||
"area_v2_parent_name": "生活",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/user_cover/a8a7681eaf20e43e16444e502106a436eb0e454c.jpg",
|
||||
"link": "/1831473323?hotRank=0",
|
||||
"online": 6510,
|
||||
"pendant_Info": {},
|
||||
"roomid": 1831473323,
|
||||
"title": "粤语片-法证1",
|
||||
"uname": "曦曦每天都开心呀",
|
||||
"face": "https://i1.hdslb.com/bfs/face/aa2112252080ec2298ea51b129c842fea7ed58f5.jpg",
|
||||
"verify": {
|
||||
"role": 0,
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"uid": 1434707683,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715350018314733230k1dhu.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 0,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_947BC1A4-E0F4-4ECE-AE40-9D9817848F9A",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_947BC1A4-E0F4-4ECE-AE40-9D9817848F9A&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=1831473323&parent_id=10&area_id=624&page=0&position=10&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_947BC1A4-E0F4-4ECE-AE40-9D9817848F9A&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=1831473323&parent_id=10&area_id=624&page=0&position=10&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 1446,
|
||||
"text_small": "1446",
|
||||
"text_large": "1446人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": {
|
||||
"name": "帕里",
|
||||
"value": "https://i0.hdslb.com/bfs/garb/item/7c9cd30bfab66e9490d8a03fc48754cdb12b4901.png",
|
||||
"desc": ""
|
||||
},
|
||||
"area_v2_id": 745,
|
||||
"area_v2_parent_id": 9,
|
||||
"area_v2_name": "虚拟Gamer",
|
||||
"area_v2_parent_name": "虚拟主播",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/bd898138564a7e892e05dd1ff9cf9c34bdd9cb5b.jpg",
|
||||
"link": "/42512?hotRank=0",
|
||||
"online": 11612,
|
||||
"pendant_Info": {},
|
||||
"roomid": 42512,
|
||||
"title": "【文明7】使臣,你去死一下,然后我发兵",
|
||||
"uname": "优礼子Ghaast",
|
||||
"face": "https://i0.hdslb.com/bfs/face/e3f05d5b7bf56c57f55026676da71cc487d93988.jpg",
|
||||
"verify": {
|
||||
"role": 7,
|
||||
"desc": "bilibili直播高能主播",
|
||||
"type": 0
|
||||
},
|
||||
"uid": 6141432,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715350000000425126wxphk.jpg",
|
||||
"is_auto_play": 0,
|
||||
"head_box_type": 2,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_0517EBF3-EE5C-4967-A77A-9DB3F89A58A8",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_0517EBF3-EE5C-4967-A77A-9DB3F89A58A8&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=42512&parent_id=9&area_id=745&page=0&position=11&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_0517EBF3-EE5C-4967-A77A-9DB3F89A58A8&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=42512&parent_id=9&area_id=745&page=0&position=11&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 1998,
|
||||
"text_small": "1998",
|
||||
"text_large": "1998人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
},
|
||||
{
|
||||
"head_box": {
|
||||
"name": "百人舰队主播头像",
|
||||
"value": "https://i0.hdslb.com/bfs/vc/071eb10548fe9bc482ff69331983d94192ce9507.png",
|
||||
"desc": ""
|
||||
},
|
||||
"area_v2_id": 102,
|
||||
"area_v2_parent_id": 2,
|
||||
"area_v2_name": "最终幻想14",
|
||||
"area_v2_parent_name": "网游",
|
||||
"broadcast_type": 0,
|
||||
"cover": "https://i0.hdslb.com/bfs/live/new_room_cover/9370e1bbda854c8ac3b9a2a9a6e960106f307580.jpg",
|
||||
"link": "/1897222?hotRank=0",
|
||||
"online": 80052,
|
||||
"pendant_Info": {
|
||||
"1": {
|
||||
"type": "mobile_index_badge",
|
||||
"name": "百人成就",
|
||||
"position": 1,
|
||||
"text": "",
|
||||
"bg_color": "#FB9E60",
|
||||
"bg_pic": "https://i0.hdslb.com/bfs/live/539ce26c45cd4019f55b64cfbcedc3c01820e539.png",
|
||||
"pendant_id": 426,
|
||||
"priority": 1,
|
||||
"created_at": 1738857680
|
||||
}
|
||||
},
|
||||
"roomid": 1897222,
|
||||
"title": "鸟区pvp",
|
||||
"uname": "猫姐姐nya",
|
||||
"face": "https://i1.hdslb.com/bfs/face/acc5559db9494af780b05fbf05c158995c48d023.jpg",
|
||||
"verify": {
|
||||
"role": 1,
|
||||
"desc": "bilibili 知名游戏UP主",
|
||||
"type": 0
|
||||
},
|
||||
"uid": 41377819,
|
||||
"keyframe": "https://i0.hdslb.com/bfs/live-key-frame/keyframe020715360000018972225sqtbh.jpg",
|
||||
"is_auto_play": 1,
|
||||
"head_box_type": 1,
|
||||
"flag": 0,
|
||||
"session_id": "4b58e9bf85ef0539525f1c7b1467a5b8_93F5FBE6-4F84-40C9-AEA1-149E9D5D366E",
|
||||
"group_id": 1000217,
|
||||
"show_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_93F5FBE6-4F84-40C9-AEA1-149E9D5D366E&group_id=1000217&biz=live&event_id=live_card_show&rule_key=&special_id=0&roomid=1897222&parent_id=2&area_id=102&page=0&position=12&platform=web",
|
||||
"click_callback": "https://live-trace.bilibili.com/xlive/data-interface/v1/index/log?sessionID=4b58e9bf85ef0539525f1c7b1467a5b8_93F5FBE6-4F84-40C9-AEA1-149E9D5D366E&group_id=1000217&biz=live&event_id=live_card_click&rule_key=&special_id=0&roomid=1897222&parent_id=2&area_id=102&page=0&position=12&platform=web",
|
||||
"special_id": 0,
|
||||
"watched_show": {
|
||||
"switch": true,
|
||||
"num": 2930,
|
||||
"text_small": "2930",
|
||||
"text_large": "2930人看过",
|
||||
"icon": "https://i0.hdslb.com/bfs/live/a725a9e61242ef44d764ac911691a7ce07f36c1d.png",
|
||||
"icon_location": 0,
|
||||
"icon_web": "https://i0.hdslb.com/bfs/live/8d9d0f33ef8bf6f308742752d13dd0df731df19c.png"
|
||||
},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "",
|
||||
"is_ad": false,
|
||||
"ad_transparent_content": null,
|
||||
"show_ad_icon": false,
|
||||
"status": false,
|
||||
"followers": 0
|
||||
}
|
||||
],
|
||||
"top_room_id": 0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -0,0 +1,126 @@
|
||||
# 直播间人气红包
|
||||
|
||||
## 获取指定直播间的红包信息
|
||||
|
||||
> https://api.live.bilibili.com/xlive/lottery-interface/v1/lottery/getLotteryInfoWeb
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式(可选):Cookie(SESSDATA)
|
||||
|
||||
如果不携带Cookie信息,user_status将始终返回2(未参与)。
|
||||
|
||||
如果所查询的直播间无红包,popularity_red_pocket为null。
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ---------------- | ------ | ---- |
|
||||
| roomid | str | 直播间id | 必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | ---------- | ------------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | 0:成功 |
|
||||
| ttl | num | TimeToLive | 正常为1 |
|
||||
| data | object | 返回数据 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | ---- |
|
||||
| popularity_red_pocket | array | 人气红包信息 | |
|
||||
| …… | ...... | …… | …… |
|
||||
|
||||
`popularity_red_pocket`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---------- | ---- |
|
||||
| lot_id | num | 红包id | |
|
||||
| sender_uid | num | 红包发送者uid | |
|
||||
| sender_name | str | 红包发送者昵称 | |
|
||||
| sender_face | str | 红包发送者头像 | |
|
||||
| join_requirement | num | 参与条件? | |
|
||||
| danmu | str | 参与红包时自动发送的弹幕内容 | |
|
||||
| awards | array | 红包内容 | |
|
||||
| lot_status | num | 未知 | |
|
||||
| h5_url | str | 红包界面 | |
|
||||
| user_status | num | 用户是否已参与 | 1:已参与 2:未参与 |
|
||||
| lot_config_id | num | 未知 | |
|
||||
| total_price | num | 红包总计价格 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
查询房间号为24146996的直播间红包信息:
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.live.bilibili.com/xlive/lottery-interface/v1/lottery/getLotteryInfoWeb?roomid=24146996'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"pk": null,
|
||||
"guard": null,
|
||||
"gift": null,
|
||||
"storm": null,
|
||||
"silver": null,
|
||||
"activity_box": {
|
||||
"ACTIVITY_ID": 0,
|
||||
"ACTIVITY_PIC": ""
|
||||
},
|
||||
"danmu": null,
|
||||
"anchor": null,
|
||||
"red_pocket": null,
|
||||
"popularity_red_pocket": [{
|
||||
"lot_id": 622474,
|
||||
"sender_uid": 1651908873,
|
||||
"sender_name": "九泽糖糖の小蘑菇",
|
||||
"sender_face": "http://i0.hdslb.com/bfs/face/c932c5c8b1607fe2e1da22b9780af19662dac939.jpg",
|
||||
"join_requirement": 1,
|
||||
"danmu": "老板大气!点点红包抽礼物!",
|
||||
"awards": [{
|
||||
"gift_id": 31212,
|
||||
"num": 2,
|
||||
"gift_name": "打call",
|
||||
"gift_pic": "https://s1.hdslb.com/bfs/live/f75291a0e267425c41e1ce31b5ffd6bfedc6f0b6.png"
|
||||
}, {
|
||||
"gift_id": 31214,
|
||||
"num": 3,
|
||||
"gift_name": "牛哇",
|
||||
"gift_pic": "https://s1.hdslb.com/bfs/live/23475a7a6170e0d94ba52720e23060dc7604b735.png"
|
||||
}, {
|
||||
"gift_id": 31216,
|
||||
"num": 3,
|
||||
"gift_name": "i了i了",
|
||||
"gift_pic": "https://s1.hdslb.com/bfs/live/1157a445487b39c0b7368d91b22290c60fa665b2.png"
|
||||
}],
|
||||
"start_time": 1645358104,
|
||||
"end_time": 1645358284,
|
||||
"last_time": 180,
|
||||
"remove_time": 1645358299,
|
||||
"replace_time": 1645358294,
|
||||
"current_time": 1645358231,
|
||||
"lot_status": 1,
|
||||
"h5_url": "https://live.bilibili.com/p/html/live-app-red-envelope/popularity.html?is_live_half_webview=1\u0026hybrid_half_ui=1,5,100p,100p,000000,0,50,0,0,1;2,5,100p,100p,000000,0,50,0,0,1;3,5,100p,100p,000000,0,50,0,0,1;4,5,100p,100p,000000,0,50,0,0,1;5,5,100p,100p,000000,0,50,0,0,1;6,5,100p,100p,000000,0,50,0,0,1;7,5,100p,100p,000000,0,50,0,0,1;8,5,100p,100p,000000,0,50,0,0,1\u0026hybrid_rotate_d=1\u0026hybrid_biz=popularityRedPacket\u0026lotteryId=622474",
|
||||
"user_status": 1,
|
||||
"lot_config_id": 3,
|
||||
"total_price": 1600
|
||||
}],
|
||||
"activity_box_info": null
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -0,0 +1,66 @@
|
||||
# 直播心跳上报
|
||||
|
||||
## 直播心跳 (Web端)
|
||||
|
||||
> https://live-trace.bilibili.com/xlive/rdata-interface/v1/heartbeat/webHeartBeat
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | --------- | ----------- | ----------------- |
|
||||
| hb | str | heartbeat 正文 | 不必要 | 使用 base64 编码 |
|
||||
| pf | str | 平台名称 | 不必要 | 可为 `web` |
|
||||
|
||||
`hb` 解码参数:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| -- | ---- | ---- | ---- |
|
||||
| 0 | num | 上次返回的 next_interval 值 | 默认 60 |
|
||||
| 1 | num | 真实直播间号 | |
|
||||
| 2 | num | 1 | 作用尚不明确 |
|
||||
| 3 | num | 0 | 作用尚不明确 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| code | num | 返回值 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| next_interval | num | 下次心跳间隔 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
上报直播间 26863308 的心跳
|
||||
|
||||
```shell
|
||||
curl -G "https://live-trace.bilibili.com/xlive/rdata-interface/v1/heartbeat/webHeartBeat" \
|
||||
--data-urlencode "hb=$(echo "60|26863308|1|0" | base64 -)" \
|
||||
--data-urlencode "pf=web"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"next_interval": 60
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -0,0 +1,219 @@
|
||||
# 直播间禁言相关 API
|
||||
|
||||
## 禁言观众
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/AddSilentUser
|
||||
|
||||
*请求方式:post*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | --- | ---------- | --- | ------------------ |
|
||||
| room_id | str | 直播间Id | 必要 | |
|
||||
| tuid | str | 要禁言的uid | 必要 | |
|
||||
| msg | str | 要禁言的弹幕内容 | 非必要 | |
|
||||
| mobile_app | str | web | 必要 | 定值"web"即可 |
|
||||
| hour | num | 禁言时长 | 必要 | -1为永久,0为本场直播 |
|
||||
| csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
|
||||
| csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
|
||||
| visit_id | str | 不明 | 非必要 | |
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | --- | ---- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | 默认为 "0" |
|
||||
| ttl | str | 1 | |
|
||||
| data | obj | 信息本体 | 成功为空 |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/AddSilentUser' \
|
||||
--data-urlencode 'room_id=xxxxxx' \
|
||||
--data-urlencode 'tuid=xxx' \
|
||||
--data-urlencode 'msg=xxxx' \
|
||||
--data-urlencode 'mobile_app=web' \
|
||||
--data-urlencode 'csrf_token=xx' \
|
||||
--data-urlencode 'csrf=xx' \
|
||||
--data-urlencode 'visit_id=' \
|
||||
-H 'Content-Type:application/x-www-form-urlencoded' \
|
||||
-b 'SESSDATA=xxx; bili_jct=xx;'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{"code":0,"message":"0","ttl":1,"data":{}}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 查询直播间禁言列表
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/GetSilentUserList
|
||||
|
||||
*请求方式:post*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | --- | ---------- | --- | ------------------ |
|
||||
| room_id | str | 直播间Id | 必要 | |
|
||||
| ps | str | 列表页码 | 必要 | |
|
||||
| csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
|
||||
| csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
|
||||
| visit_id | str | 不明 | 非必要 | |
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | --- | ---- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | 默认为 "0" |
|
||||
| ttl | str | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ----- | ------ | ------- |
|
||||
| data | array | 禁言列表 | 数组中为obj |
|
||||
| total | int | 禁言观众数量 | |
|
||||
| total_page | int | 页码总数量 | |
|
||||
|
||||
`data`对象中`data`数组的元素对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | --- | ------ | --------- |
|
||||
| tuid | num | 禁言者uid | |
|
||||
| tname | str | 禁言者昵称 | |
|
||||
| uid | num | 发起者uid | |
|
||||
| name | str | 发起者昵称 | |
|
||||
| ctime | str | 禁言时间 | |
|
||||
| id | num | 禁言记录Id | 解除禁言时用到 |
|
||||
| is_anchor | num | 不明 | |
|
||||
| face | str | 禁言者头像 | |
|
||||
| admin_level | num | 发起者权限 | 0:主播,1:房管 |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.live.bilibili.com/xlive/web-ucenter/v1/banned/GetSilentUserList' \
|
||||
--data-urlencode 'room_id=xxxxxxx' \
|
||||
--data-urlencode 'ps=1' \
|
||||
--data-urlencode 'csrf_token=xxx' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
--data-urlencode 'visit_id=' \
|
||||
-H 'Content-Type:application/x-www-form-urlencoded' \
|
||||
-b 'SESSDATA=xxxx; bili_jct=xxx;'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code":0,
|
||||
"message":"0",
|
||||
"ttl":1,
|
||||
"data":{
|
||||
"data":[
|
||||
{
|
||||
"tuid":123456,
|
||||
"tname":"xxxxx",
|
||||
"uid":123456,
|
||||
"name":"xxxx",
|
||||
"ctime":"2023-12-15 16:32:46",
|
||||
"id":13493921,
|
||||
"is_anchor":0,
|
||||
"face":"https://i1.hdslb.com/bfs/face/xxxxx.jpg",
|
||||
"admin_level":1
|
||||
},
|
||||
{
|
||||
"tuid":123456,
|
||||
"tname":"xx",
|
||||
"uid":123456,
|
||||
"name":"xxxx",
|
||||
"ctime":"2021-08-23 22:26:06",
|
||||
"id":8018136,
|
||||
"is_anchor":1,
|
||||
"face":"https://i1.hdslb.com/bfs/face/xxxxxx.jpg",
|
||||
"admin_level":0
|
||||
}
|
||||
],
|
||||
"total":2,
|
||||
"total_page":1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 解除禁言
|
||||
|
||||
> https://api.live.bilibili.com/banned_service/v1/Silent/del_room_block_user
|
||||
|
||||
*请求方式:post*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | --- | ---------- | --- | ---------------------- |
|
||||
| roomid | str | 直播间Id | 必要 | 注意该接口名称没有“_” |
|
||||
| id | str | 禁言记录Id | 必要 | GetSilentUserList 接口获取 |
|
||||
| csrf_token | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
|
||||
| csrf | str | CSRF Token | 必要 | cookie中的bili_jct字段 |
|
||||
| visit_id | str | 不明 | 非必要 | |
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | --- | ---- | ---- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | 成功为空 |
|
||||
| ttl | str | 1 | |
|
||||
| data | obj | 信息本体 | 成功为空 |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.live.bilibili.com/banned_service/v1/Silent/del_room_block_user' \
|
||||
--data-urlencode 'roomid=xxxxxxxxx' \
|
||||
--data-urlencode 'id=xxxxx' \
|
||||
--data-urlencode 'csrf_token=xxx' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
--data-urlencode 'visit_id=' \
|
||||
-H 'Content-Type:application/x-www-form-urlencoded' \
|
||||
-b 'SESSDATA=xxxxxx; bili_jct=xxx;'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{"code":0,"msg":"","message":"","data":[]}
|
||||
```
|
||||
|
||||
</details>
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user