添加【查询登录记录】接口 修改若干【评论区】接口 添加【批量修改关系】和【批量查询关系】接口

This commit is contained in:
SocialSisterYi 2020-10-03 00:53:53 +08:00
parent e6176a0fcd
commit 8edc21f2bf
10 changed files with 970 additions and 513 deletions

View File

@ -44,6 +44,7 @@ PS所有http协议地址均可使用https文档中为了统一写作`http`
- [登录基本信息](login/login_info.md)√
- [个人中心](login/member_center.md)×
- [注销登录](login/exit.md)×
- [登录记录](login/login_notice.md)√
- [消息中心](message)
- [通知类消息](message/msg.md)×
- [私信](message/private_msg.md)×
@ -107,7 +108,7 @@ PS所有http协议地址均可使用https文档中为了统一写作`http`
- [风纪委员基本信息](blackroom/jury/base_info.md)√
- [众裁案件基本信息](blackroom/jury/judgement_info.md)√
- [裁决操作](blackroom/jury/action.md)√
- [评论区](comment)
- [评论区](comment)
- [评论区明细](comment/comment_list.md)√
- [操作](comment/action.md)√
- [表情](emote)

View File

@ -1,6 +1,6 @@
# 评论区操作
**本页所有操作均需登录Cookie**
**本页所有操作均需登录Cookie或APP**
使用该登录token识别用户身份
@ -10,19 +10,20 @@
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ |
| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 根评论rpID | 非必要 | 二级评论以上使用 |
| parent | num | 父评论rpID | 非必要 | 二级评论同根评论ID<br />大于二级评论为要回复的评论ID |
| message | str | 发送评论内容 | 必要 | 最大1000字符<br />表情使用表情转义符 |
| plat | num | 发送平台标识 | 非必要 | 1web端<br />2安卓客户端<br />3ios客户端<br />4wp客户端<br />默认为1 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 根评论rpID | 非必要 | 二级评论以上使用 |
| parent | num | 父评论rpID | 非必要 | 二级评论同根评论ID<br />大于二级评论为要回复的评论ID |
| message | str | 发送评论内容 | 必要 | 最大1000字符<br />表情使用表情转义符 |
| plat | num | 发送平台标识 | 非必要 | 1web端<br />2安卓客户端<br />3ios客户端<br />4wp客户端<br />默认为1 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -41,7 +42,7 @@
| -------------- | ----------------------------- | -------------- | ------------------------------------------------------------ |
| success_action | num | 0 | **作用尚不明确** |
| success_toast | str | 状态文字 | |
| need_captcha | bool | false | 评论需要验证码(未证实) |
| need_captcha | bool | false | 评论需要验证码(未证实) |
| url | str | 空 | **作用尚不明确** |
| rpid | num | 评论rpID | |
| rpid_str | str | 评论rpID | 字串格式 |
@ -51,8 +52,8 @@
| root_str | str | 根评论rpID | 字串格式 |
| parent | num | 回复父评论rpID | 若为一级评论则为0<br />若为二级评论则为根评论ID<br />大于二级评论为上一级评论ID |
| parent_str | str | 回复父评论rpID | 字串格式 |
| emote | obj | 表情转义符信息 | 无表情时无此项<br />**见「[评论区明细](comment_list.md#附表-评论条目对象)」的附表** |
| reply | 有效时obj<br />无效时null | | **见「[评论区明细](comment_list.md#附表-评论条目对象)」的附表** |
| emote | obj | 表情转义符信息 | [对象定义见表](readme.md) |
| reply | 有效时obj<br />无效时null | | [对象定义见表](readme.md) |
**示例:**
@ -233,19 +234,20 @@ curl 'http://api.bilibili.com/x/v2/reply/add'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
点赞成功后会同时消去该评论的点踩
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| action | num | 操作代码 | 非必要 | 默认为0<br />0取消赞<br />1点赞 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ----------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| action | num | 操作代码 | 非必要 | 默认为0<br />0取消赞<br />1点赞 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -290,19 +292,20 @@ curl 'http://api.bilibili.com/x/v2/reply/action'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
点踩成功后会同时消去该评论的点赞
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| action | num | 操作代码 | 非必要 | 默认为0<br />0取消踩<br />1点踩 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ----------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| action | num | 操作代码 | 非必要 | 默认为0<br />0取消踩<br />1点踩 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -347,18 +350,19 @@ curl 'http://api.bilibili.com/x/v2/reply/hate'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
只能删除自己的评论,或自己管理的评论区下的评论
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ----------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -402,19 +406,20 @@ curl 'http://api.bilibili.com/x/v2/reply/del'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
只能置顶自己管理的评论区中的一级评论
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| action | num | 操作代码 | 非必要 | 默认为0<br />0取消置顶<br />1设为置顶 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ----------------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| action | num | 操作代码 | 非必要 | 默认为0<br />0取消置顶<br />1设为置顶 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -459,18 +464,19 @@ curl 'http://api.bilibili.com/x/v2/reply/top'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------- | ---- | ------------------------ | ------ | ----------------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| reason | num | 举报类型 | 必要 | **类型代码见下表** |
| content | str | 其他举报备注 | 非必要 | `reason=0`时有效 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ----------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| rpid | num | 目标评论rpID | 必要 | |
| reason | num | 举报类型 | 必要 | **类型代码见下表** |
| content | str | 其他举报备注 | 非必要 | `reason=0`时有效 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
举报类型`reason`

View File

@ -1,52 +1,24 @@
# 点评评论区明细
# 评论区明细
<img src="/imgs/comment.svg" width="100" height="100"/>
**已知的评论区类型代码总览:**
| 代码 | 评论区类型 | oid的意义 |
| ---- | ----------------------- | ---------- |
| 1 | 视频稿件 | 视频avID |
| 2 | 话题 | 话题ID |
| 4 | 活动 | 活动ID |
| 5 | 小视频 | 小视频ID |
| 6 | 小黑屋封禁信息 | 封禁公示ID |
| 7 | 公告信息 | 公告ID |
| 8 | 直播活动 | 直播间ID |
| 9 | 活动稿件 | |
| 10 | 直播公告 | |
| 11 | 相簿(图片动态) | 相簿ID |
| 12 | 专栏 | 专栏cvID |
| 13 | 票务 | |
| 14 | 音频 | 音频auID |
| 15 | 风纪委员会 | 众裁项目ID |
| 16 | 点评 | |
| 17 | 动态(纯文字动态&分享) | 动态ID |
| 18 | 播单 | |
| 19 | 音乐播单 | |
| 20 | 漫画 | |
| 21 | 漫画 | |
| 22 | 漫画 | 漫画mcID |
| 33 | 课程 | 课程epID |
## 获取评论区明细1(web端)(无楼层号)
## 获取评论区明细1无楼层号
> http://api.bilibili.com/x/v2/reply
*请求方式GET*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------------- | ------ | -------------------------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见上表** |
| oid | num | 目标评论区ID | 必要 | |
| sort | num | 排序方式 | 非必要 | 默认为0<br />0按时间<br />1按点赞数<br />2按回复数 |
| nohot | num | 是否不显示热评 | 非必要 | 默认为0<br />1不显示<br />0显示 |
| pn | num | 页码 | 非必要 | 默认为1 |
| ps | num | 每页项数 | 非必要 | 默认为20<br />定义域1-49 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ----------- | -------------------------------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| sort | num | 排序方式 | 非必要 | 默认为0<br />0按时间<br />1按点赞数<br />2按回复数 |
| nohot | num | 是否不显示热评 | 非必要 | 默认为0<br />1不显示<br />0显示 |
| pn | num | 页码 | 非必要 | 默认为1 |
| ps | num | 每页项数 | 非必要 | 默认为20<br />定义域1-49 |
**json回复**
@ -2347,25 +2319,24 @@ curl -G 'http://api.bilibili.com/x/v2/reply'\
</details>
## 获取评论区明细2(APP端)(带有楼层号
## 获取评论区明细2带有楼层号
> http://api.bilibili.com/x/v2/reply/main
*请求方式GET*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------------- | ------ | ------------------------------------------------------------ |
| type | num | 评论区类型代码 | 必要 | **类型代码见上表** |
| oid | num | 目标评论区ID | 必要 | |
| mode | num | 排序方式 | 非必要 | 默认为0<br />0 3仅按热度<br />1按热度+按时间<br />2仅按时间 |
| next | num | 评论页选择 | 非必要 | 按热度时热度顺序页码0为第一页<br />按时间时:时间倒序楼层号<br />默认为0 |
| ps | num | 每页项数 | 非必要 | 默认为20<br />定义域1-49 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ----------- | ------------------------------------------------------------ |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| mode | num | 排序方式 | 非必要 | 默认为0<br />0 3仅按热度<br />1按热度+按时间<br />2仅按时间 |
| next | num | 评论页选择 | 非必要 | 按热度时热度顺序页码0为第一页<br />按时间时:时间倒序楼层号<br />默认为0 |
| ps | num | 每页项数 | 非必要 | 默认为20<br />定义域1-49 |
**json回复**
@ -4728,27 +4699,26 @@ curl -G 'http://api.bilibili.com/x/v2/reply/main'\
</details>
## 获取指定评论条目及二级回复明细1web端分离结构 无楼层号)
## 获取指定评论条目及二级回复明细1分离结构 无楼层号)
> http://api.bilibili.com/x/v2/reply/reply
*请求方式GET*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
按照热度排列
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ---------------- | ------ | -------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见上表** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 目标一级评论rpID | 必要 | |
| pn | num | 二级评论页码 | 非必要 | 默认为1 |
| ps | num | 二级评论每页项数 | 非必要 | 默认为20<br />定义域1-49 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ---------------- | ----------- | ----------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 目标一级评论rpID | 必要 | |
| pn | num | 二级评论页码 | 非必要 | 默认为1 |
| ps | num | 二级评论每页项数 | 非必要 | 默认为20<br />定义域1-49 |
**json回复**
@ -5467,25 +5437,26 @@ curl -G 'http://api.bilibili.com/x/v2/reply/reply'\
## 获取指定评论条目及二级回复明细2APP端嵌套结构 带有楼层号)
## 获取指定评论条目及二级回复明细2嵌套结构 带有楼层号)
> http://api.bilibili.com/x/v2/reply/detail
*请求方式GET*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
按照楼层排列
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------------- | ------ | -------------------------------------- |
| type | num | 评论区类型代码 | 必要 | **类型代码见上表** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 根回复rpID | 必要 | |
| next | num | 评论页选择 | 非必要 | 第一页为0<br />默认为0<br />顺序楼层号 |
| ps | num | 每页项数 | 非必要 | 默认为0 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ----------- | -------------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 根回复rpID | 必要 | |
| next | num | 评论页选择 | 非必要 | 第一页为0<br />默认为0<br />顺序楼层号 |
| ps | num | 每页项数 | 非必要 | 默认为0 |
**json回复**
@ -6223,25 +6194,26 @@ curl -G 'http://api.bilibili.com/x/v2/reply/detail'\
</details>
## 获取指定评论对话树(APP端带有楼层)
## 获取指定评论对话树(带有楼层)
> http://api.bilibili.com/x/v2/reply/dialog/cursor
*请求方式GET*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
按照楼层排列
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------------- | ------ | ------------------ |
| type | num | 评论区类型代码 | 必要 | **类型代码见上表** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 根回复rpID | 必要 | |
| dialog | num | 对话树根rpID | 必要 | |
| size | num | 每页最大项数 | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ----------- | ----------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
| root | num | 根回复rpID | 必要 | |
| dialog | num | 对话树根rpID | 必要 | |
| size | num | 每页最大项数 | 必要 | |
**json回复**
@ -7095,7 +7067,7 @@ curl -G 'http://api.bilibili.com/x/v2/reply/dialog/cursor'\
</details>
## 获取评论区评论总数APP端
## 获取评论区评论总数
> http://api.bilibili.com/x/v2/reply/count
@ -7103,10 +7075,10 @@ curl -G 'http://api.bilibili.com/x/v2/reply/dialog/cursor'\
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------------- | ------ | ------------------ |
| type | num | 评论区类型代码 | 必要 | **类型代码见上表** |
| oid | num | 目标评论区ID | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------------- | ------ | ----------------------------- |
| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** |
| oid | num | 目标评论区ID | 必要 | |
**json回复**
@ -7152,235 +7124,3 @@ curl -G 'http://api.bilibili.com/x/v2/reply/count'\
</details>
## 附表-评论条目对象
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ------------------------------- | ---------------- | ------------------------------------------------------------ |
| rpid | num | 评论rpID | |
| oid | num | 目标评论区rpID | |
| type | num | 评论区类型代码 | **类型代码见上表** |
| mid | num | 评论发送者UID | |
| root | num | 根评论rpID | 若为一级评论则为0<br />大于一级评论则为根评论ID |
| parent | num | 回复父评论rpID | 若为一级评论则为0<br />若为二级评论则为根评论rpID<br />大于二级评论为上一级评论rpID |
| dialog | num | 回复对方rpID | 若为一级评论则为0<br />若为二级评论则为该评论rpID<br />大于二级评论为上一级评论rpID |
| count | num | 评论回复条数 | |
| rcount | num | 评论回复条数 | |
| floor | num | 评论楼层号 | **重要:若不支持楼层则无此项** |
| state | num | 0 | **作用尚不明确** |
| fansgrade | num | 是否具有粉丝标签 | 0<br />1有 |
| attr | num | | **作用尚不明确** |
| ctime | num | 评论发送时间 | 时间戳 |
| rpid_str | str | 评论rpID | 字串格式 |
| root_str | str | 根评论rpID | 字串格式 |
| parent_str | str | 回复父评论rpID | 字串格式 |
| like | num | 评论获赞数 | |
| action | num | 当前用户操作状态 | 需要登录(SESSDATA) <br />否则恒为0<br />0<br />1已点赞<br />2已点踩 |
| member | obj | 评论发送者信息 | |
| content | obj | 评论信息 | |
| replies | 无效时null<br />有效时array | 评论回复条目预览 | **仅嵌套一层**<br />否则为null |
| assist | num | | **作用尚不明确** |
| folder | obj | | |
| up_action | obj | 评论UP主操作信息 | |
| show_follow | bool | false | **作用尚不明确** |
`评论条目`中的`member`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ----------------------------- | ---------------------- | ------------------------------------------------------------ |
| mid | str | 发送者UID | |
| uname | str | 发送者昵称 | |
| sex | str | 发送者性别 | 男 女 保密 |
| sign | str | 发送者签名 | |
| avatar | str | 发送者头像 | |
| rank | str | 10000 | **作用尚不明确** |
| DisplayRank | str | 0 | **作用尚不明确** |
| level_info | obj | 发送者等级 | |
| pendant | obj | 发送者头像框信息 | |
| nameplate | obj | 发送者勋章信息 | |
| official_verify | obj | 发送者认证信息 | |
| vip | obj | 发送者会员信息 | |
| fans_detail | 无效时null<br />有效时obj | 发送者粉丝标签 | |
| following | num | 是否关注该用户 | 需要登录(SESSDATA) <br />否则恒为0<br />0未关注<br />1已关注 |
| is_followed | num | 是否被该用户关注 | 需要登录(SESSDATA) <br />否则恒为0<br />0未关注<br />1已关注 |
| user_sailing | obj | 发送者评论条目装扮信息 | |
`member`中的`level_info`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | -------- | ---------------- |
| current_level | num | 用户等级 | |
| current_min | num | 0 | **作用尚不明确** |
| current_exp | num | 0 | **作用尚不明确** |
| next_exp | num | 0 | **作用尚不明确** |
`member`中的`pendant`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------- | -------------------- |
| pid | num | 头像框id | **详细说明有待补充** |
| name | str | 头像框名称 | |
| image | str | 头像框图片url | |
| expire | num | 0 | **作用尚不明确** |
| image_enhance | str | 头像框图片url | |
`member`中的`nameplate`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------------- | -------------------- |
| nid | num | 勋章id | **详细说明有待补充** |
| name | str | 勋章名称 | |
| image | str | 挂件图片url 正常 | |
| image_small | str | 勋章图片url 小 | |
| level | str | 勋章等级 | |
| condition | str | 勋章条件 | |
`member`中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ------------------- |
| type | num | 是否认证 | -1<br />0认证 |
| desc | str | 认证信息 | 无为空 |
`member`中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | -------------- | ----------------------------------- |
| vipType | num | 大会员类型 | 0<br />1月会员<br />2年会员 |
| vipDueDate | num | 大会员到期时间 | 毫秒 时间戳 |
| dueRemark | str | 空 | **作用尚不明确** |
| accessStatus | num | 0 | **作用尚不明确** |
| vipStatus | num | 大会员状态 | 0<br />1有 |
| vipStatusWarn | str | 空 | **作用尚不明确** |
| theme_type | num | 0 | **作用尚不明确** |
| label | obj | | |
`vip`中的`label`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------------ | ---------------- |
| path | str | 空 | **作用尚不明确** |
| text | str | 会员类型信息 | |
| label_theme | str | 会员类型 | |
`member`中的`fans_detail`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | -------------------- |
| uid | num | 用户UID | |
| medal_id | num | 粉丝标签ID | **详细说明有待补充** |
| medal_name | str | 粉丝标签名 | |
| score | num | 0 | **作用尚不明确** |
| level | num | 当前标签等级 | |
| intimacy | num | 0 | **作用尚不明确** |
| master_status | num | 1 | **作用尚不明确** |
| is_receive | num | 1 | **作用尚不明确** |
`member`中的`user_sailing`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------------- | ----------------------------- | ------------ | ---------------- |
| pendant | 无效时null<br />有效时obj | 头像框信息 | |
| cardbg | 无效时null<br />有效时obj | 评论条目装扮 | |
| cardbg_with_focus | null | - | **作用尚不明确** |
`user_sailing`中的`pendant`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ------------- | ------------------------------------- |
| id | num | 头像框ID | |
| name | str | 头像框名称 | |
| image | str | 头像框图片url | |
| jump_url | str | 空 | |
| type | str | 装扮类型 | suit一般装扮<br />vip_suitvip装扮 |
`user_sailing`中的`cardbg`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ----------------------- | ------------------------------------- |
| id | num | 评论条目装扮ID | |
| name | str | 评论条目装扮名称 | |
| image | str | 评论条目装扮图片url | |
| jump_url | str | 评论条目装扮商城页面url | |
| fan | obj | 粉丝专属信息 | |
| type | str | 装扮类型 | suit一般装扮<br />vip_suitvip装扮 |
`cardbg`中的`fan`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ------------------ | ---------------- |
| is_fan | num | 是否为粉丝专属装扮 | 0<br />1是 |
| number | num | 粉丝专属编号 | |
| color | str | 数字颜色 | 颜色码 |
| name | str | 装扮名称 | |
| num_desc | str | 粉丝专属编号 | 字串格式 |
`评论条目`中的`content`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ----- | -------------------- | ------------------------------------------------------------ |
| message | str | 评论内容 | **重要** |
| plat | num | 评论发送平台 | 1web端<br />2安卓客户端<br />3ios客户端<br />4wp客户端 |
| device | str | 评论发送平台设备 | |
| members | array | 评论中at到的用户信息 | |
| emote | obj | 表情转义符信息 | 评论内容无表情则无此项 |
| jump_url | obj | 空 | **作用尚不明确** |
| max_line | num | 6 | **作用尚不明确** |
`content`中的`members`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | -------------------------------- |
| 0 | obj | at到的用户1 | 基本同`评论条目`中的`member`对象 |
| n | obj | at到的用户(n+1) | 项数为at到的不同的用户数 |
| …… | obj | …… | …… |
`content`中的`emote`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | --------------- | -------- |
| {表情转义符} | obj | 表情转义符信息1 | |
| …… | obj | 表情转义符信息n | 向下扩展 |
`emote`中的`{表情转义符}`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | -------------------------------------------------------- |
| id | num | 表情ID | |
| package_id | num | 表情包ID | |
| state | num | 0 | |
| type | num | 表情类型 | 1免费<br />2会员专属<br />3购买所得<br />4颜文字 |
| attr | num | 0 | **作用尚不明确** |
| text | str | 表情转义符 | |
| url | str | 表情图片url | |
| meta | obj | 属性信息 | |
| mtime | num | 表情创建时间 | 时间戳 |
`{表情转义符}`中的`meta`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ------------ | ---------------- |
| size | num | 表情尺寸信息 | 1<br />2大 |
| alias | str | 简写名 | 无则无此项 |
`评论条目`中的`replies`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ------------------------------------------------------------ |
| 0 | obj | 回复条目1 | **为本对象的递归嵌套**<br />**仅嵌套一层**<br />按照热度顺序排列 |
| 1 | obj | 回复条目2 | |
| 2 | obj | 回复条目3 | 最后一项 |
`评论条目`中的`folder`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------ | ---------------- |
| has_folded | bool | false | **作用尚不明确** |
| is_folded | bool | false | **作用尚不明确** |
| rule | str | | **作用尚不明确** |
`评论条目`中的`up_action`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ---------------- | ----------------------- |
| like | bool | 是否UP主觉得很赞 | false<br />true是 |
| reply | bool | 是否被UP主回复 | false<br />true是 |

268
comment/readme.md Normal file
View File

@ -0,0 +1,268 @@
# 评论区
<img src="/imgs/comment.svg" width="100" height="100"/>
评论区接口分为**查询**与**操作**两大类
- [查询类](list.md)
- [操作类](action.md)
## 已知的评论区类型代码总览
| 代码 | 评论区类型 | oid的意义 |
| ---- | ----------------------- | ---------- |
| 1 | 视频稿件 | 视频avID |
| 2 | 话题 | 话题ID |
| 4 | 活动 | 活动ID |
| 5 | 小视频 | 小视频ID |
| 6 | 小黑屋封禁信息 | 封禁公示ID |
| 7 | 公告信息 | 公告ID |
| 8 | 直播活动 | 直播间ID |
| 9 | 活动稿件 | |
| 10 | 直播公告 | |
| 11 | 相簿(图片动态) | 相簿ID |
| 12 | 专栏 | 专栏cvID |
| 13 | 票务 | |
| 14 | 音频 | 音频auID |
| 15 | 风纪委员会 | 众裁项目ID |
| 16 | 点评 | |
| 17 | 动态(纯文字动态&分享) | 动态ID |
| 18 | 播单 | |
| 19 | 音乐播单 | |
| 20 | 漫画 | |
| 21 | 漫画 | |
| 22 | 漫画 | 漫画mcID |
| 33 | 课程 | 课程epID |
## 评论条目对象
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ------------------------------- | ---------------- | ------------------------------------------------------------ |
| rpid | num | 评论rpID | |
| oid | num | 目标评论区rpID | |
| type | num | 评论区类型代码 | **类型代码见上表** |
| mid | num | 评论发送者UID | |
| root | num | 根评论rpID | 若为一级评论则为0<br />大于一级评论则为根评论ID |
| parent | num | 回复父评论rpID | 若为一级评论则为0<br />若为二级评论则为根评论rpID<br />大于二级评论为上一级评论rpID |
| dialog | num | 回复对方rpID | 若为一级评论则为0<br />若为二级评论则为该评论rpID<br />大于二级评论为上一级评论rpID |
| count | num | 评论回复条数 | |
| rcount | num | 评论回复条数 | |
| floor | num | 评论楼层号 | **重要:若不支持楼层则无此项** |
| state | num | 0 | **作用尚不明确** |
| fansgrade | num | 是否具有粉丝标签 | 0<br />1有 |
| attr | num | | **作用尚不明确** |
| ctime | num | 评论发送时间 | 时间戳 |
| rpid_str | str | 评论rpID | 字串格式 |
| root_str | str | 根评论rpID | 字串格式 |
| parent_str | str | 回复父评论rpID | 字串格式 |
| like | num | 评论获赞数 | |
| action | num | 当前用户操作状态 | 需要登录(SESSDATA) <br />否则恒为0<br />0<br />1已点赞<br />2已点踩 |
| member | obj | 评论发送者信息 | |
| content | obj | 评论信息 | |
| replies | 无效时null<br />有效时array | 评论回复条目预览 | **仅嵌套一层**<br />否则为null |
| assist | num | | **作用尚不明确** |
| folder | obj | | |
| up_action | obj | 评论UP主操作信息 | |
| show_follow | bool | false | **作用尚不明确** |
`评论条目`中的`member`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ----------------------------- | ---------------------- | ------------------------------------------------------------ |
| mid | str | 发送者UID | |
| uname | str | 发送者昵称 | |
| sex | str | 发送者性别 | 男 女 保密 |
| sign | str | 发送者签名 | |
| avatar | str | 发送者头像 | |
| rank | str | 10000 | **作用尚不明确** |
| DisplayRank | str | 0 | **作用尚不明确** |
| level_info | obj | 发送者等级 | |
| pendant | obj | 发送者头像框信息 | |
| nameplate | obj | 发送者勋章信息 | |
| official_verify | obj | 发送者认证信息 | |
| vip | obj | 发送者会员信息 | |
| fans_detail | 无效时null<br />有效时obj | 发送者粉丝标签 | |
| following | num | 是否关注该用户 | 需要登录(SESSDATA) <br />否则恒为0<br />0未关注<br />1已关注 |
| is_followed | num | 是否被该用户关注 | 需要登录(SESSDATA) <br />否则恒为0<br />0未关注<br />1已关注 |
| user_sailing | obj | 发送者评论条目装扮信息 | |
`member`中的`level_info`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | -------- | ---------------- |
| current_level | num | 用户等级 | |
| current_min | num | 0 | **作用尚不明确** |
| current_exp | num | 0 | **作用尚不明确** |
| next_exp | num | 0 | **作用尚不明确** |
`member`中的`pendant`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------- | -------------------- |
| pid | num | 头像框id | **详细说明有待补充** |
| name | str | 头像框名称 | |
| image | str | 头像框图片url | |
| expire | num | 0 | **作用尚不明确** |
| image_enhance | str | 头像框图片url | |
`member`中的`nameplate`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------------- | -------------------- |
| nid | num | 勋章id | **详细说明有待补充** |
| name | str | 勋章名称 | |
| image | str | 挂件图片url 正常 | |
| image_small | str | 勋章图片url 小 | |
| level | str | 勋章等级 | |
| condition | str | 勋章条件 | |
`member`中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ------------------- |
| type | num | 是否认证 | -1<br />0认证 |
| desc | str | 认证信息 | 无为空 |
`member`中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | -------------- | ----------------------------------- |
| vipType | num | 大会员类型 | 0<br />1月会员<br />2年会员 |
| vipDueDate | num | 大会员到期时间 | 毫秒 时间戳 |
| dueRemark | str | 空 | **作用尚不明确** |
| accessStatus | num | 0 | **作用尚不明确** |
| vipStatus | num | 大会员状态 | 0<br />1有 |
| vipStatusWarn | str | 空 | **作用尚不明确** |
| theme_type | num | 0 | **作用尚不明确** |
| label | obj | | |
`vip`中的`label`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------------ | ---------------- |
| path | str | 空 | **作用尚不明确** |
| text | str | 会员类型信息 | |
| label_theme | str | 会员类型 | |
`member`中的`fans_detail`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | -------------------- |
| uid | num | 用户UID | |
| medal_id | num | 粉丝标签ID | **详细说明有待补充** |
| medal_name | str | 粉丝标签名 | |
| score | num | 0 | **作用尚不明确** |
| level | num | 当前标签等级 | |
| intimacy | num | 0 | **作用尚不明确** |
| master_status | num | 1 | **作用尚不明确** |
| is_receive | num | 1 | **作用尚不明确** |
`member`中的`user_sailing`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------------- | ----------------------------- | ------------ | ---------------- |
| pendant | 无效时null<br />有效时obj | 头像框信息 | |
| cardbg | 无效时null<br />有效时obj | 评论条目装扮 | |
| cardbg_with_focus | null | - | **作用尚不明确** |
`user_sailing`中的`pendant`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ------------- | ------------------------------------- |
| id | num | 头像框ID | |
| name | str | 头像框名称 | |
| image | str | 头像框图片url | |
| jump_url | str | 空 | |
| type | str | 装扮类型 | suit一般装扮<br />vip_suitvip装扮 |
`user_sailing`中的`cardbg`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ----------------------- | ------------------------------------- |
| id | num | 评论条目装扮ID | |
| name | str | 评论条目装扮名称 | |
| image | str | 评论条目装扮图片url | |
| jump_url | str | 评论条目装扮商城页面url | |
| fan | obj | 粉丝专属信息 | |
| type | str | 装扮类型 | suit一般装扮<br />vip_suitvip装扮 |
`cardbg`中的`fan`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ------------------ | ---------------- |
| is_fan | num | 是否为粉丝专属装扮 | 0<br />1是 |
| number | num | 粉丝专属编号 | |
| color | str | 数字颜色 | 颜色码 |
| name | str | 装扮名称 | |
| num_desc | str | 粉丝专属编号 | 字串格式 |
`评论条目`中的`content`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ----- | -------------------- | ------------------------------------------------------------ |
| message | str | 评论内容 | **重要** |
| plat | num | 评论发送平台 | 1web端<br />2安卓客户端<br />3ios客户端<br />4wp客户端 |
| device | str | 评论发送平台设备 | |
| members | array | 评论中at到的用户信息 | |
| emote | obj | 表情转义符信息 | 评论内容无表情则无此项 |
| jump_url | obj | 空 | **作用尚不明确** |
| max_line | num | 6 | **作用尚不明确** |
`content`中的`members`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | -------------------------------- |
| 0 | obj | at到的用户1 | 基本同`评论条目`中的`member`对象 |
| n | obj | at到的用户(n+1) | 项数为at到的不同的用户数 |
| …… | obj | …… | …… |
`content`中的`emote`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | --------------- | -------- |
| {表情转义符} | obj | 表情转义符信息1 | |
| …… | obj | 表情转义符信息n | 向下扩展 |
`emote`中的`{表情转义符}`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------ | -------------------------------------------------------- |
| id | num | 表情ID | |
| package_id | num | 表情包ID | |
| state | num | 0 | |
| type | num | 表情类型 | 1免费<br />2会员专属<br />3购买所得<br />4颜文字 |
| attr | num | 0 | **作用尚不明确** |
| text | str | 表情转义符 | |
| url | str | 表情图片url | |
| meta | obj | 属性信息 | |
| mtime | num | 表情创建时间 | 时间戳 |
`{表情转义符}`中的`meta`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ------------ | ---------------- |
| size | num | 表情尺寸信息 | 1<br />2大 |
| alias | str | 简写名 | 无则无此项 |
`评论条目`中的`replies`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ------------------------------------------------------------ |
| 0 | obj | 回复条目1 | **为本对象的递归嵌套**<br />**仅嵌套一层**<br />按照热度顺序排列 |
| 1 | obj | 回复条目2 | |
| 2 | obj | 回复条目3 | 最后一项 |
`评论条目`中的`folder`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------ | ---------------- |
| has_folded | bool | false | **作用尚不明确** |
| is_folded | bool | false | **作用尚不明确** |
| rule | str | | **作用尚不明确** |
`评论条目`中的`up_action`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ---------------- | ----------------------- |
| like | bool | 是否UP主觉得很赞 | false<br />true是 |
| reply | bool | 是否被UP主回复 | false<br />true是 |

View File

@ -6,24 +6,25 @@
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
| type | num | 1 | 必要 | |
| oid | num | 视频CID | 必要 | |
| msg | str | 弹幕内容 | 必要 | 长度小于100字符 |
| bvid | str | 视频bvID | 必要(可选) | avID与bvID任选一个 |
| aid | num | 视频avID | 必要(可选) | avID与bvID任选一个 |
| progress | num | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒<br />默认为0 |
| color | num | 弹幕颜色设置 | 非必要 | 十进制RGB888值<br />默认为16777215#FFFFFF白色 |
| fontsize | num | 弹幕字号设置 | 非必要 | 默认为25<br />极小12<br />超小16<br />18<br />标准25<br />36<br />超大45<br />极大64 |
| pool | num | 弹幕池选择 | 非必要 | 0普通池<br />1字幕池<br />2特殊池代码/BAS弹幕<br />默认为0 |
| mode | num | 弹幕类型选择 | 必要 | 1普通弹幕<br />4底部弹幕<br />5顶部弹幕<br />7高级弹幕<br />9BAS弹幕`pool`必须为2 |
| rnd | num | 当前时间戳*1000000 | 非必要 | **若无此项则发送弹幕冷却时间限制为90s**<br />若有此项则发送弹幕冷却时间限制为5s |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 1 | 必要 | |
| oid | num | 视频CID | 必要 | |
| msg | str | 弹幕内容 | 必要 | 长度小于100字符 |
| bvid | str | 视频bvID | 必要(可选) | avID与bvID任选一个 |
| aid | num | 视频avID | 必要(可选) | avID与bvID任选一个 |
| progress | num | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒<br />默认为0 |
| color | num | 弹幕颜色设置 | 非必要 | 十进制RGB888值<br />默认为16777215#FFFFFF白色 |
| fontsize | num | 弹幕字号设置 | 非必要 | 默认为25<br />极小12<br />超小16<br />18<br />标准25<br />36<br />超大45<br />极大64 |
| pool | num | 弹幕池选择 | 非必要 | 0普通池<br />1字幕池<br />2特殊池代码/BAS弹幕<br />默认为0 |
| mode | num | 弹幕类型选择 | 必要 | 1普通弹幕<br />4底部弹幕<br />5顶部弹幕<br />7高级弹幕<br />9BAS弹幕`pool`必须为2 |
| rnd | num | 当前时间戳*1000000 | 非必要 | **若无此项则发送弹幕冷却时间限制为90s**<br />若有此项则发送弹幕冷却时间限制为5s |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -102,16 +103,17 @@ curl 'http://api.bilibili.com/x/v2/dm/post'\
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
| type | num | 互动弹幕类型 | 必要 | 1UP主头像弹幕<br />2关联视频弹幕<br />5视频内嵌引导关注按钮 |
| aid | num | 视频avID | 必要 | |
| cid | num | 视频CID | 必要 | |
| progress | num | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒<br />默认为0 |
| plat | num | 平台标识 | 必要 | 1web端<br />2安卓端<br />8视频管理页面 |
| data | str | json序列 | 必要 | |
| dmid | num | 修改互动弹幕的弹幕ID | 非必要 | 注:修改弹幕`plat`必须为8 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
| access_key | str | APP登录Token | APP方式必要 | |
| type | num | 互动弹幕类型 | 必要 | 1UP主头像弹幕<br />2关联视频弹幕<br />5视频内嵌引导关注按钮 |
| aid | num | 视频avID | 必要 | |
| cid | num | 视频CID | 必要 | |
| progress | num | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒<br />默认为0 |
| plat | num | 平台标识 | 必要 | 1web端<br />2安卓端<br />8视频管理页面 |
| data | str | json序列 | 必要 | |
| dmid | num | 修改互动弹幕的弹幕ID | 非必要 | 注:修改弹幕`plat`必须为8 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
`data`参数:
@ -299,17 +301,18 @@ curl 'http://api.bilibili.com/x/v2/dm/command/post'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
仅能撤回自己两分钟内的弹幕且每天只有3次机会
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---- |
| dmid | num | 弹幕dmID | 必要 | |
| cid | num | 视频CID | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| dmid | num | 弹幕dmID | 必要 | |
| cid | num | 视频CID | 必要 | |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -351,17 +354,18 @@ curl 'http://api.bilibili.com/x/dm/recall'\
*请求方式POST*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
购买一次需要2硬币同时向up主发送请求
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---- |
| mode | str | sp | 必要 | |
| cid | num | 视频CID | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| mode | str | sp | 必要 | |
| cid | num | 视频CID | 必要 | |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -403,14 +407,15 @@ curl 'http://api.bilibili.com/x/dm/adv/buy'\
*请求方式GET*
认证方式CookieSESSDATA
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------- | ------ | ---- |
| mode | str | sp | 必要 | |
| cid | num | 视频CID | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| mode | str | sp | 必要 | |
| cid | num | 视频CID | 必要 | |
**json回复**

View File

@ -20,7 +20,7 @@
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | **作用尚不明确** |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -295,7 +295,7 @@ curl 'http://account.bilibili.com/home/userInfo'\
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-3API校验密匙错误<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | **作用尚不明确** |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -445,7 +445,7 @@ curl -G 'http://app.bilibili.com/x/v2/account/myinfo'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| 字段 | 类型 | 内容 | 备注 |

67
login/login_notice.md Normal file
View File

@ -0,0 +1,67 @@
# 登录记录
## 查询登录记录
> http://api.bilibili.com/x/safecenter/login_notice
*请求方式GET*
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------- | ------ | -------------------------------------------- |
| mid | num | 用户UID | 必要 | |
| buvid | str | 设备ID | 非必要 | 为操作登录接口时Cookie中的`buvid3`可为任意值 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ----------- | -------------------------- |
| mid | num | 登录用户UID | |
| device_name | str | 登录设备 | 依靠操作登录接口时的UA决定 |
| login_type | str | 登录方式 | 根据登录接口决定 |
| login_time | str | 登录时间 | YYYY-MM-DD hh:mm:ss |
| location | str | 登录位置 | 依靠ip决定 |
| ip | str | 登录ip | 部分用`*`打码 |
**示例:**
查询用户`293793435`设备ID为`fuck_chenrui`的登录记录
```shell
curl -G 'http://api.bilibili.com/x/safecenter/login_notice'\
--data-urlencode 'mid=293793435'\
--data-urlencode 'buvid=fuck_chenrui'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"mid": 293793435,
"device_name": "Chrome浏览器",
"login_type": "扫码登录",
"login_time": "2020-10-02 22:42:38",
"location": "中国陕西渭南",
"ip": "36.40.***.**"
}
}
```
</details>

View File

@ -18,7 +18,7 @@
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -80,7 +80,7 @@ curl 'http://api.bilibili.com/x/member/web/account'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -142,7 +142,7 @@ curl 'http://api.bilibili.com/x/member/web/exp/reward'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -202,7 +202,7 @@ curl 'http://api.bilibili.com/x/vip/web/user/info'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -304,7 +304,7 @@ curl 'http://passport.bilibili.com/web/site/user/info'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@ -354,7 +354,7 @@ curl 'http://api.bilibili.com/x/member/realname/status'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 数据本体 | |
`data`对象:
@ -410,7 +410,7 @@ curl 'http://api.bilibili.com/x/member/realname/apply/status'\
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 数据本体 | |
`data`对象:
@ -551,7 +551,7 @@ curl 'http://api.bilibili.com/x/member/web/coin/log'\
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-111csrf校验失败<br />40015签名包含敏感词<br />40021签名不能包含表情图片<br />40022签名过长 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
**示例:**
@ -559,7 +559,7 @@ curl 'http://api.bilibili.com/x/member/web/coin/log'\
```shell
curl 'http://api.bilibili.com/x/member/web/sign/update'\
--data-urlencode 'user_sign=高中技术宅一枚爱好MC&电子&8-bit音乐&数码&编程,资深猿厨,粉丝群1136462265'\
--data-urlencode 'user_sign=高中技术宅一枚爱好MC&电子&8-bit音乐&数码&编程粉丝群1136462265'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
```

View File

@ -18,7 +18,7 @@
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:

View File

@ -1,6 +1,6 @@
# 用户关系相关
## 查询用户粉丝明细
## 查询用户粉丝明细
<img src="/imgs/relation.svg" width="100" height="100" />
@ -8,15 +8,18 @@
*请求方式GET*
登录(SESSDATA)可看自己全部
认证方式CookieSESSDATA或APP
登录可看自己全部其他用户仅可查看前5页
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | -------------------------------- |
| vmid | num | 目标用户UID | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页码 | 非必要 | 默认为1<br />非自己仅可查看前5页 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| vmid | num | 目标用户UID | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页码 | 非必要 | 默认为1<br />其他用户仅可查看前5页 |
**json回复**
@ -88,7 +91,7 @@
**示例:**
以每页2项的方式获取`UID=293793435`的用户的第1页的粉丝明细
获取用户`UID=293793435`的粉丝明细
```shell
curl -G 'http://api.bilibili.com/x/relation/followers'\
@ -166,7 +169,7 @@ curl -G 'http://api.bilibili.com/x/relation/followers'\
</details>
## 查询用户关注明细
## 查询用户关注明细
<img src="/imgs/relation.svg" width="100" height="100" />
@ -174,15 +177,18 @@ curl -G 'http://api.bilibili.com/x/relation/followers'\
*请求方式GET*
登录(SESSDATA)可看自己全部
认证方式CookieSESSDATA或APP
登录可看自己全部其他用户仅可查看前5页
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | -------------------------------- |
| vmid | num | 目标用户UID | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页码 | 非必要 | 默认为1<br />非自己仅可查看前5页 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| vmid | num | 目标用户UID | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页码 | 非必要 | 默认为1<br />其他用户仅可查看前5页 |
**json回复**
@ -262,7 +268,7 @@ data 对象:
**示例:**
以每页2项的方式获取`UID=293793435`的用户的第1页的关注明细
获取用户`UID=293793435`的关注明细
```shell
curl -G 'http://api.bilibili.com/x/relation/ollowings'\
@ -340,6 +346,186 @@ curl -G 'http://api.bilibili.com/x/relation/ollowings'\
</details>
## 查询共同关注明细
<img src="/imgs/relation.svg" width="100" height="100" />
> http://api.bilibili.com/x/relation/same/followings
*请求方式GET*
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | -------- |
| access_key | str | APP登录Token | APP方式必要 | |
| vmid | num | 目标用户UID | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页码 | 非必要 | 默认为1 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ------------ |
| list | array | 明细列表 | |
| re_version | num | | 作用尚不明确 |
| total | num | 关注总数 | |
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | ---------------- |
| 0 | obj | 共同关注1 | |
| n | obj | 共同关注n+1 | 按照关注顺序排列 |
| …… | obj | …… | …… |
数组`list`中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | --------------------------------------- | ------------ | --------------------------------------- |
| mid | num | 用户UID | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 |
| tag | null默认分组<br />array存在至少一个分组 | 分组ID | 作用尚不明确 |
| special | num | 特别关注标志 | 0<br />1是 |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| sign | str | 用户签名 | |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
数组`list`中的对象中的`tag`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------------- | ---- |
| 0 | num | 位于分组1的分组ID | |
| n | num | 位于分组n+1的分组ID | |
| …… | num | …… | …… |
数组`list`中的对象中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ------------------- |
| type | num | 用户认证类型 | -1<br />0认证 |
| desc | str | 用户认证信息 | 无为空 |
数组`list`中的对象中的`vip`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | ----------------------------------- |
| vipType | num | 大会员类型 | 0<br />1月会员<br />2年会员 |
| vipDueDate | num | 会员到期时间 | 时间戳 毫秒 |
| dueRemark | str | 空 | 作用尚不明确 |
| accessStatus | num | 0 | 作用尚不明确 |
| vipStatus | num | 大会员状态 | 0<br />1有 |
| vipStatusWarn | str | 空 | 作用尚不明确 |
| themeType | num | 0 | 作用尚不明确 |
| label | obj | | 作用尚不明确 |
`vip`中的`label`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ------------ |
| path | str | 空 | 作用尚不明确 |
**示例:**
获取自己与用户`UID=2`的共同关注明细
```shell
curl -G 'http://api.bilibili.com/x/relation/same/followings'\
--data-urlencode 'vmid=2'\
--data-urlencode 'ps=2'\
--data-urlencode 'pn=1'\
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"mid": 116683,
"attribute": 2,
"mtime": 1564627532,
"tag": null,
"special": 0,
"uname": "=咬人猫=",
"face": "http://i0.hdslb.com/bfs/face/8fad84a4470f3d894d8f0dc95555ab8f2cb10a83.jpg",
"sign": "面瘫女仆酱~小粗腿~事业线什么的!!吐槽你就输了!喵~",
"official_verify": {
"type": 0,
"desc": "bilibili 2019百大UP主、高能联盟成员"
},
"vip": {
"vipType": 2,
"vipDueDate": 1618934400000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 1,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
},
{
"mid": 517717593,
"attribute": 2,
"mtime": 1592126052,
"tag": [
207542
],
"special": 0,
"uname": "上海爱丽丝幻乐团",
"face": "http://i0.hdslb.com/bfs/face/851a9191cbe93e66304d7577c0f6f83834e52109.jpg",
"sign": "日本同人社团 上海爱丽丝幻乐团",
"official_verify": {
"type": 0,
"desc": "上海爱丽丝幻乐团官方账号"
},
"vip": {
"vipType": 1,
"vipDueDate": 1593792000000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}
],
"re_version": 2498273968,
"total": 38
}
}
```
</details>
## 操作用户关系(关注/取关 等)
<img src="/imgs/follow.svg" width="200" height="100" />
@ -348,16 +534,17 @@ curl -G 'http://api.bilibili.com/x/relation/ollowings'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ------------------------------------- |
| fid | num | 目标用户UID | 必要 | |
| act | num | 操作代码 | 必要 | **操作代码见下表** |
| re_src | num | 关注来源代码 | 必要 | 空间11<br />视频14<br />文章115 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | -------------------------------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| fid | num | 目标用户UID | 必要 | |
| act | num | 操作代码 | 必要 | **操作代码见下表** |
| re_src | num | 关注来源代码 | 必要 | 空间11<br />视频14<br />文章115<br />活动页面222 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
操作代码`act`
@ -407,19 +594,91 @@ curl 'http://http://api.bilibili.com/x/relation/modify'\
</details>
## 批量操作用户关系(关注/取关 等)
> http://api.bilibili.com/x/relation/batch/modify
*请求方式POST*
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---------------------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| fids | nums | 目标用户UID | 必要 | 每个ID之间用`,`间隔 |
| act | num | 操作代码 | 必要 | 同上<br />仅可为1或5故只能进行批量关注和拉黑 |
| re_src | num | 关注来源代码 | 必要 | 同上 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-102账号被封停<br />-111csrf校验失败<br />-400请求错误<br />22003用户位于黑名单 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 数据本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ----- | ------------- | ---- |
| failed_fids | array | 操作失败的UID | |
`data`中的`failed_fids`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | -------------------- | ---- |
| 0 | num | 操作失败的UID 1 | |
| n | num | 操作失败的UIDn+1 | |
| …… | num | …… | …… |
**示例:**
批量关注`UID=1,2,3,4,5`的用户
```shell
curl 'http://http://api.bilibili.com/x/relation/batch/modify'\
--data-urlencode 'fid=1,2,3,4,5'\
--data-urlencode 'act=1'\
--data-urlencode 're_src=11'\
--data-urlencode 'csrf=xxx'\
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"failed_fids": []
}
}
```
</details>
## 查询用户与自己关系1 (仅查关注)
> http://api.bilibili.com/x/relation
*请求方式GET*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | ---- |
| fid | num | 目标用户UID | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| fid | num | 目标用户UID | 必要 | |
**json回复**
@ -437,7 +696,7 @@ curl 'http://http://api.bilibili.com/x/relation/modify'\
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---------------------------------------- | ------------ | --------------------------------------- |
| mid | num | 目标用户UID | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉<br />128拉黑 |
| mtime | num | 关注对方时间 | 时间戳<br />未关注为0 |
| tag | null默认分组<br />array存在至少一个分组 | 分组ID | |
| special | num | 特别关注标志 | 0<br />1是 |
@ -486,13 +745,14 @@ curl -G 'http://http://api.bilibili.com/x/relation'\
*请求方式GET*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | ---- |
| mid | num | 目标用户UID | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| mid | num | 目标用户UID | 必要 | |
**json回复**
@ -517,20 +777,20 @@ curl -G 'http://http://api.bilibili.com/x/relation'\
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---------------------------------------- | ------------ | -------------- |
| mid | num | 对方用户UID | |
| attribute | num | | |
| attribute | num | 关注属性 | 0未关注<br />1悄悄关注<br />2已关注<br />6已互粉<br />128拉黑 |
| mtime | num | 关注对方时间 | 互关后刷新时间 |
| tag | null默认分组<br />array存在至少一个分组 | | |
| special | num | | |
| tag | null默认分组<br />array存在至少一个分组 | 分组ID | |
| special | num | 特别关注标志 | 0<br />1 |
`data`中的`be_relation`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---------------------------------------- | ------------ | -------------- |
| mid | num | | |
| attribute | num | | |
| mid | num | 自己的UID | |
| attribute | num | 关注属性 | 0未关注<br />1悄悄关注<br />2已关注<br />6已互粉<br />128拉黑 |
| mtime | num | 成为粉丝时间 | 互关后刷新时间 |
| tag | null默认分组<br />array存在至少一个分组 | | |
| special | num | | |
| tag | null默认分组<br />array存在至少一个分组 | 分组ID | |
| special | num | 特别关注标志 | 0<br />1 |
`be_relation`与`relation`中的`tag`数组:
@ -581,6 +841,96 @@ curl -G 'http://api.bilibili.com/x/space/acc/relation'\
</details>
## 批量查询用户与自己关系
> http://api.bilibili.com/x/relation/relations
*请求方式GET*
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| fids | nums | 目标用户UID | 必要 | 每个ID之间用`,`间隔 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ---------- | ---- |
| {用户UID} | obj | 关注的用户 | 下同 |
| …… | obj | …… | |
`{用户UID}`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | --------------------------------------- | ------------ | ------------------------------------------------------------ |
| mid | num | 目标用户UID | |
| attribute | num | 关注属性 | 0未关注<br />1悄悄关注<br />2已关注<br />6已互粉<br />128拉黑 |
| mtime | num | 关注对方时间 | 时间戳<br />未关注为0 |
| tag | null默认分组<br />array存在至少一个分组 | 分组ID | |
| special | num | 特别关注标志 | 0<br />1是 |
`tag`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------------- | ---- |
| 0 | num | 位于分组1的分组ID | |
| n | num | 位于分组n+1的分组ID | |
| …… | num | …… | …… |
**示例:**
批量查询`UID=1,2,3,4,5`的关系
```shell
curl -G 'http://http://api.bilibili.com/x/relation/relations'\
--data-urlencode 'fid=258150656'\
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"1": {
"mid": 1,
"attribute": 2,
"mtime": 1601654227,
"tag": null,
"special": 0
},
"2": {
"mid": 2,
"attribute": 2,
"mtime": 1601654225,
"tag": null,
"special": 0
}
}
}
```
</details>
## 关注分组相关
### 查询关注分组列表
@ -589,7 +939,13 @@ curl -G 'http://api.bilibili.com/x/space/acc/relation'\
*请求方式GET*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
**json回复**
@ -662,15 +1018,16 @@ curl 'http://api.bilibili.com/x/relation/tags'\
*请求方式GET*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---------------------------------- |
| tagid | num | 分组ID | 必要 | 特别关注恒为-10<br />默认分组恒为0 |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页数 | 非必要 | 默认为1 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---------------------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| tagid | num | 分组ID | 必要 | 特别关注恒为-10<br />默认分组恒为0 |
| ps | num | 每页项数 | 非必要 | 默认为50 |
| pn | num | 页数 | 非必要 | 默认为1 |
**json回复**
@ -802,13 +1159,14 @@ curl -G 'http://api.bilibili.com/x/relation/tag'\
*请求方式GET*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | ---- |
| fid | num | 目标用户UID | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| fid | num | 目标用户UID | 必要 | |
**json回复**
@ -862,7 +1220,13 @@ curl -G 'http://api.bilibili.com/x/relation/tag/user'\
*请求方式GET*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
**json回复**
@ -931,14 +1295,15 @@ curl 'http://api.bilibili.com/x/relation/tag/special'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---------- |
| tag | str | 分组名 | 必要 | 最长16字符 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---------- |
| access_key | str | APP登录Token | APP方式必要 | |
| tag | str | 分组名 | 必要 | 最长16字符 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -990,15 +1355,16 @@ curl 'http://api.bilibili.com/x/relation/tag/create'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---------- |
| tagid | num | 分组ID | 必要 | |
| name | str | 新名称 | 必要 | 最长16字符 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---------- |
| access_key | str | APP登录Token | APP方式必要 | |
| tagid | num | 分组ID | 必要 | |
| name | str | 新名称 | 必要 | 最长16字符 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -1043,14 +1409,15 @@ curl 'http://api.bilibili.com/x/relation/tag/update'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---- |
| tagid | num | 分组ID | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ---- |
| access_key | str | APP登录Token | APP方式必要 | |
| tagid | num | 分组ID | 必要 | |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -1094,15 +1461,16 @@ curl 'http://api.bilibili.com/x/relation/tag/del'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | -------------------------- |
| fids | nums | 目标用户UID | 必要 | 每个ID之间用","%2C间隔 |
| tagids | nums | 分组ID | 必要 | 每个ID之间用","%2C间隔 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| fids | nums | 目标用户UID | 必要 | 每个ID之间用`,`间隔 |
| tagids | nums | 分组ID | 必要 | 每个ID之间用`,`间隔 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -1145,15 +1513,16 @@ curl 'http://api.bilibili.com/x/relation/tags/addUsers'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | -------------------------- |
| fids | nums | 待复制的用户UID | 必要 | 每个ID之间用","%2C间隔 |
| tagids | nums | 目标分组ID | 必要 | 每个ID之间用","%2C间隔 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| fids | nums | 待复制的用户UID | 必要 | 每个ID之间用`,`间隔 |
| tagids | nums | 目标分组ID | 必要 | 每个ID之间用`,`间隔 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**
@ -1196,16 +1565,17 @@ curl 'http://api.bilibili.com/x/relation/tags/copyUsers'\
*请求方式POST*
需要登录(SESSDATA)
认证方式CookieSESSDATA或APP
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------ | ---- | ------------------------ | ------ | -------------------------- |
| beforeTagids | nums | 原分组ID | 必要 | 每个ID之间用","%2C间隔 |
| afterTagids | nums | 新分组ID | 必要 | 每个ID之间用","%2C间隔 |
| fids | nums | 待移动的用户UID | 必要 | 每个ID之间用","%2C间隔 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------ | ---- | ------------------------ | -------------- | ------------------- |
| access_key | str | APP登录Token | APP方式必要 | |
| beforeTagids | nums | 原分组ID | 必要 | 每个ID之间用`,`间隔 |
| afterTagids | nums | 新分组ID | 必要 | 每个ID之间用`,`间隔 |
| fids | nums | 待移动的用户UID | 必要 | 每个ID之间用`,`间隔 |
| csrf | str | CSRF Token位于cookie | Cookie方式必要 | |
**json回复**