mirror of
https://github.com/SocialSisterYi/bilibili-API-collect.git
synced 2025-02-06 01:00:09 +08:00
update 【danmaku thumbup list】 APIDoc
This commit is contained in:
parent
894c802ac5
commit
87d56b66e7
@ -122,6 +122,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [ ] 智能防挡弹幕
|
||||
- [x] [弹幕个人配置修改](docs/danmaku/config.md)
|
||||
- [x] [名词解释](docs/danmaku/buzzword.md)
|
||||
- [x] [点赞查询](docs/danmaku/thumbup.md)
|
||||
- [x] [视频笔记](docs/note)
|
||||
- [x] [笔记列表](docs/note/list.md)
|
||||
- [x] [笔记详细信息](docs/note/info.md)
|
||||
|
@ -483,88 +483,6 @@ curl -G 'https://api.bilibili.com/x/dm/adv/state' \
|
||||
|
||||
</details>
|
||||
|
||||
## 查询弹幕点赞数
|
||||
|
||||
> https://api.bilibili.com/x/v2/dm/thumbup/stats
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)或APP
|
||||
|
||||
**url参数:**
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------ | ----------- | ------------------- |
|
||||
| access_key | str | APP登录Token | APP方式必要 | |
|
||||
| oid | num | 视频cid | 必要 | |
|
||||
| ids | nums | 弹幕dmid列表 | 必要 | 多个id之间用`,`分隔 |
|
||||
|
||||
**json回复**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | --------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-400:请求错误 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | ---------------- | --------------------------------- |
|
||||
| {弹幕id} | obj | 弹幕id对应的信息 | id分别对应请求参数中的`ids`,下同 |
|
||||
| …… | obj | 弹幕id对应的信息 | |
|
||||
|
||||
`{弹幕id}`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| likes | num | 点赞数 | |
|
||||
| user_like | num | 是否点赞 | 0:未点赞<br />1:已点赞<br />需要登录(Cookie或APP) <br />未登录恒为0 |
|
||||
| id_str | str | 弹幕dmid | |
|
||||
|
||||
**示例**
|
||||
|
||||
查询`cid=236871317`下的弹幕`35600074482384899`、`38880975220375559`、`39052528418553863`点赞数
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.bilibili.com/x/v2/dm/thumbup/stats' \
|
||||
--data-urlencode 'oid=236871317' \
|
||||
--data-urlencode 'ids=39019145405661191,38880975220375559,39052528418553863' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"38880975220375559": {
|
||||
"likes": 1,
|
||||
"user_like": 1,
|
||||
"id_str": "38880975220375559"
|
||||
},
|
||||
"39019145405661191": {
|
||||
"likes": 3,
|
||||
"user_like": 1,
|
||||
"id_str": "39019145405661191"
|
||||
},
|
||||
"39052528418553863": {
|
||||
"likes": 2,
|
||||
"user_like": 0,
|
||||
"id_str": "39052528418553863"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 点赞弹幕
|
||||
|
||||
> https://api.bilibili.com/x/v2/dm/thumbup/add
|
||||
@ -573,16 +491,18 @@ curl -G 'https://api.bilibili.com/x/v2/dm/thumbup/stats' \
|
||||
|
||||
认证方式:Cookie(SESSDATA)或APP
|
||||
|
||||
查询指定弹幕点赞状态参阅文档 [弹幕点赞查询](thumbup.md)
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------ | -------------- | ------------------------ |
|
||||
| access_key | str | APP登录Token | APP方式必要 | |
|
||||
| dmid | num | 弹幕dmid | 必要 | |
|
||||
| oid | num | 视频cid | 必要 | |
|
||||
| op | num | 操作 | 必要 | 1:点赞<br />2:取消点赞 |
|
||||
| platform | str | 平台 | 非必要 | |
|
||||
| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | ------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| dmid | num | 目标弹幕 dmid | 必要 | |
|
||||
| oid | num | 目标弹幕所在视频 cid | 必要 | |
|
||||
| op | num | 操作 | 必要 | 1:点赞<br />2:取消点赞 |
|
||||
| platform | str | 平台标识 | 非必要 | web_player:web 播放器<br />android:安卓端 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -600,12 +520,12 @@ curl -G 'https://api.bilibili.com/x/v2/dm/thumbup/stats' \
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/v2/dm/thumbup/add' \
|
||||
--data-urlencode 'dmid=35600074482384899' \
|
||||
--data-urlencode 'oid=145928946' \
|
||||
--data-urlencode 'op=1' \
|
||||
--data-urlencode 'platform=web_player' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx'
|
||||
--data-urlencode 'dmid=35600074482384899' \
|
||||
--data-urlencode 'oid=145928946' \
|
||||
--data-urlencode 'op=1' \
|
||||
--data-urlencode 'platform=web_player' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
|
@ -1,8 +1,8 @@
|
||||
# protobuf弹幕
|
||||
|
||||
2020年5月23日,哔哩哔哩网页端及移动端启用了新的默认弹幕api,网页端弹幕显示的上限变为原弹幕池上限的两倍。
|
||||
2020年5月23日,哔哩哔哩网页端及移动端启用了新的默认弹幕 API,网页端弹幕显示的上限变为原弹幕池上限的两倍。
|
||||
|
||||
新的api是以6分钟为一个单位加载,即每次加载6分钟内的弹幕
|
||||
新的 API 是以 6min 为一个单位加载,即每次加载 6min 内的弹幕
|
||||
|
||||
## 获取实时弹幕
|
||||
|
||||
@ -18,26 +18,29 @@
|
||||
|
||||
只能返回普通弹幕(`pool=1` `mode=1-7`)和代码弹幕(`pool=2` `mode=8`),BAS弹幕(`pool=2` `mode=9`)请从[弹幕元数据](danmaku_view_proto.md)中获取
|
||||
|
||||
互动弹幕(UP主头像弹幕、关联视频、内嵌关注按钮)也不存在这个接口,请从[弹幕元数据](danmaku_view_proto.md)中获取
|
||||
互动弹幕(UP 主头像弹幕、关联视频、内嵌关注按钮)也不存在这个接口,请从[弹幕元数据](danmaku_view_proto.md)中获取
|
||||
|
||||
**注:仅获取6min的整数倍时间内的弹幕,6min内最多弹幕数为6000条(如第一包中弹幕`progress`值域为0-360000)**
|
||||
**注:仅获取 6min 的整数倍时间内的弹幕,6min 内最多弹幕数为 6000 条(如第一包中弹幕`progress`值域为0-360000)**
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------- | ---- | -------- | ------ | ----------- |
|
||||
| type | num | 弹幕类 | 必要 | 1:视频弹幕 |
|
||||
| oid | num | 视频cid | 必要 | |
|
||||
| pid | num | 稿件avid | 非必要 | |
|
||||
| segment_index | num | 分包 | 必要 | 6分钟一包 |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------- | ---- | --------- | ------ | ---------------------------- |
|
||||
| type | num | 弹幕类 | 必要 | 1:视频弹幕<br />2:漫画弹幕 |
|
||||
| oid | num | 视频 cid | 必要 | |
|
||||
| pid | num | 稿件 avid | 非必要 | |
|
||||
| segment_index | num | 分包 | 必要 | 6min 一包 |
|
||||
| pull_mode | num | (?) | 非必要 | |
|
||||
| ps | num | (?) | 非必要 | |
|
||||
| pe | num | (?) | 非必要 | |
|
||||
|
||||
**proto回复:**
|
||||
|
||||
proto定义见:[bilibili.community.service.dm.v1.DmSegMobileReply](../grpc_api/bilibili/community/service/dm/v1/dm.proto)
|
||||
proto定义见:[bilibili.community.service.dm.v1.DmSegMobileReply](../../grpc_api/bilibili/community/service/dm/v1/dm.proto)
|
||||
|
||||
- [protogen.marcgravell](https://protogen.marcgravell.com/): 在线编译protogen工具, 无需再安装本地编译器(生成文件需加后缀‘_pb2.py‘才可使用)
|
||||
- [protogen.marcgravell](https://protogen.marcgravell.com/): 在线编译 protogen 工具, 无需再安装本地编译器(生成文件需加后缀`_pb2.py`才可使用)
|
||||
|
||||
- [protobuf pip](https://pypi.org/project/protobuf/): 可一键安装的python的protogen解析库
|
||||
- [protobuf pip](https://pypi.org/project/protobuf/): 可一键安装的 Python 的 protogen 解析库
|
||||
|
||||
消息`DmSegMobileReply`:
|
||||
|
||||
@ -47,26 +50,28 @@ proto定义见:[bilibili.community.service.dm.v1.DmSegMobileReply](../grpc_api
|
||||
|
||||
消息`DanmakuElem`:
|
||||
|
||||
| 名称 | 类型 | 含义 | 备注 |
|
||||
| -------- | ------ | ------------------ | ------------------------------------------------------------ |
|
||||
| id | int64 | 弹幕dmid | 唯一 可用于操作参数 |
|
||||
| progress | int32 | 视频内弹幕出现时间 | 毫秒 |
|
||||
| mode | int32 | 弹幕类型 | 1 2 3:普通弹幕<br />4:底部弹幕<br />5:顶部弹幕<br />6:逆向弹幕<br />7:高级弹幕<br />8:代码弹幕<br />9:BAS弹幕(仅限于特殊弹幕专包) |
|
||||
| fontsize | int32 | 弹幕字号 | 18:小<br />25:标准<br />36:大 |
|
||||
| color | uint32 | 弹幕颜色 | 十进制RGB888值 |
|
||||
| midHash | string | 发送者mid的HASH | 用于屏蔽用户和查看用户发送的所有弹幕 也可反查用户id |
|
||||
| content | string | 弹幕内容 | utf-8编码 |
|
||||
| ctime | int64 | 弹幕发送时间 | 时间戳 |
|
||||
| weight | int32 | 权重 | 用于智能屏蔽,根据弹幕语义及长度通过AI识别得出<br />范围:[0-10]<br />值越大权重越高 |
|
||||
| action | string | 动作? | 作用尚不明确 |
|
||||
| pool | int32 | 弹幕池 | 0:普通池<br />1:字幕池<br />2:特殊池(代码/BAS弹幕) |
|
||||
| idStr | string | 弹幕dmid | 字串形式<br />唯一 可用于操作参数 |
|
||||
| 名称 | 类型 | 含义 | 备注 |
|
||||
| --------- | ------ | ------------------ | ------------------------------------------------------------ |
|
||||
| id | int64 | 弹幕 dmid | 唯一 可用于操作参数 |
|
||||
| progress | int32 | 视频内弹幕出现时间 | 毫秒 |
|
||||
| mode | int32 | 弹幕类型 | 1 2 3:普通弹幕<br />4:底部弹幕<br />5:顶部弹幕<br />6:逆向弹幕<br />7:高级弹幕<br />8:代码弹幕<br />9:BAS 弹幕(仅限于特殊弹幕专包) |
|
||||
| fontsize | int32 | 弹幕字号 | 18:小<br />25:标准<br />36:大 |
|
||||
| color | uint32 | 弹幕颜色 | 十进制 RGB888 值 |
|
||||
| midHash | string | 发送者 mid 的 HASH | 用于屏蔽用户和查看用户发送的所有弹幕,也可反查用户id |
|
||||
| content | string | 弹幕内容 | utf-8编码 |
|
||||
| ctime | int64 | 弹幕发送时间 | 时间戳 |
|
||||
| weight | int32 | 权重 | 用于智能屏蔽,根据弹幕语义及长度通过AI识别得出<br />范围:[0-10]<br />值越大权重越高 |
|
||||
| action | string | 动作? | |
|
||||
| pool | int32 | 弹幕池 | 0:普通池<br />1:字幕池<br />2:特殊池(代码/BAS弹幕) |
|
||||
| idStr | string | 弹幕 dmid | 字串形式<br />唯一 可用于操作参数 |
|
||||
| attr | int32 | 弹幕属性位 | bit0:保护<br />bit1:直播<br />bit2:高赞 |
|
||||
| animation | string | 动画? | |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取视频`av810872(cid=1176840)`(炮姐)的实时弹幕分包1
|
||||
获取视频`av810872(cid=1176840)`(炮姐)的实时弹幕分包 1
|
||||
|
||||
**注:[proto定义](../grpc_api/bilibili/community/service/dm/v1/dm.proto)需要编译,`bilibili.community.service.dm.v1.dm_pb2`并非通过pypi安装**
|
||||
**注:以下[proto定义](../grpc_api/bilibili/community/service/dm/v1/dm.proto)需要编译,`bilibili.community.service.dm.v1.dm_pb2`并非通过 pypi 安装**
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
104
docs/danmaku/thumbup.md
Normal file
104
docs/danmaku/thumbup.md
Normal file
@ -0,0 +1,104 @@
|
||||
# 弹幕点赞查询
|
||||
|
||||
## 查询指定dmid的点赞数
|
||||
|
||||
> https://api.bilibili.com/x/v2/dm/thumbup/stats
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ----------------- | ------ | --------------------- |
|
||||
| oid | num | 视频 cid | 必要 | |
|
||||
| ids | nums | 欲查询的弹幕 dmid | 必要 | 多个 id 之间用`,`分隔 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------------------------- | --------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-400:请求错误 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 弹幕 id 与之对应数据的 Map | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ---- | -------------------------- | ---- |
|
||||
| {弹幕 dmid} | obj | {弹幕 dmid} 对应的点赞信息 | |
|
||||
|
||||
`{弹幕 dmid}`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------------------- | ---- | ---------------------- | ------------------------------------------------------- |
|
||||
| likes | num | 对应弹幕所获得的点赞数 | |
|
||||
| user_like | num | 当前用户是否点赞 | 0:未点赞<br />1:已点赞<br />需要登录(Cookie 或 APP) |
|
||||
| id_str | str | 弹幕 dmid 字符串形式 | |
|
||||
| show_threshold | num | (?) | |
|
||||
| reply_count | num | (?) | |
|
||||
| gray_release_control | obj | (?) | |
|
||||
|
||||
`gray_release_control`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------- | ---- | ------ | ---- |
|
||||
| show_dm_reply | bool | (?) | |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取视频 BV1AP411d7Qa 1P(cid=1131648710)下的几个弹幕 dmid`1318231376180646144,1318231518484950784,1318231736680887808`
|
||||
|
||||
```bash
|
||||
curl -G 'https://api.bilibili.com/x/v2/dm/thumbup/stats' \
|
||||
--data-urlencode 'oid=1131648710' \
|
||||
--data-urlencode 'ids=1318231376180646144,1318231518484950784,1318231736680887808' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"1318231376180646144": {
|
||||
"likes": 0,
|
||||
"user_like": 0,
|
||||
"id_str": "1318231376180646144",
|
||||
"show_threshold": 10,
|
||||
"reply_count": 0,
|
||||
"gray_release_control": {
|
||||
"show_dm_reply": false
|
||||
}
|
||||
},
|
||||
"1318231518484950784": {
|
||||
"likes": 0,
|
||||
"user_like": 0,
|
||||
"id_str": "1318231518484950784",
|
||||
"show_threshold": 10,
|
||||
"reply_count": 0,
|
||||
"gray_release_control": {
|
||||
"show_dm_reply": false
|
||||
}
|
||||
},
|
||||
"1318231736680887808": {
|
||||
"likes": 0,
|
||||
"user_like": 0,
|
||||
"id_str": "1318231736680887808",
|
||||
"show_threshold": 10,
|
||||
"reply_count": 0,
|
||||
"gray_release_control": {
|
||||
"show_dm_reply": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
Loading…
Reference in New Issue
Block a user