feat(relation): #1264

Signed-off-by: 晨叶梦春 <65224318+wuziqian211@users.noreply.github.com>
This commit is contained in:
晨叶梦春
2025-05-05 02:43:30 +08:00
parent 7ce8f9c70e
commit 9d504615a0

View File

@@ -18,13 +18,15 @@
| contract_info | obj | 契约计划相关信息 | |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| face_nft | num | 是否为 NFT 头像 | 0非 NFT 头像<br />1NFT 头像 |
| 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 | | |
| track_id | 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`数组:
@@ -43,7 +45,6 @@
| ts | num | 对方成为目标用户的契约者的时间 | 秒级时间戳,仅当 `is_contractor` 项的值为 `true` 时才有此项 |
| user_attr | num | 对方作为目标用户的契约者的属性 | 1老粉<br />否则为原始粉丝<br />仅当有特殊属性时才有此项 |
`list`中的对象中的`official_verify`对象:
| 字段 | 类型 | 内容 | 备注 |
@@ -70,9 +71,187 @@
| ---- | ---- | ------ | ---- |
| path | str | | |
### 查询用户粉丝明细
### 查询用户粉丝明细(新)
> https://api.bilibili.com/x/relation/followers
> <https://api.bilibili.com/x/relation/fans>
*请求方式GET*
认证方式CookieSESSDATA
本接口只有登录、标头 `referer``bilibili.com` 下的子域名、UA 不含 `python` 时才会返回列表
由于接口实现不同,本接口的返回可能出现以下三种情况:
1. 返回列表按关注时间排序,此时当前用户**仅返回前 1000 名粉丝**,其他用户仅返回前 100 名粉丝,若继续往后查询则返回空列表
2. 返回列表按粉丝 mid 的**文本形式**排序,此时对于任意用户均可返回全部粉丝
3. 返回列表按照**智能推荐算法**排序,此时请求参数 `from=main` 且目标用户为自己,**仅返回前 1000 名粉丝**
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------------------- |
| vmid | num | 目标用户 mid | 必要 | |
| ps | num | 每页项数 | 非必要 | 默认为 50 |
| pn | num | 页码 | 非必要 | 默认为 1 |
| offset | str | 偏移量 | 非必要 | 此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` |
| 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 | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ---- |
| list | array | 明细列表 | |
| offset | str | 偏移量 | 供下次请求使用<br />普通:`{列表最后的粉丝的 mtime}:{列表最后的粉丝的 mid}`<br />智能推荐算法:`rcmd` |
| re_version | num | | |
| total | num | 粉丝总数 | |
`data`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ---------------------------------- |
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
| n | obj | 粉丝 n+1 | 按照添加顺序排列 |
| …… | obj | …… | …… |
**示例:**
获取用户`mid=293793435`的粉丝明细
```shell
curl -G 'https://api.bilibili.com/x/relation/fans' \
--data-urlencode 'vmid=293793435' \
--data-urlencode 'ps=2' \
--data-urlencode 'pn=1' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"mid": 289796932,
"attribute": 0,
"mtime": 1746199088,
"tag": null,
"special": 0,
"contract_info": {
},
"uname": "Astlinga_星灵",
"face": "https://i1.hdslb.com/bfs/face/005264524d05c0b8c132acc3ee88bb839351025b.jpg",
"sign": "",
"face_nft": 0,
"official_verify": {
"type": -1,
"desc": ""
},
"vip": {
"vipType": 1,
"vipDueDate": 1734278400000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": "",
"text": "",
"label_theme": "",
"text_color": "",
"bg_style": 0,
"bg_color": "",
"border_color": ""
},
"avatar_subscript": 0,
"nickname_color": "",
"avatar_subscript_url": ""
},
"name_render": {
},
"nft_icon": "",
"rec_reason": "",
"track_id": "",
"follow_time": ""
},
{
"mid": 3494375621396821,
"attribute": 0,
"mtime": 1746098997,
"tag": null,
"special": 0,
"contract_info": {
},
"uname": "JSRCode",
"face": "https://i1.hdslb.com/bfs/face/f6c74700c72d27ae224c5311634b4a3770e3cdcf.jpg",
"sign": "一个喜欢码代码的高中牲",
"face_nft": 0,
"official_verify": {
"type": -1,
"desc": ""
},
"vip": {
"vipType": 0,
"vipDueDate": 0,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": "",
"text": "",
"label_theme": "",
"text_color": "",
"bg_style": 0,
"bg_color": "",
"border_color": ""
},
"avatar_subscript": 0,
"nickname_color": "",
"avatar_subscript_url": ""
},
"name_render": {
},
"nft_icon": "",
"rec_reason": "",
"track_id": "",
"follow_time": ""
}
],
"offset": "1746098997:3494375621396821",
"re_version": 0,
"total": 3776
}
}
```
</details>
### 查询用户粉丝明细(旧)
> <https://api.bilibili.com/x/relation/followers>
*请求方式GET*
@@ -139,40 +318,66 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \
"message": "0",
"ttl": 1,
"data": {
"list": [{
"mid": 387195656,
"list": [
{
"mid": 289796932,
"attribute": 0,
"mtime": 1583839793,
"mtime": 1746199088,
"tag": null,
"special": 0,
"uname": "L_E_M_O_H_E",
"face": "https://i1.hdslb.com/bfs/face/8ec537db75eeb292faa8dc85a9ff8aba83148c86.jpg",
"sign": "暂时断更。。Back later",
"official_verify": {
"type": -1,
"desc": ""
"contract_info": {
},
"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": "https://i1.hdslb.com/bfs/face/e53c0fe9315176d48bd294b1f381f0da70131cd7.jpg",
"uname": "Astlinga_星灵",
"face": "https://i1.hdslb.com/bfs/face/005264524d05c0b8c132acc3ee88bb839351025b.jpg",
"sign": "",
"face_nft": 0,
"official_verify": {
"type": -1,
"desc": ""
},
"vip": {
"vipType": 1,
"vipDueDate": 1734278400000,
"dueRemark": "",
"accessStatus": 0,
"vipStatus": 0,
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": "",
"text": "",
"label_theme": "",
"text_color": "",
"bg_style": 0,
"bg_color": "",
"border_color": ""
},
"avatar_subscript": 0,
"nickname_color": "",
"avatar_subscript_url": ""
},
"name_render": {
},
"nft_icon": "",
"rec_reason": "",
"track_id": "",
"follow_time": ""
},
{
"mid": 3494375621396821,
"attribute": 0,
"mtime": 1746098997,
"tag": null,
"special": 0,
"contract_info": {
},
"uname": "JSRCode",
"face": "https://i1.hdslb.com/bfs/face/f6c74700c72d27ae224c5311634b4a3770e3cdcf.jpg",
"sign": "一个喜欢码代码的高中牲",
"face_nft": 0,
"official_verify": {
"type": -1,
"desc": ""
@@ -186,12 +391,29 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \
"vipStatusWarn": "",
"themeType": 0,
"label": {
"path": ""
"path": "",
"text": "",
"label_theme": "",
"text_color": "",
"bg_style": 0,
"bg_color": "",
"border_color": ""
},
"avatar_subscript": 0,
"nickname_color": "",
"avatar_subscript_url": ""
},
"name_render": {
},
"nft_icon": "",
"rec_reason": "",
"track_id": "",
"follow_time": ""
}
}
}],
"re_version": 3857745402,
"total": 365
],
"re_version": 0,
"total": 3776
}
}
```
@@ -200,7 +422,7 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \
### 查询用户关注明细
> https://api.bilibili.com/x/relation/followings
> <https://api.bilibili.com/x/relation/followings>
*请求方式GET*
@@ -275,6 +497,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
"mtime": 1584271945,
"tag": null,
"special": 0,
"contract_info": {},
"uname": "山新",
"face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg",
"sign": "都说了是天依爹地,不是妈咪。\r私信有点多回复不过来商业合作啥的请移步Weibo私信@山新 哦哦哦~",
@@ -292,14 +515,23 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
"themeType": 0,
"label": {
"path": ""
}
}
},
"avatar_subscript": 1,
"nickname_color": "#FB7299",
"avatar_subscript_url": ""
},
"name_render": {},
"nft_icon": "",
"rec_reason": "",
"track_id": "",
"follow_time": ""
}, {
"mid": 420831218,
"attribute": 2,
"mtime": 1584208169,
"tag": [207542],
"special": 0,
"contract_info": {},
"uname": "支付宝Alipay",
"face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg",
"sign": "阿支来了,关注点赞转发投币四连走起!",
@@ -317,11 +549,19 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
"themeType": 0,
"label": {
"path": ""
}
}
},
"avatar_subscript": 1,
"nickname_color": "#FB7299",
"avatar_subscript_url": ""
},
"name_render": {},
"nft_icon": "",
"rec_reason": "",
"track_id": "",
"follow_time": ""
}],
"re_version": 3228575555,
"total": 699
"re_version": 0,
"total": 1028
}
}
```
@@ -330,7 +570,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
### 查询用户关注明细2
> https://app.biliapi.net/x/v2/relation/followings
> <https://app.biliapi.net/x/v2/relation/followings>
*请求方式GET*
@@ -466,7 +706,8 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
"label": {
"path": ""
}
}
},
"live": 0
}, {
"mid": 420831218,
"attribute": 2,
@@ -491,7 +732,8 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
"label": {
"path": ""
}
}
},
"live": 0
}],
"re_version": 3228575555,
"total": 699
@@ -503,7 +745,7 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
### 查询用户关注明细3
> https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/following_list
> <https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/following_list>
*请求方式GET*
@@ -546,11 +788,19 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
数组`list`中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ----------- | --------------------------------------- |
| ----------------- | ---- | ------------------------------ | --------------------------------------- |
| mid | str | 用户mid | |
| attribute | num | 关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| attribute | num | 对方对于**目标用户**的关注属性 | 0未关注<br />2已关注<br />6已互粉 |
| uname | str | 用户昵称 | |
| face | str | 用户头像url | |
| attention_display | obj | 用户认证信息 | |
`attention_display`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | -------- | ------------------------------------------------------------ |
| type | num | 是否认证 | 0<br />1UP主专业认证<br />2UP主认证<br />3机构认证 |
| desc | str | 认证信息 | |
**示例:**
@@ -558,9 +808,9 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
```shell
curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/following_list' \
--data-urlencode 'vmid=293793435' \
--data-urlencode 'ps=2' \
--data-urlencode 'pn=1'
--data-urlencode 'vmid=293793435' \
--data-urlencode 'ps=2' \
--data-urlencode 'pn=1'
```
<details>
@@ -574,12 +824,14 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh
"mid": "14082",
"attribute": 2,
"uname": "山新",
"face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg"
"face": "https://i0.hdslb.com/bfs/face/74c82caee6d9eb623e56161ea8ed6d68afabfeae.jpg",
"attestation_display": { "type": 0, "desc": "" }
}, {
"mid": "420831218",
"attribute": 2,
"uname": "支付宝Alipay",
"face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg"
"face": "https://i2.hdslb.com/bfs/face/aaf18aeb2d9822e28a590bd8d878572ca8c59e04.jpg",
"attestation_display": { "type": 3, "desc": "bilibili机构认证支付宝官方账号" }
}]
},
"ts": 1677410818395,
@@ -591,7 +843,7 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh
### 搜索关注明细
> https://api.bilibili.com/x/relation/followings/search
> <https://api.bilibili.com/x/relation/followings/search>
*请求方式GET*
@@ -616,7 +868,7 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ---- |
@@ -693,7 +945,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \
### 查询共同关注明细
> https://api.bilibili.com/x/relation/same/followings
> <https://api.bilibili.com/x/relation/same/followings>
*请求方式GET*
@@ -719,7 +971,7 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ---- |
@@ -741,10 +993,10 @@ data 对象:
```shell
curl -G 'https://api.bilibili.com/x/relation/same/followings' \
--data-urlencode 'vmid=2' \
--data-urlencode 'ps=2' \
--data-urlencode 'pn=1' \
-b 'SESSDATA=xxx'
--data-urlencode 'vmid=2' \
--data-urlencode 'ps=2' \
--data-urlencode 'pn=1' \
-b 'SESSDATA=xxx'
```
<details>
@@ -822,7 +1074,7 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \
### 查询悄悄关注明细
> https://api.bilibili.com/x/relation/whispers
> <https://api.bilibili.com/x/relation/whispers>
*请求方式GET*
@@ -845,7 +1097,7 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ---- |
@@ -908,11 +1160,12 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \
}
}
```
</details>
### 查询互相关注明细
> https://api.bilibili.com/x/relation/friends
> <https://api.bilibili.com/x/relation/friends>
*请求方式GET*
@@ -937,7 +1190,7 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | -------- | ---- |
@@ -962,7 +1215,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
<details>
<summary>查看响应示例:</summary>
```json
```jsonc
{
"code": 0,
"message": "0",
@@ -1129,7 +1382,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
"rec_reason": "",
"track_id": ""
},
……
// ……
],
"re_version": 0
}
@@ -1140,7 +1393,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
### 查询黑名单明细
> https://api.bilibili.com/x/relation/blacks
> <https://api.bilibili.com/x/relation/blacks>
*请求方式GET*
@@ -1165,7 +1418,7 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
| ttl | num | 1 | |
| data | obj | 信息本体 | |
data 对象:
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ----- | ------------ | ---- |
@@ -1269,7 +1522,7 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \
### 操作用户关系
> https://api.bilibili.com/x/relation/modify
> <https://api.bilibili.com/x/relation/modify>
*请求方式POST*
@@ -1335,7 +1588,7 @@ curl 'https://api.bilibili.com/x/relation/modify' \
### 批量操作用户关系
> https://api.bilibili.com/x/relation/batch/modify
> <https://api.bilibili.com/x/relation/batch/modify>
*请求方式POST*
@@ -1429,7 +1682,7 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \
### 查询用户与自己关系(仅关注)
> https://api.bilibili.com/x/relation
> <https://api.bilibili.com/x/relation>
*请求方式GET*
@@ -1485,9 +1738,9 @@ curl -G 'https://api.bilibili.com/x/relation' \
### 查询用户与自己关系(互相关系)
> 接口1https://api.bilibili.com/x/space/wbi/acc/relation
> 接口1<https://api.bilibili.com/x/space/wbi/acc/relation>
> 接口2https://api.bilibili.com/x/web-interface/relation
> 接口2<https://api.bilibili.com/x/web-interface/relation>
*请求方式GET*
@@ -1495,7 +1748,7 @@ curl -G 'https://api.bilibili.com/x/relation' \
鉴权方式仅接口1[Wbi 签名](../misc/sign/wbi.md)
~~该接口的旧版 API https://api.bilibili.com/x/space/acc/relation~~(已废弃,不建议使用)
~~该接口的旧版 API <https://api.bilibili.com/x/space/acc/relation>~~(已废弃,不建议使用)
**url参数**
@@ -1576,7 +1829,7 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \
### 批量查询用户与自己关系
> https://api.bilibili.com/x/relation/relations
> <https://api.bilibili.com/x/relation/relations>
*请求方式GET*
@@ -1585,9 +1838,9 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------ | ----------- | ------------------- |
| ---------- | ---- | -------------- | ------------ | ----------------------------- |
| access_key | str | APP 登录 Token | APP 方式必要 | |
| fids | nums | 目标用户 mid | 必要 | 每个之间用`,`间隔 |
| fids | nums | 目标用户 mid | 必要 | 每个之间用`,`间隔,无成员限制 |
**json回复**
@@ -1613,8 +1866,8 @@ curl -G 'https://api.bilibili.com/x/space/acc/relation' \
```shell
curl -G 'https://api.bilibili.com/x/relation/relations' \
--data-urlencode 'fid=258150656' \
-b 'SESSDATA=xxx'
--data-urlencode 'fid=258150656' \
-b 'SESSDATA=xxx'
```
<details>
@@ -1657,7 +1910,7 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \
### 查询关注分组列表
> https://api.bilibili.com/x/relation/tags
> <https://api.bilibili.com/x/relation/tags>
*请求方式GET*
@@ -1709,7 +1962,7 @@ curl 'https://api.bilibili.com/x/relation/tags' \
<details>
<summary>查看响应示例:</summary>
```json
```jsonc
{
"code": 0,
"message": "0",
@@ -1739,7 +1992,7 @@ curl 'https://api.bilibili.com/x/relation/tags' \
"count": 22,
"tip": ""
},
…………
// ……
]
}
```
@@ -1748,7 +2001,7 @@ curl 'https://api.bilibili.com/x/relation/tags' \
### 查询关注分组明细
> https://api.bilibili.com/x/relation/tag
> <https://api.bilibili.com/x/relation/tag>
*请求方式GET*
@@ -1771,7 +2024,7 @@ curl 'https://api.bilibili.com/x/relation/tags' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------------------ |
| ------- | ----- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误<br />22104该分组不存在 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
@@ -1780,44 +2033,67 @@ curl 'https://api.bilibili.com/x/relation/tags' \
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------------- | -------------------------------- |
| 0 | obj | 成员信息 1 | [关系列表对象](#关系列表对象) |
| ---- | ---- | --------------- | --------------------------------------- |
| 0 | obj | 成员信息 1 | [关系列表对象](#关系列表对象)**不同** |
| n | obj | 成员信息n+1 | 按照添加顺序排序 |
| …… | obj | …… | …… |
`data` 中的对象:
`data` 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ----------- | -------------- |
| mid | num | 用户id | |
| attribute | num | 0 | |
| tag | null | null | |
| special | num | 0 | |
| contract_info | json | 空的 | |
| uname | str | 用户 | |
| face | str | 头像地址 | |
| sign | str | 个人简介 | |
| face_nft | int | ntf头像 | |
| official_verify | json | 官方认证 | 具体见下 |
| vip | json | 会员 | 参考大会员文档 |
| live | json | 直播状态 | 具体见下 |
| nft_icon | str | 显示nft角标 | |
| rec_reason | str | | |
| track_id | 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`
`data`中的对象中的`official_verify`对象
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------ | ---- |
| type | num | 0 | |
| desc | str | 官方认证内容 | |
| ---- | ---- | ------------ | ------------------- |
| type | num | 用户认证类型 | -1<br />0UP 主认证<br />1机构认证 |
| desc | str | 用户认证信息 | 无为空 |
`data`对象中的`live`
`data`中的对象中的`vip`对象
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | -------- | -------------------- |
| live_status | num | 0或1 | 0未开播1已直播 |
| jump_url | str | 直播链接 |
| ------------- | ---- | ------------ | ----------------------------------------------- |
| vipType | num | 会员类型 | 0<br />1月度大会员<br />2年度以上大会员 |
| vipDueDate | num | 会员到期时间 | 时间戳 毫秒 |
| dueRemark | str | | |
| accessStatus | num | | |
| vipStatus | num | 大会员状态 | 0<br />1有 |
| vipStatusWarn | str | | |
| themeType | num | | |
| label | obj | | |
`data`数组中的对象中的`live`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | -------- | ------------------------ |
| live_status | num | 直播状态 | 0未开播<br />1已直播 |
| jump_url | str | 直播链接 | |
`data`数组中的对象中的`contract_info`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | ------------------------------ | ----------------------------------------------------------- |
| is_contract | bool | 目标用户是否为对方的契约者 | 仅当为 `true` 时才有此项 |
| is_contractor | bool | 对方是否为目标用户的契约者 | 仅当为 `true` 时才有此项 |
| ts | num | 对方成为目标用户的契约者的时间 | 秒级时间戳,仅当 `is_contractor` 项的值为 `true` 时才有此项 |
| user_attr | num | 对方作为目标用户的契约者的属性 | 1老粉<br />否则为原始粉丝<br />仅当有特殊属性时才有此项 |
**示例:**
@@ -1890,7 +2166,7 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \
### 查询目标用户所在的分组
> https://api.bilibili.com/x/relation/tag/user
> <https://api.bilibili.com/x/relation/tag/user>
*请求方式GET*
@@ -1950,7 +2226,7 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \
### 查询所有特别关注 mid
> https://api.bilibili.com/x/relation/tag/special
> <https://api.bilibili.com/x/relation/tag/special>
*请求方式GET*
@@ -2025,7 +2301,7 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \
<img src="../../assets/img/add.svg" width="100" height="100" />
> https://api.bilibili.com/x/relation/tag/create
> <https://api.bilibili.com/x/relation/tag/create>
*请求方式POST*
@@ -2085,7 +2361,7 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \
### 重命名分组
> https://api.bilibili.com/x/relation/tag/update
> <https://api.bilibili.com/x/relation/tag/update>
*请求方式POST*
@@ -2139,7 +2415,7 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \
<img src="../../assets/img/delete.svg" width="100" height="100" />
> https://api.bilibili.com/x/relation/tag/del
> <https://api.bilibili.com/x/relation/tag/del>
*请求方式POST*
@@ -2191,7 +2467,7 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \
<img src="../../assets/img/add.svg" width="100" height="100" />
> https://api.bilibili.com/x/relation/tags/addUsers
> <https://api.bilibili.com/x/relation/tags/addUsers>
*请求方式POST*
@@ -2245,7 +2521,7 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \
### 复制关注到分组
> https://api.bilibili.com/x/relation/tags/copyUsers
> <https://api.bilibili.com/x/relation/tags/copyUsers>
*请求方式POST*
@@ -2287,9 +2563,9 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \
```json
{
"code":0,
"message":"0",
"ttl":1
"code": 0,
"message": "0",
"ttl": 1
}
```
@@ -2297,7 +2573,7 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \
### 移动关注到分组
> https://api.bilibili.com/x/relation/tags/moveUsers
> <https://api.bilibili.com/x/relation/tags/moveUsers>
*请求方式POST*
@@ -2341,9 +2617,9 @@ curl 'https://api.bilibili.com/x/relation/tags/moveUsers' \
```json
{
"code":0,
"message":"0",
"ttl":1
"code": 0,
"message": "0",
"ttl": 1
}
```