From 8edc21f2bfa0075435f5e78c83b993706516f9f3 Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Sat, 3 Oct 2020 00:53:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E3=80=90=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=AE=B0=E5=BD=95=E3=80=91=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E8=8B=A5=E5=B9=B2=E3=80=90=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=E5=8C=BA=E3=80=91=E6=8E=A5=E5=8F=A3=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E3=80=90=E6=89=B9=E9=87=8F=E4=BF=AE=E6=94=B9=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E3=80=91=E5=92=8C=E3=80=90=E6=89=B9=E9=87=8F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=85=B3=E7=B3=BB=E3=80=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +- comment/action.md | 114 +++--- comment/{comment_list.md => list.md} | 374 +++--------------- comment/readme.md | 268 +++++++++++++ danmaku/action.md | 89 ++--- login/login_info.md | 6 +- login/login_notice.md | 67 ++++ login/member_center.md | 18 +- message/msg.md | 2 +- user/relation.md | 542 ++++++++++++++++++++++----- 10 files changed, 970 insertions(+), 513 deletions(-) rename comment/{comment_list.md => list.md} (93%) create mode 100644 comment/readme.md create mode 100644 login/login_notice.md diff --git a/README.md b/README.md index fa68104..a06848f 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/comment/action.md b/comment/action.md index 8920afa..7a42dd2 100644 --- a/comment/action.md +++ b/comment/action.md @@ -1,6 +1,6 @@ # 评论区操作 -**本页所有操作均需登录(Cookie)** +**本页所有操作均需登录(Cookie或APP)** 使用该登录token识别用户身份 @@ -10,19 +10,20 @@ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ | -| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** | -| oid | num | 目标评论区ID | 必要 | | -| root | num | 根评论rpID | 非必要 | 二级评论以上使用 | -| parent | num | 父评论rpID | 非必要 | 二级评论同根评论ID
大于二级评论为要回复的评论ID | -| message | str | 发送评论内容 | 必要 | 最大1000字符
表情使用表情转义符 | -| plat | num | 发送平台标识 | 非必要 | 1:web端
2:安卓客户端
3:ios客户端
4:wp客户端
默认为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
大于二级评论为要回复的评论ID | +| message | str | 发送评论内容 | 必要 | 最大1000字符
表情使用表情转义符 | +| plat | num | 发送平台标识 | 非必要 | 1:web端
2:安卓客户端
3:ios客户端
4:wp客户端
默认为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
若为二级评论则为根评论ID
大于二级评论为上一级评论ID | | parent_str | str | 回复父评论rpID | 字串格式 | -| emote | obj | 表情转义符信息 | 无表情时无此项
**见「[评论区明细](comment_list.md#附表-评论条目对象)」的附表** | -| reply | 有效时:obj
无效时:null | | **见「[评论区明细](comment_list.md#附表-评论条目对象)」的附表** | +| emote | obj | 表情转义符信息 | [对象定义见表](readme.md) | +| reply | 有效时:obj
无效时:null | | [对象定义见表](readme.md) | **示例:** @@ -233,19 +234,20 @@ curl 'http://api.bilibili.com/x/v2/reply/add'\ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 点赞成功后会同时消去该评论的点踩 **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- | -| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** | -| oid | num | 目标评论区ID | 必要 | | -| rpid | num | 目标评论rpID | 必要 | | -| action | num | 操作代码 | 非必要 | 默认为0
0:取消赞
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
0:取消赞
1:点赞 | +| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | **json回复:** @@ -290,19 +292,20 @@ curl 'http://api.bilibili.com/x/v2/reply/action'\ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 点踩成功后会同时消去该评论的点赞 **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- | -| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** | -| oid | num | 目标评论区ID | 必要 | | -| rpid | num | 目标评论rpID | 必要 | | -| action | num | 操作代码 | 非必要 | 默认为0
0:取消踩
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
0:取消踩
1:点踩 | +| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | **json回复:** @@ -347,18 +350,19 @@ curl 'http://api.bilibili.com/x/v2/reply/hate'\ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或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* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 只能置顶自己管理的评论区中的一级评论 **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------------------ | ------ | ----------------------------------------------- | -| type | num | 评论区类型代码 | 必要 | **类型代码见「[评论区明细](comment_list.md)」** | -| oid | num | 目标评论区ID | 必要 | | -| rpid | num | 目标评论rpID | 必要 | | -| action | num | 操作代码 | 非必要 | 默认为0
0:取消置顶
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
0:取消置顶
1:设为置顶 | +| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | **json回复:** @@ -459,18 +464,19 @@ curl 'http://api.bilibili.com/x/v2/reply/top'\ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或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`: diff --git a/comment/comment_list.md b/comment/list.md similarity index 93% rename from comment/comment_list.md rename to comment/list.md index 1182fb0..0b06735 100644 --- a/comment/comment_list.md +++ b/comment/list.md @@ -1,52 +1,24 @@ -# 点评评论区明细 +# 评论区明细 - - -**已知的评论区类型代码总览:** - -| 代码 | 评论区类型 | 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* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | -------------- | ------ | -------------------------------------------------------- | -| type | num | 评论区类型代码 | 必要 | **类型代码见上表** | -| oid | num | 目标评论区ID | 必要 | | -| sort | num | 排序方式 | 非必要 | 默认为0
0:按时间
1:按点赞数
2:按回复数 | -| nohot | num | 是否不显示热评 | 非必要 | 默认为0
1:不显示
0:显示 | -| pn | num | 页码 | 非必要 | 默认为1 | -| ps | num | 每页项数 | 非必要 | 默认为20
定义域:1-49 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ----------- | -------------------------------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** | +| oid | num | 目标评论区ID | 必要 | | +| sort | num | 排序方式 | 非必要 | 默认为0
0:按时间
1:按点赞数
2:按回复数 | +| nohot | num | 是否不显示热评 | 非必要 | 默认为0
1:不显示
0:显示 | +| pn | num | 页码 | 非必要 | 默认为1 | +| ps | num | 每页项数 | 非必要 | 默认为20
定义域:1-49 | **json回复:** @@ -2347,25 +2319,24 @@ curl -G 'http://api.bilibili.com/x/v2/reply'\ - - -## 获取评论区明细2(APP端)(带有楼层号 ) +## 获取评论区明细2(带有楼层号 ) > http://api.bilibili.com/x/v2/reply/main *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | -------------- | ------ | ------------------------------------------------------------ | -| type | num | 评论区类型代码 | 必要 | **类型代码见上表** | -| oid | num | 目标评论区ID | 必要 | | -| mode | num | 排序方式 | 非必要 | 默认为0
0 3:仅按热度
1:按热度+按时间
2:仅按时间 | -| next | num | 评论页选择 | 非必要 | 按热度时:热度顺序页码(0为第一页)
按时间时:时间倒序楼层号
默认为0 | -| ps | num | 每页项数 | 非必要 | 默认为20
定义域:1-49 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ----------- | ------------------------------------------------------------ | +| access_key | str | APP登录Token | APP方式必要 | | +| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** | +| oid | num | 目标评论区ID | 必要 | | +| mode | num | 排序方式 | 非必要 | 默认为0
0 3:仅按热度
1:按热度+按时间
2:仅按时间 | +| next | num | 评论页选择 | 非必要 | 按热度时:热度顺序页码(0为第一页)
按时间时:时间倒序楼层号
默认为0 | +| ps | num | 每页项数 | 非必要 | 默认为20
定义域:1-49 | **json回复:** @@ -4728,27 +4699,26 @@ curl -G 'http://api.bilibili.com/x/v2/reply/main'\ - - -## 获取指定评论条目及二级回复明细1(web端)(分离结构 无楼层号) +## 获取指定评论条目及二级回复明细1(分离结构 无楼层号) > http://api.bilibili.com/x/v2/reply/reply *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 按照热度排列 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ---------------- | ------ | -------------------------- | -| type | num | 评论区类型代码 | 必要 | **类型代码见上表** | -| oid | num | 目标评论区ID | 必要 | | -| root | num | 目标一级评论rpID | 必要 | | -| pn | num | 二级评论页码 | 非必要 | 默认为1 | -| ps | num | 二级评论每页项数 | 非必要 | 默认为20
定义域:1-49 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ---------------- | ----------- | ----------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** | +| oid | num | 目标评论区ID | 必要 | | +| root | num | 目标一级评论rpID | 必要 | | +| pn | num | 二级评论页码 | 非必要 | 默认为1 | +| ps | num | 二级评论每页项数 | 非必要 | 默认为20
定义域:1-49 | **json回复:** @@ -5467,25 +5437,26 @@ curl -G 'http://api.bilibili.com/x/v2/reply/reply'\ -## 获取指定评论条目及二级回复明细2(APP端)(嵌套结构 带有楼层号) +## 获取指定评论条目及二级回复明细2(嵌套结构 带有楼层号) > http://api.bilibili.com/x/v2/reply/detail *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP 按照楼层排列 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | -------------- | ------ | -------------------------------------- | -| type | num | 评论区类型代码 | 必要 | **类型代码见上表** | -| oid | num | 目标评论区ID | 必要 | | -| root | num | 根回复rpID | 必要 | | -| next | num | 评论页选择 | 非必要 | 第一页为0
默认为0
顺序楼层号 | -| ps | num | 每页项数 | 非必要 | 默认为0 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | -------------- | ----------- | -------------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| type | num | 评论区类型代码 | 必要 | **[类型代码见表](readme.md)** | +| oid | num | 目标评论区ID | 必要 | | +| root | num | 根回复rpID | 必要 | | +| next | num | 评论页选择 | 非必要 | 第一页为0
默认为0
顺序楼层号 | +| ps | num | 每页项数 | 非必要 | 默认为0 | **json回复:** @@ -6223,25 +6194,26 @@ curl -G 'http://api.bilibili.com/x/v2/reply/detail'\ -## 获取指定评论对话树(APP端)(带有楼层) +## 获取指定评论对话树(带有楼层) > http://api.bilibili.com/x/v2/reply/dialog/cursor *请求方式:GET* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或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'\ -## 获取评论区评论总数(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'\ -## 附表-评论条目对象 - -| 字段 | 类型 | 内容 | 备注 | -| ----------- | ------------------------------- | ---------------- | ------------------------------------------------------------ | -| rpid | num | 评论rpID | | -| oid | num | 目标评论区rpID | | -| type | num | 评论区类型代码 | **类型代码见上表** | -| mid | num | 评论发送者UID | | -| root | num | 根评论rpID | 若为一级评论则为0
大于一级评论则为根评论ID | -| parent | num | 回复父评论rpID | 若为一级评论则为0
若为二级评论则为根评论rpID
大于二级评论为上一级评论rpID | -| dialog | num | 回复对方rpID | 若为一级评论则为0
若为二级评论则为该评论rpID
大于二级评论为上一级评论rpID | -| count | num | 评论回复条数 | | -| rcount | num | 评论回复条数 | | -| floor | num | 评论楼层号 | **重要:若不支持楼层则无此项** | -| state | num | 0 | **作用尚不明确** | -| fansgrade | num | 是否具有粉丝标签 | 0:无
1:有 | -| attr | num | ??? | **作用尚不明确** | -| ctime | num | 评论发送时间 | 时间戳 | -| rpid_str | str | 评论rpID | 字串格式 | -| root_str | str | 根评论rpID | 字串格式 | -| parent_str | str | 回复父评论rpID | 字串格式 | -| like | num | 评论获赞数 | | -| action | num | 当前用户操作状态 | 需要登录(SESSDATA)
否则恒为0
0:无
1:已点赞
2:已点踩 | -| member | obj | 评论发送者信息 | | -| content | obj | 评论信息 | | -| replies | 无效时:null
有效时:array | 评论回复条目预览 | **仅嵌套一层**
否则为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
有效时:obj | 发送者粉丝标签 | | -| following | num | 是否关注该用户 | 需要登录(SESSDATA)
否则恒为0
0:未关注
1:已关注 | -| is_followed | num | 是否被该用户关注 | 需要登录(SESSDATA)
否则恒为0
0:未关注
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:无
0:认证 | -| desc | str | 认证信息 | 无为空 | - -`member`中的`vip`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | -------------- | ----------------------------------- | -| vipType | num | 大会员类型 | 0:无
1:月会员
2:年会员 | -| vipDueDate | num | 大会员到期时间 | 毫秒 时间戳 | -| dueRemark | str | 空 | **作用尚不明确** | -| accessStatus | num | 0 | **作用尚不明确** | -| vipStatus | num | 大会员状态 | 0:无
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
有效时:obj | 头像框信息 | | -| cardbg | 无效时:null
有效时:obj | 评论条目装扮 | | -| cardbg_with_focus | null | - | **作用尚不明确** | - -`user_sailing`中的`pendant`对象: - -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ------------- | ------------------------------------- | -| id | num | 头像框ID | | -| name | str | 头像框名称 | | -| image | str | 头像框图片url | | -| jump_url | str | 空 | | -| type | str | 装扮类型 | suit:一般装扮
vip_suit:vip装扮 | - -`user_sailing`中的`cardbg`对象: - -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ----------------------- | ------------------------------------- | -| id | num | 评论条目装扮ID | | -| name | str | 评论条目装扮名称 | | -| image | str | 评论条目装扮图片url | | -| jump_url | str | 评论条目装扮商城页面url | | -| fan | obj | 粉丝专属信息 | | -| type | str | 装扮类型 | suit:一般装扮
vip_suit:vip装扮 | - -`cardbg`中的`fan`对象: - -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ------------------ | ---------------- | -| is_fan | num | 是否为粉丝专属装扮 | 0:否
1:是 | -| number | num | 粉丝专属编号 | | -| color | str | 数字颜色 | 颜色码 | -| name | str | 装扮名称 | | -| num_desc | str | 粉丝专属编号 | 字串格式 | - -`评论条目`中的`content`对象: - -| 字段 | 类型 | 内容 | 备注 | -| -------- | ----- | -------------------- | ------------------------------------------------------------ | -| message | str | 评论内容 | **重要** | -| plat | num | 评论发送平台 | 1:web端
2:安卓客户端
3:ios客户端
4:wp客户端 | -| 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:免费
2:会员专属
3:购买所得
4:颜文字 | -| attr | num | 0 | **作用尚不明确** | -| text | str | 表情转义符 | | -| url | str | 表情图片url | | -| meta | obj | 属性信息 | | -| mtime | num | 表情创建时间 | 时间戳 | - -`{表情转义符}`中的`meta`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ------------ | ---------------- | -| size | num | 表情尺寸信息 | 1:小
2:大 | -| alias | str | 简写名 | 无则无此项 | - -`评论条目`中的`replies`数组: - -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | --------- | ------------------------------------------------------------ | -| 0 | obj | 回复条目1 | **为本对象的递归嵌套**
**仅嵌套一层**
按照热度顺序排列 | -| 1 | obj | 回复条目2 | | -| 2 | obj | 回复条目3 | 最后一项 | - -`评论条目`中的`folder`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ---- | ------ | ---------------- | -| has_folded | bool | false | **作用尚不明确** | -| is_folded | bool | false | **作用尚不明确** | -| rule | str | ??? | **作用尚不明确** | - -`评论条目`中的`up_action`对象: - -| 字段 | 类型 | 内容 | 备注 | -| ----- | ---- | ---------------- | ----------------------- | -| like | bool | 是否UP主觉得很赞 | false:否
true:是 | -| reply | bool | 是否被UP主回复 | false:否
true:是 | \ No newline at end of file diff --git a/comment/readme.md b/comment/readme.md new file mode 100644 index 0000000..c24673b --- /dev/null +++ b/comment/readme.md @@ -0,0 +1,268 @@ +# 评论区 + + + +评论区接口分为**查询**与**操作**两大类 + +- [查询类](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
大于一级评论则为根评论ID | +| parent | num | 回复父评论rpID | 若为一级评论则为0
若为二级评论则为根评论rpID
大于二级评论为上一级评论rpID | +| dialog | num | 回复对方rpID | 若为一级评论则为0
若为二级评论则为该评论rpID
大于二级评论为上一级评论rpID | +| count | num | 评论回复条数 | | +| rcount | num | 评论回复条数 | | +| floor | num | 评论楼层号 | **重要:若不支持楼层则无此项** | +| state | num | 0 | **作用尚不明确** | +| fansgrade | num | 是否具有粉丝标签 | 0:无
1:有 | +| attr | num | ??? | **作用尚不明确** | +| ctime | num | 评论发送时间 | 时间戳 | +| rpid_str | str | 评论rpID | 字串格式 | +| root_str | str | 根评论rpID | 字串格式 | +| parent_str | str | 回复父评论rpID | 字串格式 | +| like | num | 评论获赞数 | | +| action | num | 当前用户操作状态 | 需要登录(SESSDATA)
否则恒为0
0:无
1:已点赞
2:已点踩 | +| member | obj | 评论发送者信息 | | +| content | obj | 评论信息 | | +| replies | 无效时:null
有效时:array | 评论回复条目预览 | **仅嵌套一层**
否则为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
有效时:obj | 发送者粉丝标签 | | +| following | num | 是否关注该用户 | 需要登录(SESSDATA)
否则恒为0
0:未关注
1:已关注 | +| is_followed | num | 是否被该用户关注 | 需要登录(SESSDATA)
否则恒为0
0:未关注
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:无
0:认证 | +| desc | str | 认证信息 | 无为空 | + +`member`中的`vip`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | -------------- | ----------------------------------- | +| vipType | num | 大会员类型 | 0:无
1:月会员
2:年会员 | +| vipDueDate | num | 大会员到期时间 | 毫秒 时间戳 | +| dueRemark | str | 空 | **作用尚不明确** | +| accessStatus | num | 0 | **作用尚不明确** | +| vipStatus | num | 大会员状态 | 0:无
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
有效时:obj | 头像框信息 | | +| cardbg | 无效时:null
有效时:obj | 评论条目装扮 | | +| cardbg_with_focus | null | - | **作用尚不明确** | + +`user_sailing`中的`pendant`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | ------------- | ------------------------------------- | +| id | num | 头像框ID | | +| name | str | 头像框名称 | | +| image | str | 头像框图片url | | +| jump_url | str | 空 | | +| type | str | 装扮类型 | suit:一般装扮
vip_suit:vip装扮 | + +`user_sailing`中的`cardbg`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | ----------------------- | ------------------------------------- | +| id | num | 评论条目装扮ID | | +| name | str | 评论条目装扮名称 | | +| image | str | 评论条目装扮图片url | | +| jump_url | str | 评论条目装扮商城页面url | | +| fan | obj | 粉丝专属信息 | | +| type | str | 装扮类型 | suit:一般装扮
vip_suit:vip装扮 | + +`cardbg`中的`fan`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ---- | ------------------ | ---------------- | +| is_fan | num | 是否为粉丝专属装扮 | 0:否
1:是 | +| number | num | 粉丝专属编号 | | +| color | str | 数字颜色 | 颜色码 | +| name | str | 装扮名称 | | +| num_desc | str | 粉丝专属编号 | 字串格式 | + +`评论条目`中的`content`对象: + +| 字段 | 类型 | 内容 | 备注 | +| -------- | ----- | -------------------- | ------------------------------------------------------------ | +| message | str | 评论内容 | **重要** | +| plat | num | 评论发送平台 | 1:web端
2:安卓客户端
3:ios客户端
4:wp客户端 | +| 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:免费
2:会员专属
3:购买所得
4:颜文字 | +| attr | num | 0 | **作用尚不明确** | +| text | str | 表情转义符 | | +| url | str | 表情图片url | | +| meta | obj | 属性信息 | | +| mtime | num | 表情创建时间 | 时间戳 | + +`{表情转义符}`中的`meta`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ------------ | ---------------- | +| size | num | 表情尺寸信息 | 1:小
2:大 | +| alias | str | 简写名 | 无则无此项 | + +`评论条目`中的`replies`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | --------- | ------------------------------------------------------------ | +| 0 | obj | 回复条目1 | **为本对象的递归嵌套**
**仅嵌套一层**
按照热度顺序排列 | +| 1 | obj | 回复条目2 | | +| 2 | obj | 回复条目3 | 最后一项 | + +`评论条目`中的`folder`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ---- | ------ | ---------------- | +| has_folded | bool | false | **作用尚不明确** | +| is_folded | bool | false | **作用尚不明确** | +| rule | str | ??? | **作用尚不明确** | + +`评论条目`中的`up_action`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----- | ---- | ---------------- | ----------------------- | +| like | bool | 是否UP主觉得很赞 | false:否
true:是 | +| reply | bool | 是否被UP主回复 | false:否
true:是 | \ No newline at end of file diff --git a/danmaku/action.md b/danmaku/action.md index cb4ab58..c1b51ae 100644 --- a/danmaku/action.md +++ b/danmaku/action.md @@ -6,24 +6,25 @@ *请求方式:POST* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或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 | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒
默认为0 | -| color | num | 弹幕颜色设置 | 非必要 | 十进制RGB888值
默认为16777215(#FFFFFF)白色 | -| fontsize | num | 弹幕字号设置 | 非必要 | 默认为25
极小:12
超小:16
小:18
标准:25
大:36
超大:45
极大:64 | -| pool | num | 弹幕池选择 | 非必要 | 0:普通池
1:字幕池
2:特殊池(代码/BAS弹幕)
默认为0 | -| mode | num | 弹幕类型选择 | 必要 | 1:普通弹幕
4:底部弹幕
5:顶部弹幕
7:高级弹幕
9:BAS弹幕(`pool`必须为2) | -| rnd | num | 当前时间戳*1000000 | 非必要 | **若无此项,则发送弹幕冷却时间限制为90s**
若有此项,则发送弹幕冷却时间限制为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 | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒
默认为0 | +| color | num | 弹幕颜色设置 | 非必要 | 十进制RGB888值
默认为16777215(#FFFFFF)白色 | +| fontsize | num | 弹幕字号设置 | 非必要 | 默认为25
极小:12
超小:16
小:18
标准:25
大:36
超大:45
极大:64 | +| pool | num | 弹幕池选择 | 非必要 | 0:普通池
1:字幕池
2:特殊池(代码/BAS弹幕)
默认为0 | +| mode | num | 弹幕类型选择 | 必要 | 1:普通弹幕
4:底部弹幕
5:顶部弹幕
7:高级弹幕
9:BAS弹幕(`pool`必须为2) | +| rnd | num | 当前时间戳*1000000 | 非必要 | **若无此项,则发送弹幕冷却时间限制为90s**
若有此项,则发送弹幕冷却时间限制为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 | 互动弹幕类型 | 必要 | 1:UP主头像弹幕
2:关联视频弹幕
5:视频内嵌引导关注按钮 | -| aid | num | 视频avID | 必要 | | -| cid | num | 视频CID | 必要 | | -| progress | num | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒
默认为0 | -| plat | num | 平台标识 | 必要 | 1:web端
2:安卓端
8:视频管理页面 | -| data | str | json序列 | 必要 | | -| dmid | num | 修改互动弹幕的弹幕ID | 非必要 | 注:修改弹幕`plat`必须为8 | -| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ | +| access_key | str | APP登录Token | APP方式必要 | | +| type | num | 互动弹幕类型 | 必要 | 1:UP主头像弹幕
2:关联视频弹幕
5:视频内嵌引导关注按钮 | +| aid | num | 视频avID | 必要 | | +| cid | num | 视频CID | 必要 | | +| progress | num | 弹幕出现在视频内的时间 | 非必要 | 单位为毫秒
默认为0 | +| plat | num | 平台标识 | 必要 | 1:web端
2:安卓端
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* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或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* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或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* -认证方式:Cookie(SESSDATA) +认证方式:Cookie(SESSDATA)或APP **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------- | ------ | ---- | -| mode | str | sp | 必要 | | -| cid | num | 视频CID | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | +| mode | str | sp | 必要 | | +| cid | num | 视频CID | 必要 | | **json回复:** diff --git a/login/login_info.md b/login/login_info.md index bda76d2..3ca91c2 100644 --- a/login/login_info.md +++ b/login/login_info.md @@ -20,7 +20,7 @@ | ------- | ---- | -------- | ----------------------------- | | code | num | 返回值 | 0:成功
-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:成功
-3:API校验密匙错误
-101:账号未登录
-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:成功
-101:账号未登录 | | message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | 作用尚不明确 | +| ttl | num | 1 | | | data | obj | 信息本体 | | | 字段 | 类型 | 内容 | 备注 | diff --git a/login/login_notice.md b/login/login_notice.md new file mode 100644 index 0000000..86d6503 --- /dev/null +++ b/login/login_notice.md @@ -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:成功
-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' +``` + +
+查看响应示例: + +```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.***.**" + } +} +``` + +
\ No newline at end of file diff --git a/login/member_center.md b/login/member_center.md index a706ad3..48eeec7 100644 --- a/login/member_center.md +++ b/login/member_center.md @@ -18,7 +18,7 @@ | ------- | ---- | -------- | ----------------------------- | | code | num | 返回值 | 0:成功
-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:成功
-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:成功
-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:成功
-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:成功
-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:成功
-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:成功
-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:成功
-101:账号未登录
-111:csrf校验失败
40015:签名包含敏感词
40021:签名不能包含表情图片
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' ``` diff --git a/message/msg.md b/message/msg.md index 60de324..6cfcf80 100644 --- a/message/msg.md +++ b/message/msg.md @@ -18,7 +18,7 @@ | ------- | ---- | -------- | ----------------------------- | | code | num | 返回值 | 0:成功
-101:账号未登录 | | message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | 作用尚不明确 | +| ttl | num | 1 | | | data | obj | 信息本体 | | data 对象: diff --git a/user/relation.md b/user/relation.md index f74f295..693f2c9 100644 --- a/user/relation.md +++ b/user/relation.md @@ -1,6 +1,6 @@ # 用户关系相关 -## 查询用户粉丝明细 +## 查询用户粉丝明细 @@ -8,15 +8,18 @@ *请求方式:GET* -登录(SESSDATA)可看自己全部 +认证方式:Cookie(SESSDATA)或APP + +登录可看自己全部,其他用户仅可查看前5页 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | -------------------------------- | -| vmid | num | 目标用户UID | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为50 | -| pn | num | 页码 | 非必要 | 默认为1
非自己仅可查看前5页 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| vmid | num | 目标用户UID | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为50 | +| pn | num | 页码 | 非必要 | 默认为1
其他用户仅可查看前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'\ -## 查询用户关注明细 +## 查询用户关注明细 @@ -174,15 +177,18 @@ curl -G 'http://api.bilibili.com/x/relation/followers'\ *请求方式:GET* -登录(SESSDATA)可看自己全部 +认证方式:Cookie(SESSDATA)或APP + +登录可看自己全部,其他用户仅可查看前5页 **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ----------- | ------ | -------------------------------- | -| vmid | num | 目标用户UID | 必要 | | -| ps | num | 每页项数 | 非必要 | 默认为50 | -| pn | num | 页码 | 非必要 | 默认为1
非自己仅可查看前5页 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| vmid | num | 目标用户UID | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为50 | +| pn | num | 页码 | 非必要 | 默认为1
其他用户仅可查看前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'\ +## 查询共同关注明细 + + + +> http://api.bilibili.com/x/relation/same/followings + +*请求方式:GET* + +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | -------- | +| access_key | str | APP登录Token | APP方式必要 | | +| vmid | num | 目标用户UID | 必要 | | +| ps | num | 每页项数 | 非必要 | 默认为50 | +| pn | num | 页码 | 非必要 | 默认为1 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-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:未关注
2:已关注
6:已互粉 | +| mtime | num | 关注对方时间 | 时间戳
互关后刷新 | +| tag | null默认分组
array存在至少一个分组 | 分组ID | 作用尚不明确 | +| special | num | 特别关注标志 | 0:否
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:无
0:认证 | +| desc | str | 用户认证信息 | 无为空 | + +数组`list`中的对象中的`vip`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------------- | ---- | ------------ | ----------------------------------- | +| vipType | num | 大会员类型 | 0:无
1:月会员
2:年会员 | +| vipDueDate | num | 会员到期时间 | 时间戳 毫秒 | +| dueRemark | str | 空 | 作用尚不明确 | +| accessStatus | num | 0 | 作用尚不明确 | +| vipStatus | num | 大会员状态 | 0:无
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' +``` + +
+查看响应示例: + +```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 + } +} +``` + +
+ ## 操作用户关系(关注/取关 等) @@ -348,16 +534,17 @@ curl -G 'http://api.bilibili.com/x/relation/ollowings'\ *请求方式:POST* -需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或APP **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | ------------------------ | ------ | ------------------------------------- | -| fid | num | 目标用户UID | 必要 | | -| act | num | 操作代码 | 必要 | **操作代码见下表** | -| re_src | num | 关注来源代码 | 必要 | 空间:11
视频:14
文章:115 | -| csrf | str | CSRF Token(位于cookie) | 必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | -------------- | -------------------------------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| fid | num | 目标用户UID | 必要 | | +| act | num | 操作代码 | 必要 | **操作代码见下表** | +| re_src | num | 关注来源代码 | 必要 | 空间:11
视频:14
文章:115
活动页面:222 | +| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | 操作代码`act`: @@ -407,19 +594,91 @@ curl 'http://http://api.bilibili.com/x/relation/modify'\ +## 批量操作用户关系(关注/取关 等) + +> http://api.bilibili.com/x/relation/batch/modify + +*请求方式:POST* + +认证方式:Cookie(SESSDATA)或APP + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------------------ | -------------- | ---------------------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| fids | nums | 目标用户UID | 必要 | 每个ID之间用`,`间隔 | +| act | num | 操作代码 | 必要 | 同上
仅可为1或5,故只能进行批量关注和拉黑 | +| re_src | num | 关注来源代码 | 必要 | 同上 | +| csrf | str | CSRF Token(位于cookie) | Cookie方式必要 | | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------------------ | +| code | num | 返回值 | 0:成功
-101:账号未登录
-102:账号被封停
-111:csrf校验失败
-400:请求错误
22003:用户位于黑名单 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 数据本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| ----------- | ----- | ------------- | ---- | +| failed_fids | array | 操作失败的UID | | + +`data`中的`failed_fids`数组: + +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | -------------------- | ---- | +| 0 | num | 操作失败的UID 1 | | +| n | num | 操作失败的UID(n+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' +``` + +
+查看响应示例: +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "failed_fids": [] + } +} +``` + +
+ ## 查询用户与自己关系1 (仅查关注) > http://api.bilibili.com/x/relation *请求方式:GET* - 需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或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:未关注
2:已关注
6:已互粉 | +| attribute | num | 关注属性 | 0:未关注
2:已关注
6:已互粉
128:拉黑 | | mtime | num | 关注对方时间 | 时间戳
未关注为0 | | tag | null默认分组
array存在至少一个分组 | 分组ID | | | special | num | 特别关注标志 | 0:否
1:是 | @@ -486,13 +745,14 @@ curl -G 'http://http://api.bilibili.com/x/relation'\ *请求方式:GET* -需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或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:未关注
1:悄悄关注
2:已关注
6:已互粉
128:拉黑 | | mtime | num | 关注对方时间 | 互关后刷新时间 | -| tag | null默认分组
array存在至少一个分组 | | | -| special | num | | | +| tag | null默认分组
array存在至少一个分组 | 分组ID | | +| special | num | 特别关注标志 | 0:否
1:是 | `data`中的`be_relation`对象: | 字段 | 类型 | 内容 | 备注 | | --------- | ---------------------------------------- | ------------ | -------------- | -| mid | num | | | -| attribute | num | | | +| mid | num | 自己的UID | | +| attribute | num | 关注属性 | 0:未关注
1:悄悄关注
2:已关注
6:已互粉
128:拉黑 | | mtime | num | 成为粉丝时间 | 互关后刷新时间 | -| tag | null默认分组
array存在至少一个分组 | | | -| special | num | | | +| tag | null默认分组
array存在至少一个分组 | 分组ID | | +| special | num | 特别关注标志 | 0:否
1:是 | `be_relation`与`relation`中的`tag`数组: @@ -581,6 +841,96 @@ curl -G 'http://api.bilibili.com/x/space/acc/relation'\ +## 批量查询用户与自己关系 + +> http://api.bilibili.com/x/relation/relations + +*请求方式:GET* + +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| fids | nums | 目标用户UID | 必要 | 每个ID之间用`,`间隔 | + +**json回复:** + +根对象: + +| 字段 | 类型 | 内容 | 备注 | +| ------- | ---- | -------- | ------------------------------------------------- | +| code | num | 返回值 | 0:成功
-101:账号未登录
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | + +`data`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | ---- | ---------- | ---- | +| {用户UID} | obj | 关注的用户 | 下同 | +| …… | obj | …… | | + +`{用户UID}`对象: + +| 字段 | 类型 | 内容 | 备注 | +| --------- | --------------------------------------- | ------------ | ------------------------------------------------------------ | +| mid | num | 目标用户UID | | +| attribute | num | 关注属性 | 0:未关注
1:悄悄关注
2:已关注
6:已互粉
128:拉黑 | +| mtime | num | 关注对方时间 | 时间戳
未关注为0 | +| tag | null默认分组
array存在至少一个分组 | 分组ID | | +| special | num | 特别关注标志 | 0:否
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' +``` + +
+查看响应示例: + +```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 + } + } +} +``` + +
+ ## 关注分组相关 ### 查询关注分组列表 @@ -589,7 +939,13 @@ curl -G 'http://api.bilibili.com/x/space/acc/relation'\ *请求方式:GET* -需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -662,15 +1018,16 @@ curl 'http://api.bilibili.com/x/relation/tags'\ *请求方式:GET* -需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或APP **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | -------- | ------ | ---------------------------------- | -| tagid | num | 分组ID | 必要 | 特别关注恒为-10
默认分组恒为0 | -| ps | num | 每页项数 | 非必要 | 默认为50 | -| pn | num | 页数 | 非必要 | 默认为1 | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---------------------------------- | +| access_key | str | APP登录Token | APP方式必要 | | +| tagid | num | 分组ID | 必要 | 特别关注恒为-10
默认分组恒为0 | +| ps | num | 每页项数 | 非必要 | 默认为50 | +| pn | num | 页数 | 非必要 | 默认为1 | **json回复:** @@ -802,13 +1159,14 @@ curl -G 'http://api.bilibili.com/x/relation/tag'\ *请求方式:GET* -需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或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) +认证方式:Cookie(SESSDATA)或APP + +**url参数:** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ---------- | ---- | ------------ | ----------- | ---- | +| access_key | str | APP登录Token | APP方式必要 | | **json回复:** @@ -931,14 +1295,15 @@ curl 'http://api.bilibili.com/x/relation/tag/special'\ *请求方式:POST* -需要登录(SESSDATA) +认证方式:Cookie(SESSDATA)或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) +认证方式:Cookie(SESSDATA)或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) +认证方式:Cookie(SESSDATA)或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) +认证方式:Cookie(SESSDATA)或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) +认证方式:Cookie(SESSDATA)或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) +认证方式:Cookie(SESSDATA)或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回复:**