例行更新

This commit is contained in:
SocialSisterYi 2020-03-17 11:05:26 +08:00
parent 3780d7a571
commit 396eb24d2b
5 changed files with 942 additions and 173 deletions

2
.gitignore vendored
View File

@ -1,6 +1,6 @@
user/relation.md
user/space.md
login/password&SMS.md
B站API.txt
login/msg.md
live/info_flow.md

View File

@ -22,7 +22,7 @@
- [用户](https://github.com/SocialSisterYi/bilibili-API-collect/tree/master/user)
- [基本信息](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/user/info.md)√
- [状态数](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/user/status_number.md)√
- 关系
- [关系](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/user/relation.md)√
- 个人空间
- [视频](https://github.com/SocialSisterYi/bilibili-API-collect/tree/master/video)
- 视频分区代码
@ -66,8 +66,9 @@
- 收藏夹
- 课程
- 直播
- 直播间基本信息
- 直播视频流
- 直播弹幕
- 直播信息流
- B币钱包
- 漫画
- 轻视频

View File

@ -1,169 +0,0 @@
# 直播间信息流
## 数据包格式
数据包为websocket格式为头部数据+正文数据
操作流程:
发送认证包->接收认证包回应->接收普通包&每30秒发送心跳包->接收心跳回应)
头部格式:
| 偏移量 | 长度 | 类型 | 含义 |
| ------ | ---- | ------ | ------------------------------------------------------------ |
| 0 | 4 | uint32 | 封包总大小(头部大小+正文大小) |
| 4 | 2 | uint16 | 头部大小一般为0x001016字节 |
| 6 | 2 | uint16 | 协议版本:<br />0普通包正文不使用压缩 <br />1心跳及认证包正文不使用压缩<br />2普通包正文使用zlib压缩 |
| 8 | 4 | uint32 | 操作码(封包类型) |
| 12 | 4 | uint32 | sequence可以取常数1 |
操作码:
| 代码 | 含义 |
| ---- | -------------------- |
| 2 | 心跳包 |
| 3 | 心跳包回复(人气值) |
| 5 | 普通包(命令) |
| 7 | 认证包 |
| 8 | 认证包回复 |
### 认证包
方式:(上行)
连接成功后5秒内发送否则强制断开连接
正文:
json格式
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ------------ | -------------- |
| uid | num | 用户UID | 不可为0 |
| roomid | num | 加入房间的ID | |
| protover | num | 协议版本 | 现在是2 |
| platform | str | 平台标识 | 可为"web" |
| clientver | str | 客户端版本 | 现在是"1.10.3" |
| type | num | 必须为2 | |
| key | str | 认证秘钥 | |
示例:
```
00000000 00 00 00 f0 00 10 00 01 00 00 00 07 00 00 00 01 |................|
00000010 7b 22 75 69 64 22 3a 32 39 33 37 39 33 34 33 35 |{"uid":293793435|
00000020 2c 22 72 6f 6f 6d 69 64 22 3a 32 31 36 38 36 32 |,"roomid":216862|
00000030 33 37 2c 22 70 72 6f 74 6f 76 65 72 22 3a 32 2c |37,"protover":2,|
00000040 22 70 6c 61 74 66 6f 72 6d 22 3a 22 77 65 62 22 |"platform":"web"|
00000050 2c 22 63 6c 69 65 6e 74 76 65 72 22 3a 22 31 2e |,"clientver":"1.|
00000060 31 30 2e 33 22 2c 22 74 79 70 65 22 3a 32 2c 22 |10.3","type":2,"|
00000070 6b 65 79 22 3a 22 43 6f 4b 68 5f 61 49 46 42 6c |key":"CoKh_aIFBl|
00000080 51 32 4c 57 77 64 79 4e 43 6b 2d 69 5f 42 76 72 |Q2LWwdyNCk-i_Bvr|
00000090 64 72 72 55 4d 32 78 57 6c 74 62 35 77 6b 54 50 |drrUM2xWltb5wkTP|
000000a0 4e 72 44 55 49 2d 73 46 32 41 56 56 4f 44 78 43 |NrDUI-sF2AVVODxC|
000000b0 52 42 39 69 64 76 74 34 46 32 4d 50 31 45 4a 6c |RB9idvt4F2MP1EJl|
000000c0 4d 68 49 57 6b 31 5a 69 73 67 6e 32 67 67 66 6c |MhIWk1Zisgn2ggfl|
000000d0 68 72 65 6e 4f 4b 65 39 7a 56 65 6d 78 35 7a 5f |hrenOKe9zVemx5z_|
000000e0 5a 4d 43 61 55 77 4c 31 65 70 6d 7a 5a 53 22 7d |ZMCaUwL1epmzZS"}|
```
### 认证包回复
方式:(下行)
在认证包发送成功后就会收到
json格式
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------ | --------- |
| code | num | 返回值 | 0认证成功 |
示例:
```
00000000 00 00 00 1a 00 10 00 01 00 00 00 08 00 00 00 01 |................|
00000010 7b 22 63 6f 64 65 22 3a 30 7d |{"code":0}|
```
### 心跳包
方式:(上行)
30秒左右发送一次否则60秒后会被强制断开连接
正文:
特定字符
[object Object]
示例:
```
00000000 00 00 00 1f 00 10 00 01 00 00 00 02 00 00 00 01 |................|
00000010 5b 6f 62 6a 65 63 74 20 4f 62 6a 65 63 74 5d |[object Object]|
```
### 心跳回应(人气值)
方式:(下行)
在心跳包发送成功后就会收到
正文:
uint32整数代表房间当前的人气值
示例:
```
00000000 00 00 00 14 00 10 00 01 00 00 00 03 00 00 00 01 |................|
00000010 00 00 14 83 |....|
```
可见房间内人气值为5251人
### 普通包
方式:(下行)
#### 弹幕
#### 送礼
#### 欢迎加入房间
#### 欢迎房管加入房间
#### 系统消息
#### 主播准备中
#### 直播开始
#### 直播状态更新

View File

@ -152,7 +152,7 @@ http://api.bilibili.com/x/web-interface/nav
## 登录用户信息2仅部分带有转义)
## 登录用户信息2仅部分 带有转义)
需要登录(SESSDATA)

937
user/relation.md Normal file
View File

@ -0,0 +1,937 @@
# 用户关系相关
## 查询用户粉丝明细
登录(SESSDATA)可看自己全部
api.bilibili.com/x/relation/followers
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ----------- | ------ | --------------------------- |
| vmid | 目标用户UID | 必要 | |
| ps | 每页项数 | 非必要 | 默认为50 |
| pn | 页码 | 非必要 | 默认为1 非自己只能查看前5页 |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误<br />22007访问超过5页 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ------------ |
| list | array | 明细列表 | |
| re_version | num | | 作用尚不明确 |
| total | num | 粉丝总数 | |
list 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----- | ---------------- |
| 0 | obj | 粉丝1 | |
| n | obj | 粉丝n | 按照关注顺序排列 |
| …… | obj | …… | …… |
数组 list 中的所有项 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ------------ | --------------------------------- |
| mid | num | 用户UID | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| mtime | num | 成为粉丝时间 | 时间戳 互关后刷新 |
| tag | null | | 作用尚不明确 |
| special | num | 0 | 作用尚不明确 |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | jpg gif |
| sign | str | 用户签名 | |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
official_verify 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | --------------- |
| type | num | 用户认证类型 | -1无<br />1认证 |
| desc | str | 用户认证信息 | 无为空 |
vip 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | ----------------------------- |
| vipType | num | 大会员类型 | 0无<br />1月会员<br />2年会员 |
| vipDueDate | num | 会员到期时间 | 毫秒 时间戳 |
| dueRemark | str | 空 | 作用尚不明确 |
| accessStatus | num | 0 | 作用尚不明确 |
| vipStatus | num | 大会员状态 | 0无<br />1有 |
| vipStatusWarn | str | 空 | 作用尚不明确 |
| themeType | num | 0 | 作用尚不明确 |
| label | obj | | 作用尚不明确 |
label 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ------------ |
| path | str | 空 | 作用尚不明确 |
示例:
http://api.bilibili.com/x/relation/followers?vmid=293793435&ps=2&pn=1
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [{
"mid": 387195656,
"attribute": 0,
"mtime": 1583839793,
"tag": null,
"special": 0,
"uname": "L_E_M_O_H_E",
"face": "http://i1.hdslb.com/bfs/face/8ec537db75eeb292faa8dc85a9ff8aba83148c86.jpg",
"sign": "暂时断更。。Back later",
"official_verify": {
"type": -1,
"desc": ""
},
"vip": {
"vipType": 0,
"vipDueDate": 0,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}, {
"mid": 175989424,
"attribute": 0,
"mtime": 1583822019,
"tag": null,
"special": 0,
"uname": "哥本哈根iii",
"face": "http://i1.hdslb.com/bfs/face/e53c0fe9315176d48bd294b1f381f0da70131cd7.jpg",
"sign": "",
"official_verify": {
"type": -1,
"desc": ""
},
"vip": {
"vipType": 0,
"vipDueDate": 0,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}],
"re_version": 3857745402,
"total": 365
}
}
```
以每页2项的方式获取了UID为293793435的用户的第1页的粉丝明细
## 查询用户关注明细
登录(SESSDATA)可看自己全部
api.bilibili.com/x/relation/followings
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ----------- | ------ | --------------------------- |
| vmid | 目标用户UID | 必要 | |
| ps | 每页项数 | 非必要 | 默认为50 |
| pn | 页码 | 非必要 | 默认为1 非自己只能查看前5页 |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误<br />22007访问超过5页 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ------------ |
| list | array | 明细列表 | |
| re_version | num | | 作用尚不明确 |
| total | num | 关注总数 | |
list 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----- | ---------------- |
| 0 | obj | 粉丝1 | |
| n | obj | 粉丝n | 按照关注顺序排列 |
| …… | obj | …… | …… |
数组 list 中的所有项 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---------------------------------------- | ------------ | --------------------------------- |
| mid | num | 用户UID | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| mtime | num | 关注对方时间 | 时间戳 互关后刷新 |
| tag | null默认分组<br />arrary存在至少一个分组 | 分组ID | 作用尚不明确 |
| special | num | 特别关注标志 | 0否<br />1是 |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | jpg gif |
| sign | str | 用户签名 | |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
tag 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------------- | ---- |
| 0 | num | 位于分组1的分组ID | |
| n | num | 位于分组n+1的分组ID | |
| …… | num | …… | …… |
official_verify 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | --------------- |
| type | num | 用户认证类型 | -1无<br />0认证 |
| desc | str | 用户认证信息 | 无为空 |
vip 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | ----------------------------- |
| vipType | num | 大会员类型 | 0无<br />1月会员<br />2年会员 |
| vipDueDate | num | 会员到期时间 | 毫秒 时间戳 |
| dueRemark | str | 空 | 作用尚不明确 |
| accessStatus | num | 0 | 作用尚不明确 |
| vipStatus | num | 大会员状态 | 0无<br />1有 |
| vipStatusWarn | str | 空 | 作用尚不明确 |
| themeType | num | 0 | 作用尚不明确 |
| label | obj | | 作用尚不明确 |
label 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ------------ |
| path | str | 空 | 作用尚不明确 |
示例:
http://api.bilibili.com/x/relation/followings?vmid=293793435&ps=2&pn=1
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [{
"mid": 14082,
"attribute": 2,
"mtime": 1584271945,
"tag": null,
"special": 0,
"uname": "山新",
"face": "http://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg",
"sign": "都说了是天依爹地,不是妈咪。\r私信有点多回复不过来商业合作啥的请移步Weibo私信@山新 哦哦哦~",
"official_verify": {
"type": 0,
"desc": "配音演员、声优。洛天依声源提供者。"
},
"vip": {
"vipType": 2,
"vipDueDate": 1601654400000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 1,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}, {
"mid": 420831218,
"attribute": 2,
"mtime": 1584208169,
"tag": [207542],
"special": 0,
"uname": "支付宝Alipay",
"face": "http://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg",
"sign": "阿支来了,关注点赞转发投币四连走起!",
"official_verify": {
"type": 1,
"desc": "支付宝官方账号"
},
"vip": {
"vipType": 1,
"vipDueDate": 1585065600000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 1,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}],
"re_version": 3228575555,
"total": 699
}
}
```
以每页2项的方式获取了UID为293793435的用户的第1页的关注明细
## 操作用户关系(关注/取关 等)
需要登录(SESSDATA)
api.bilibili.com/x/relation/modify
*方式:POST*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------------------- | ------ | ---- |
| fid | 目标用户UID | 必要 | |
| act | 操作代码 | 必要 | |
| re_src | 必须为11 | 必要 | |
| csrf | cookies中的bili_jct | 必要 | |
操作代码:
| 代码 | 含义 |
| ---- | ------------ |
| 1 | 关注 |
| 2 | 取关 |
| 3 | 悄悄关注 |
| 4 | 取消悄悄关注 |
| 5 | 拉黑 |
| 6 | 取消拉黑 |
| 7 | 踢出粉丝 |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22003用户位于黑名单 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
示例:
curl -b SESSDATA=xxx -d "fid=14082&act=1&re_src=11&csrf=xxx" http://api.bilibili.com/x/relation/modify
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
成功关注了UID为14082的用户
## 查询用户与自己关系1 (仅查关注)
需要登录(SESSDATA)
api.bilibili.com/x/relation
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ----------- | ------ | ---- |
| fid | 目标用户UID | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---------------------------------------- | ------------ | --------------------------------- |
| mid | num | 目标用户UID | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| mtime | num | 关注对方时间 | 时间戳 未关注为0 |
| tag | null默认分组<br />arrary存在至少一个分组 | 分组ID | |
| special | num | 特别关注标志 | 0否<br />1是 |
tag 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------------- | ---- |
| 0 | num | 位于分组1的分组ID | |
| n | num | 位于分组n+1的分组ID | |
| …… | num | …… | …… |
示例:
http://api.bilibili.com/x/relation?fid=258150656
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"mid": 258150656,
"attribute": 2,
"mtime": 1540659101,
"tag": [-10],
"special": 1
}
}
```
可得对于UID为258150656的用户在2018/10/28 0:51:41时关注且设为特别关注并位于ID为-10分组中
## 查询用户与自己关系2(互相)
需要登录(SESSDATA)
api.bilibili.com/x/space/acc/relation
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ----------- | ------ | ---- |
| mid | 目标用户UID | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ------------------------ | ---- |
| relation | obj | 目标用户对于本用户的属性 | |
| be_relation | obj | 本用户对于目标用户的属性 | |
relation 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---------------------------------------- | ------------ | -------------- |
| mid | num | 对方用户UID | |
| attribute | num | | |
| mtime | num | 关注对方时间 | 互关后刷新时间 |
| tag | null默认分组<br />arrary存在至少一个分组 | | |
| special | num | | |
be_relation 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---------------------------------------- | ------------ | -------------- |
| mid | num | | |
| attribute | num | | |
| mtime | num | 成为粉丝时间 | 互关后刷新时间 |
| tag | null默认分组<br />arrary存在至少一个分组 | | |
| special | num | | |
tag 数组relation中与be_relation中
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------------------- | ---- |
| 0 | num | 位于分组1的分组ID | |
| n | num | 位于分组n+1的分组ID | |
| …… | num | …… | …… |
示例:
http://api.bilibili.com/x/space/acc/relation?mid=15858903
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"relation": {
"mid": 15858903,
"attribute": 6,
"mtime": 1548311059,
"tag": [-10, 194110],
"special": 1,
"is_followed": false
},
"be_relation": {
"mid": 293793435,
"attribute": 6,
"mtime": 1548311059,
"tag": [56502, -10],
"special": 1,
"is_followed": false
}
}
}
```
可得对于UID为15858903的用户在2019/1/24 14:24:19时关注了对方且互相关注自己将对方特别关注并同时位于ID为-10和194110的分组中对方也将自己设为特别关注并同时位于-10和56502的分组中虽然我看不到
## 关注分组相关
### 查询关注分组列表
需要登录(SESSDATA)
api.bilibili.com/x/relation/tags
*方式:GET*
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | arrary | 分组列表 | |
data 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ---- |
| 0 | obj | 特别关注分组 | |
| 1 | obj | 默认分组 | |
| n | obj | 其他分组 | |
| …… | num | …… | …… |
数组 data 中的所有项 对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ---------- | ---------------------------------- |
| tagid | num | 分组ID | 特别关注恒为-10<br />默认分组恒为0 |
| name | str | 分组名称 | |
| count | num | 分组成员数 | |
示例:
http://api.bilibili.com/x/relation/tags
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [{
"tagid": -10,
"name": "特别关注",
"count": 16
}, {
"tagid": 0,
"name": "默认分组",
"count": 536
},{
"tagid": 194111,
"name": "我的同学",
"count": 16
},
…………
]
}
```
查询到了一些分组的名字以及ID
### 查询关注分组明细
需要登录(SESSDATA)
api.bilibili.com/x/relation/tag
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | -------- | ------ | ---------------------------------- |
| tagid | 分组ID | 必要 | 特别关注恒为-10<br />默认分组恒为0 |
| ps | 每页项数 | 非必要 | 默认为50 |
| pn | 页数 | 非必要 | 默认为1 |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误<br />22104该分组不存在<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | arrary | 成员列表 | |
data 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---------------- |
| 0 | obj | 成员信息1 | |
| n | obj | 成员信息n | 按照添加顺序排序 |
| …… | num | …… | …… |
数组 data 中的所有项 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ----------- | ------- |
| mid | num | 用户UID | |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | jpg gif |
| sign | str | 用户签名 | |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
official_verify 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | --------------- |
| type | num | 用户认证类型 | -1无<br />1认证 |
| desc | str | 用户认证信息 | 无为空 |
vip 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------ | ----------------------------- |
| vipType | num | 大会员类型 | 0无<br />1月会员<br />2年会员 |
| vipDueDate | num | 会员到期时间 | 毫秒 时间戳 |
| dueRemark | str | 空 | 作用尚不明确 |
| accessStatus | num | 0 | 作用尚不明确 |
| vipStatus | num | 大会员状态 | 0无<br />1有 |
| vipStatusWarn | str | 空 | 作用尚不明确 |
| themeType | num | 0 | 作用尚不明确 |
| label | obj | | 作用尚不明确 |
label 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---- | ------------ |
| path | str | 空 | 作用尚不明确 |
示例:
http://api.bilibili.com/x/relation/tag?tagid=207542&ps=2&pn=1
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [{
"mid": 420831218,
"uname": "支付宝Alipay",
"face": "http://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg",
"sign": "阿支来了,关注点赞转发投币四连走起!",
"official_verify": {
"type": 1,
"desc": "支付宝官方账号"
},
"vip": {
"vipType": 1,
"vipDueDate": 1585065600000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 1,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}, {
"mid": 125086406,
"uname": "MSI微星科技",
"face": "http://i1.hdslb.com/bfs/face/a844760e4e491677615b39399bc761e74c579bb4.jpg",
"sign": "你好这里是微星显卡官方专注显卡三十年欢迎私信咨询或提问MSI",
"official_verify": {
"type": 1,
"desc": "微星科技官方账号"
},
"vip": {
"vipType": 1,
"vipDueDate": 1540656000000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
}
}
}]
}
```
以每页2项的方式获取了分组ID为207542分组的第1页的粉丝明细
### 查询目标用户所在的分组
需要登录(SESSDATA)
api.bilibili.com/x/relation/tag/user
*方式:GET*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ----------- | ------ | ---- |
| fid | 目标用户UID | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------------- | ---- | --------- | ---- |
| 加入的分组ID 1 | str | 分组1名称 | |
| 加入的分组ID n | str | 分组n名称 | |
| …… | str | …… | |
示例:
http://api.bilibili.com/x/relation/tag/user?fid=319214221
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"-10": "特别关注",
"194111": "我的同学"
}
}
```
查询到了UID为319214221的用户同时存在的两个分组的ID和名称
### 创建关注分组
需要登录(SESSDATA)
api.bilibili.com/x/relation/tag/create
*方式:POST*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------------------- | ------ | ---------- |
| tag | 分组名 | 必要 | 最长16字符 |
| csrf | cookies中的bili_jct | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22106该分组已经存在<br />22103分组名过长 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | -------------- | ---- |
| tagid | num | 创建的分组的ID | |
示例:
curl -b SESSDATA=xxx -d "tag=vUP&csrf=xxx" http://api.bilibili.com/x/relation/tag/create
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"tagid": 216677
}
}
```
成功创建了名为"vUP"的分组ID为216677
### 重命名关注分组
需要登录(SESSDATA)
api.bilibili.com/x/relation/tag/update
*方式:POST*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------------------- | ------ | ---------- |
| tagid | 分组ID | 必要 | |
| name | 新名称 | 必要 | 最长16字符 |
| csrf | cookies中的bili_jct | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22103分组名过长<br />22104该分组不存在 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
示例:
curl -b SESSDATA=xxx -d "tagid=194112&name=%e8%86%9c%e6%b3%95%e5%b8%88&csrf=xxx" http://api.bilibili.com/x/relation/tag/update
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
成功把ID为194112的分组更名为"膜法师"
### 删除关注分组
需要登录(SESSDATA)
api.bilibili.com/x/relation/tag/del
*方式:POST*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------------------- | ------ | ---- |
| tagid | 分组ID | 必要 | |
| csrf | cookies中的bili_jct | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
示例:
curl -b SESSDATA=xxx -d "tagid=216699&csrf=xxx" http://api.bilibili.com/x/relation/tag/del
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
成功删除了分组ID为216699的分组
### 修改用户分组关系(添加/删除)
需要登录(SESSDATA)
api.bilibili.com/x/relation/tags/addUsers
*方式:POST*
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| ------ | ------------------- | ------ | ------------------------ |
| fids | 目标用户UID | 必要 | |
| tagids | 分组ID | 必要 | 每个ID见用","%2C间隔 |
| csrf | cookies中的bili_jct | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22105未关注 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
示例:
curl -b SESSDATA=xxx -d "fids=205631797&tagids=-10%2C207542&csrf=xxx" http://api.bilibili.com/x/relation/tags/addUsers
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
成功把UID为205631797的用户同时添加到了分组ID为-10和207542的分组中