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回复:**