添加部分直播相关api (#1297)

* 添加部分直播相关api

* 添加部分直播相关接口

* 添加部分直播相关api
This commit is contained in:
114514ns
2025-06-22 02:28:52 +08:00
committed by GitHub
parent 34f5c70174
commit 2f48f6c81a
9 changed files with 2885 additions and 614 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -8,33 +8,33 @@
以下说明中的 “目标用户” 指被查询的用户,“对方” 指返回的关系列表中的用户。
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ------------------------------------------- | -------------------------- | ------------------------------------------------------------ |
| mid | num | 用户 mid | |
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ------------------------------------------- | -------------------------- | ----------------------------------------------------------------------------------------- |
| mid | num | 用户 mid | |
| attribute | num | 对方对于**自己**的关系属性 | 0未关注<br />~~1悄悄关注现已下线~~<br />2已关注<br />6已互粉<br />128已拉黑 |
| mtime | num | 对方关注目标用户时间 | 秒级时间戳<br />互关后刷新 |
| tag | 默认分组null<br />存在至少一个分组array | 目标用户将对方分组到的 id | |
| special | num | 目标用户特别关注对方标识 | 0<br />1是 |
| contract_info | obj | 契约计划相关信息 | |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| sign | str | 用户签名 | |
| face_nft | num | 是否为 NFT 头像 | 0非 NFT 头像<br />1NFT 头像 |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
| name_render | 有效时obj<br />无效时null | 昵称渲染信息 | |
| nft_icon | str | | |
| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA``xx粉丝 xx视频` |
| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` |
| follow_time | str | | |
| mtime | num | 对方关注目标用户时间 | 秒级时间戳<br />互关后刷新 |
| tag | 默认分组null<br />存在至少一个分组array | 目标用户将对方分组到的 id | |
| special | num | 目标用户特别关注对方标识 | 0<br />1 |
| contract_info | obj | 契约计划相关信息 | |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| sign | str | 用户签名 | |
| face_nft | num | 是否为 NFT 头像 | 0非 NFT 头像<br />1NFT 头像 |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
| name_render | 有效时obj<br />无效时null | 昵称渲染信息 | |
| nft_icon | str | | |
| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA``xx粉丝 xx视频` |
| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` |
| follow_time | str | | |
`list`中的对象中的`tag`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------------ | ---- |
| 0 | num | 位于分组 1 的分组 id | |
| n | num | 位于分组n+1的分组 id | |
| …… | num | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ------------------------ | ---- |
| 0 | num | 位于分组 1 的分组 id | |
| n | num | 位于分组n+1的分组 id | |
| …… | num | …… | …… |
`list`中的对象中的`contract_info`对象:
@@ -47,10 +47,10 @@
`list`中的对象中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ----------------------------------------- |
| type | num | 用户认证类型 | -1<br />0UP 主认证<br />1机构认证 |
| desc | str | 用户认证信息 | 无为空 |
| desc | str | 用户认证信息 | 无为空 |
`list`中的对象中的`vip`对象:
@@ -89,42 +89,42 @@
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------------- | ---- | ---------------------- | ------------ | ------------------------------------------------------------------- |
| vmid | num | 目标用户 mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1 |
| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取<br />此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` |
| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取<br />当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 |
| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason``track_id` 为非空 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------------- | ---- | ---------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| vmid | num | 目标用户 mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1 |
| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取<br />此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` |
| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取<br />当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 |
| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason``track_id` 为非空 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------------------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-352请求被拦截<br />-400请求错误<br />22118由于该用户隐私设置粉丝列表不可见 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ---- |
| list | array | 明细列表 | |
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ----------------------------------------------------------------------------------------------------- |
| list | array | 明细列表 | |
| offset | str | 偏移量 | 供下次请求使用<br />普通:`{列表最后的粉丝的 mtime}:{列表最后的粉丝的 mid}`<br />智能推荐算法:`rcmd` |
| re_version | num | | |
| total | num | 粉丝总数 | |
| re_version | num | | |
| total | num | 粉丝总数 | |
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ---------------------------------- |
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
| n | obj | 粉丝 n+1 | |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ------------ | ---------------------------------- |
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
| n | obj | 粉丝 n+1 | |
| …… | obj | …… | …… |
**示例:**
@@ -256,23 +256,23 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | ------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| vmid | num | 目标用户 mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 1000 名粉丝 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | ------------------------------------ |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| vmid | num | 目标用户 mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 1000 名粉丝 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------------------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-352请求被拦截<br />-400请求错误<br />22118由于该用户隐私设置粉丝列表不可见 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@@ -284,11 +284,11 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ---------------------------------- |
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
| n | obj | 粉丝 n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ------------ | ---------------------------------- |
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
| n | obj | 粉丝 n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -405,6 +405,85 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \
</details>
### 查询用户粉丝明细
> <https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list>
*请求方式GET*
认证方式:无
返回目标用户前100个粉丝
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------ | ------ | --------- |
| vmid | num | 目标用户 mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 20 |
| pn | num | 页码 | 非必要 | 默认为 1 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | -------- |
| code | num | 返回值 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| ts | num | 时间戳 | |
`data.list`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ------- | ---- |
| mid | num | 用户mid | |
| uname | str | 用户名 | |
| face | str | 头像 | |
| attribute | num | | |
**示例:**
```shell
curl 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list?vmid=504140200&pn=5&ps=21'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"data": {
"list": [
{
"mid": "3493078644034173",
"attribute": 0,
"uname": "雨天下小雪啦",
"face": "//i0.hdslb.com/bfs/face/28ad110baa58db9265eca657fcba501589981555.jpg",
"attestation_display": {
"type": 0,
"desc": ""
}
},
{
"mid": "1356049904",
"attribute": 0,
"uname": "一埋子",
"face": "//i2.hdslb.com/bfs/face/84356fd3b183284bc11b011b676432badb4096bf.jpg",
"attestation_display": {
"type": 0,
"desc": ""
}
},
]
},
"ts": 1748829553371,
"request_id": "0684785391344bdc85e4e701bed41b1c"
}
```
</details>
### 获取自己粉丝列表的未读状态
> <https://api.bilibili.com/x/relation/followers/unread/count>
@@ -471,24 +550,24 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| vmid | num | 目标用户 mid | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | ----------------------------------------------------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| vmid | num | 目标用户 mid | 必要 | |
| order_type | str | 排序方式 | 非必要 | 当目标用户为自己时有效<br />按照关注顺序排列:留空<br />按照最常访问排列attention |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1<br />其他用户仅可查看前 100 个 |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1<br />其他用户仅可查看前 100 个 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-352请求被拦截<br />-400请求错误<br />22115用户已设置隐私无法查看 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@@ -500,11 +579,11 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------- | -------------------------------- |
| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 关注n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ----------- | -------------------------------- |
| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 关注n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -615,12 +694,12 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------ | ------ | ----------------------------- |
| vmid | num | 目标用户 mid | 必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------ | ------ | ----------------------------------------------------------- |
| vmid | num | 目标用户 mid | 必要 | |
| order | str | 排序方式 | 非必要 | 按照降序排列desc<br />按照升序排列asc<br />默认降序排列 |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 5 页 |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 5 页 |
**json回复**
@@ -643,42 +722,42 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------- | --------------------------------------------- |
| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** |
| n | obj | 关注n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ----------- | ------------------------------------------------- |
| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** |
| n | obj | 关注n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
数组`list`中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---------------------------------------- | ------------ | --------------------------------------- |
| mid | num | 用户 mid | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 |
| tag | 默认分组null<br />存在至少一个分组array | 分组 id | |
| special | num | 特别关注标志 | 0<br />1是 |
| uname | str | 用户昵称 | |
| face | str | 用户头像 url | |
| sign | str | 用户签名 | |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
| live | num | 是否直播 | 0未直播<br />1直播中 |
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ------------------------------------------- | ------------ | --------------------------------------- |
| mid | num | 用户 mid | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 |
| tag | 默认分组null<br />存在至少一个分组array | 分组 id | |
| special | num | 特别关注标志 | 0<br />1是 |
| uname | str | 用户昵称 | |
| face | str | 用户头像 url | |
| sign | str | 用户签名 | |
| official_verify | obj | 认证信息 | |
| vip | obj | 会员信息 | |
| live | num | 是否直播 | 0未直播<br />1直播中 |
数组`list`中的对象中的`tag`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------------------ | ---- |
| 0 | num | 位于分组 1 的分组 id | |
| n | num | 位于分组n+1的分组 id | |
| …… | num | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ------------------------ | ---- |
| 0 | num | 位于分组 1 的分组 id | |
| n | num | 位于分组n+1的分组 id | |
| …… | num | …… | …… |
`list`中的对象中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ---------------------------------------- |
| type | num | 用户认证类型 | -1<br />0UP主认证<br />1机构认证 |
| desc | str | 用户认证信息 | 无为空 |
| desc | str | 用户认证信息 | 无为空 |
`list`中的对象中的`vip`对象:
@@ -790,11 +869,11 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------ | ----------- | -------- |
| vmid | num | 目标用户mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为20 |
| pn | num | 页码 | 非必要 | 默认为1 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | -------- |
| vmid | num | 目标用户mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为20 |
| pn | num | 页码 | 非必要 | 默认为1 |
**json回复**
@@ -810,17 +889,17 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ------------ |
| list | array | 明细列表 | |
| 字段 | 类型 | 内容 | 备注 |
| ---- | ----- | -------- | ---- |
| list | array | 明细列表 | |
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---------------- |
| 0 | obj | 关注1 | |
| n | obj | 关注(n+1) | 按照关注顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------- | ---------------- |
| 0 | obj | 关注1 | |
| n | obj | 关注(n+1) | 按照关注顺序排列 |
| …… | obj | …… | …… |
数组`list`中的对象:
@@ -915,11 +994,11 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | -------------------------------- |
| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 匹配项目n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------------- | -------------------------------- |
| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 匹配项目n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -1016,11 +1095,11 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | -------------------------------- |
| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 共同关注n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------------- | -------------------------------- |
| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 共同关注n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -1139,11 +1218,11 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | -------------------------------- |
| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 悄悄关注n+1 | 按照操作顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------------- | -------------------------------- |
| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 悄悄关注n+1 | 按照操作顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -1232,11 +1311,11 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------- | -------------------------------- |
| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 互关n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ----------- | -------------------------------- |
| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 互关n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -1430,11 +1509,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | --------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | --------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 50且最多为50大于50则按50输出 |
| pn | num | 页码 | 非必要 | 默认为 1 |
| pn | num | 页码 | 非必要 | 默认为 1 |
**json回复**
@@ -1457,11 +1536,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | -------------- | -------------------------------- |
| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 黑名单 n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | -------------- | -------------------------------- |
| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) |
| n | obj | 黑名单 n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
@@ -1559,35 +1638,35 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------- | --------------- | -------------------------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fid | num | 目标用户mid | 必要 | |
| act | num | 操作代码 | 必要 | **操作代码见下表** |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fid | num | 目标用户mid | 必要 | |
| act | num | 操作代码 | 必要 | **操作代码见下表** |
| re_src | num | 关注来源代码 | 非必要 | 包月充电1<br />个人空间11<br />视频14<br />评论区15<br />视频播放器结束页面17<br />H5推荐关注58<br />H5关注列表106<br />H5粉丝列表107<br />专栏115<br />私信118<br />搜索120<br />视频播放器左上角关注按钮164<br />H5共同关注167<br />创作激励计划192<br />活动页面222<br />联合投稿视频229<br />消息中心点赞详情235<br />视频播放器关注弹幕245 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
操作代码`act`
| 代码 | 含义 | 备注 |
| ---- | ------------ | ------------------------------------------------ |
| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 |
| 2 | 取关 | |
| 代码 | 含义 | 备注 |
| ---- | ------------ | ---------------------------------------------------- |
| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 |
| 2 | 取关 | |
| 3 | 悄悄关注 | **现已下线**,使用本操作代码请求接口会提示“请求错误” |
| 4 | 取消悄悄关注 | |
| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 |
| 6 | 取消拉黑 | |
| 7 | 踢出粉丝 | |
| 4 | 取消悄悄关注 | |
| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 |
| 6 | 取消拉黑 | |
| 7 | 踢出粉丝 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-102账号被封停<br />-111csrf校验失败<br />-400请求错误<br />22001不能对自己进行此操作<br />22002因对方隐私设置你还不能关注<br />22003关注失败请将该用户移除黑名单之后再试<br />22008黑名单达到上限<br />22009关注失败已达关注上限<br />22013账号已注销无法完成操作<br />22014已经关注用户无法重复关注<br />22120重复加入黑名单<br />40061用户不存在 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
**示例:**
@@ -1627,24 +1706,24 @@ curl 'https://api.bilibili.com/x/relation/modify' \
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------- | --------------- | ------------------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fids | nums | 目标用户 mid 列表 | 必要 | 每个成员之间用 `,` 间隔,最多 50 个成员,不能包含自己的 mid |
| act | num | 操作代码 | 必要 | 同上<br />仅可为 1 或 5故只能进行批量关注和拉黑 |
| re_src | num | 关注来源代码 | 非必要 | 同上 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
| act | num | 操作代码 | 必要 | 同上<br />仅可为 1 或 5故只能进行批量关注和拉黑 |
| re_src | num | 关注来源代码 | 非必要 | 同上 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-102账号被封停<br />-111csrf校验失败<br />-400请求错误<br />22003用户位于黑名单 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 数据本体 | |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 数据本体 | |
`data`对象:
@@ -1654,11 +1733,11 @@ curl 'https://api.bilibili.com/x/relation/modify' \
`data`中的`failed_fids`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------------- | ---- |
| 0 | num | 操作失败的 mid 1 | |
| n | num | 操作失败的 midn+1 | |
| …… | num | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------------------- | ---- |
| 0 | num | 操作失败的 mid 1 | |
| n | num | 操作失败的 midn+1 | |
| …… | num | …… | …… |
**示例:**
@@ -1693,21 +1772,21 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \
### 关系属性对象
| 字段 | 类型 | 内容 | 备注 |
| --------- | --------------------------------------- | ------------ | -------------------------------------------------------- |
| mid | num | 目标用户 mid | |
| attribute | num | 关系属性 | 0未关注<br />~~1悄悄关注已弃用~~<br />2已关注<br />6已互粉<br />128已拉黑 |
| mtime | num | 关注对方时间 | 时间戳<br />未关注为 0 |
| tag | 默认分组null<br />存在至少一个分组array | 分组 id | |
| special | num | 特别关注标志 | 0<br />1是 |
| 字段 | 类型 | 内容 | 备注 |
| --------- | ------------------------------------------- | ------------ | --------------------------------------------------------------------------------------- |
| mid | num | 目标用户 mid | |
| attribute | num | 关系属性 | 0未关注<br />~~1悄悄关注已弃用~~<br />2已关注<br />6已互粉<br />128已拉黑 |
| mtime | num | 关注对方时间 | 时间戳<br />未关注为 0 |
| tag | 默认分组null<br />存在至少一个分组array | 分组 id | |
| special | num | 特别关注标志 | 0<br />1 |
`tag`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------------- | ---- |
| 0 | num | 位于分组 1 的分组 | |
| n | num | 位于分组n+1的分组 | |
| …… | num | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------------------- | ---- |
| 0 | num | 位于分组 1 的分组 | |
| n | num | 位于分组n+1的分组 | |
| …… | num | …… | …… |
### 查询用户与自己关系(仅关注)
@@ -1925,10 +2004,10 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \
分组 id 特殊值:
| id | 含义 |
| ---- | -------- |
| 0 | 默认分组 |
| -10 | 特别关心 |
| id | 含义 |
| --- | -------- |
| 0 | 默认分组 |
| -10 | 特别关心 |
### 查询关注分组列表
@@ -1948,29 +2027,29 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | array | 分组列表 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------- | ---- |
| 0 | obj | 分组 1 | |
| n | obj | 分组n+1 | |
| …… | num | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | ----------- | ---- |
| 0 | obj | 分组 1 | |
| n | obj | 分组n+1 | |
| …… | num | …… | …… |
数组`data`中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ---------- | ---- |
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | ---------- | ------------------------------ |
| tagid | num | 分组 id | -10特别关注<br />0默认分组 |
| name | str | 分组名称 | |
| count | num | 分组成员数 | |
| tip | str | 提示信息 | |
| name | str | 分组名称 | |
| count | num | 分组成员数 | |
| tip | str | 提示信息 | |
**示例:**
@@ -2045,48 +2124,48 @@ curl 'https://api.bilibili.com/x/relation/tags' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | -------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误<br />22104该分组不存在 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | array | 成员列表 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | array | 成员列表 | |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | --------------------------------------- |
| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** |
| n | obj | 成员信息n+1 | 按照添加顺序排序 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | --------------- | --------------------------------------- |
| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** |
| n | obj | 成员信息n+1 | 按照添加顺序排序 |
| …… | obj | …… | …… |
`data` 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | --------------- | -------------- |
| mid | num | 用户mid | |
| attribute | num | 关系属性 | 恒为 `0` |
| tag | null | 关注分组id | 恒为 `null` |
| special | num | 是否特别关注 | 恒为 `0` |
| contract_info | obj | 契约计划信息 | |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| sign | str | 用户签名 | |
| face_nft | num | 是否为 NFT 头像 | |
| official_verify | obj | 认证信息 | 具体见下 |
| vip | obj | 会员信息 | |
| live | obj | 直播状态 | 具体见下 |
| nft_icon | str | | |
| rec_reason | str | | |
| track_id | str | | |
| follow_time | str | | |
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | --------------- | ----------- |
| mid | num | 用户mid | |
| attribute | num | 关系属性 | 恒为 `0` |
| tag | null | 关注分组id | 恒为 `null` |
| special | num | 是否特别关注 | 恒为 `0` |
| contract_info | obj | 契约计划信息 | |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| sign | str | 用户签名 | |
| face_nft | num | 是否为 NFT 头像 | |
| official_verify | obj | 认证信息 | 具体见下 |
| vip | obj | 会员信息 | |
| live | obj | 直播状态 | 具体见下 |
| nft_icon | str | | |
| rec_reason | str | | |
| track_id | str | | |
| follow_time | str | | |
`data`中的对象中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ----------------------------------------- |
| type | num | 用户认证类型 | -1<br />0UP 主认证<br />1机构认证 |
| desc | str | 用户认证信息 | 无为空 |
| desc | str | 用户认证信息 | 无为空 |
`data`中的对象中的`vip`对象:
@@ -2214,10 +2293,10 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------------- | ---- | --------- | ---- |
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | -------- | ---------------------------------- |
| {加入的分组 id} | str | 分组名称 | 若目标用户存在默认分组中,则不显示 |
| …… | str | …… | 下同 |
| …… | str | …… | 下同 |
**示例:**
@@ -2273,11 +2352,11 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | -------------- | ---- |
| 0 | num | 成员 1 mid | |
| n | num | 成员n+1mid | |
| …… | num | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| --- | ---- | -------------- | ---- |
| 0 | num | 成员 1 mid | |
| n | num | 成员n+1mid | |
| …… | num | …… | …… |
**示例:**
@@ -2341,12 +2420,12 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22101分组名称存在不允许的字符<br />22102分组数量超过限制<br />22103分组名过长<br />22106该分组已经存在 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
@@ -2402,11 +2481,11 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22101分组名称存在不允许的字符<br />22103分组名过长<br />22104该分组不存在 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
**示例:**
@@ -2455,11 +2534,11 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
示例:
@@ -2499,22 +2578,22 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------- | --------------- | ----------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22104分组不存在<br />22105未关注 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
**示例:**
@@ -2551,22 +2630,22 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | -------------- | ------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------- | --------------- | ----------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22104分组不存在<br />22105未关注 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
**示例:**
@@ -2603,23 +2682,23 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------ | ---- | ------------------------ | -------------- | ------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------ | ---- | ------------------------- | --------------- | ----------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 |
| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
| csrf | str | CSRF Token位于 Cookie | Cookie 方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-111csrf校验失败<br />-101账号未登录<br />-400请求错误<br />22104分组不存在<br />22105未关注 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
**示例:**