This commit is contained in:
SessionHu
2025-05-20 22:47:10 +08:00
19 changed files with 4477 additions and 2457 deletions

View File

@@ -167,6 +167,12 @@
**示例:**
```shell
curl -G 'https://api.bilibili.com/x/credit/v2/jury/case/info' \
--data-urlencode 'case_id=AC2SiaD8jlrL' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>

View File

@@ -18,7 +18,7 @@
| timezone_offset | num | -480 | 非必要 | |
| platform | str | 平台 | 非必要 | `web` |
| gaia_source | str | 来源 | 非必要 | `main_web` |
| features | str | 功能 | 必要 | `itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,commentsNewVersion`, 参见 [图文 功能模块](../opus/features.md) |
| features | str | 功能 | 必要 | `itemOpusStyle,opusBigCover,onlyfansVote,endFooterHidden,decorationCard,onlyfansAssetsV2,ugcDelete,onlyfansQaCard,commentsNewVersion`, 参见 [图文 功能模块](../opus/features.md) |
| web_location | str | `333.1368` | 非必要 | |
| x-bili-device-req-json | obj | 设备信息? | 非必要 | `{"platform":"web","device":"pc"}` |
| x-bili-web-req-json | obj | 请求信息? | 非必要 | `{"spm_id":"333.1368"}` |

View File

@@ -2,7 +2,7 @@
## 获取空间充电公示列表
> https://api.bilibili.com/x/ugcpay-rank/elec/month/up
> <https://api.bilibili.com/x/ugcpay-rank/elec/month/up>
*请求方式GET*
@@ -20,7 +20,7 @@
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------- |
| code | num | 返回值 | 0成功 <br />-400请求错误<br />88214up主未开通充电 |
| code | num | 返回值 | 0成功<br />-400请求错误<br />88214up主未开通充电 |
| message | str | 错误信息 | |
| ttl | num | 0 | |
| data | obj | 数据本体 | |
@@ -71,8 +71,8 @@
```shell
curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \
-A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' \
--data-urlencode 'up_mid=53456'
-A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' \
--data-urlencode 'up_mid=53456'
```
<details>
@@ -80,39 +80,39 @@ curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \
```json
{
"code": 0,
"message": "",
"ttl": 0,
"data": {
"count": 8521,
"list": [
{
"uname": "云梦澡堂",
"avatar": "https://i1.hdslb.com/bfs/face/6589df5fdac0f80593f6a86e4d88dc08e25df3d2.jpg",
"mid": 53456,
"pay_mid": 1555775947,
"rank": 1,
"trend_type": 0,
"vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 },
"message": "",
"message_hidden": 0
},
{
"uname": "在下小天子",
"avatar": "https://i1.hdslb.com/bfs/face/a3bfbe6186889bb50dcd87c1156d07a70227a25b.jpg",
"mid": 53456,
"pay_mid": 508630801,
"rank": 2,
"trend_type": 0,
"vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 },
"message": "",
"message_hidden": 0
}
],
"total_count": 41919,
"total": 41919,
"special_day": 0
}
"code": 0,
"message": "",
"ttl": 0,
"data": {
"count": 8521,
"list": [
{
"uname": "云梦澡堂",
"avatar": "https://i1.hdslb.com/bfs/face/6589df5fdac0f80593f6a86e4d88dc08e25df3d2.jpg",
"mid": 53456,
"pay_mid": 1555775947,
"rank": 1,
"trend_type": 0,
"vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 },
"message": "",
"message_hidden": 0
},
{
"uname": "在下小天子",
"avatar": "https://i1.hdslb.com/bfs/face/a3bfbe6186889bb50dcd87c1156d07a70227a25b.jpg",
"mid": 53456,
"pay_mid": 508630801,
"rank": 2,
"trend_type": 0,
"vip_info": { "vipDueMsec": 0, "vipStatus": 0, "vipType": 0 },
"message": "",
"message_hidden": 0
}
],
"total_count": 41919,
"total": 41919,
"special_day": 0
}
}
```
@@ -120,7 +120,7 @@ curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \
## 获取视频充电鸣谢名单
> https://api.bilibili.com/x/web-interface/elec/show
> <https://api.bilibili.com/x/web-interface/elec/show>
*请求方式:GET*
@@ -161,25 +161,36 @@ curl -G 'https://api.bilibili.com/x/ugcpay-rank/elec/month/up' \
| 字段 | 类型 | 内容 | 备注 |
| ---------- | ---- | ------------------------ | ---------------- |
| show | bool | 是否展示视频充电鸣谢名单 | |
| state | num | 充电功能开启状态 | -1未开通充电功能<br />1已开通自定义充电<br />2已开通包月、自定义充电<br />3已开通高档、自定义充电 |
| state | num | 充电功能开启状态 | -1未开通充电功能<br />1已开通自定义充电<br />2已开通包月、自定义充电<br />3已开通包月高档、自定义充电 |
| title | str | 充电按钮显示文字 | 空字符串或 `充电``充电中` |
| jump_url | str | 跳转url | |
| icon | str | 充电图标 | |
| high_level | obj | 高档充电信息 | |
| high_level | obj | 充电专属视频信息 | |
| with_qa_id | num | 充电问答id | |
`show_info`中的`high_level`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | ------------------------ | ---------------- |
| privilege_type | num | | |
| title | str | | |
| sub_title | str | | |
| show_button | bool | | |
| button_text | str | | |
| jump_url | obj | | |
| intro | str | | |
| open | bool | | |
| new | bool | | |
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | ------------------------------ | ---------------- |
| privilege_type | num | 解锁视频所需最低定价档位的代码 | 见[充电档位代码与定价](../electric/monthly.md#充电档位代码privilege_type与定价) |
| title | str | 提示标题 | `该视频为「{充电档位名称}」专属视频` |
| sub_title | str | 提示子标题 | `开通「{充电档位定价}元档包月充电」即可观看` |
| show_button | bool | 是否显示按钮 | |
| button_text | str | 按钮文本 | `去开通` |
| jump_url | obj | 跳转url信息 | 详细信息有待补充 |
| intro | str | 充电介绍语 | |
| open | bool | | |
| new | bool | | |
| question_text | str | | |
| qa_detail_link | str | | |
`high_level`中的`jump_url`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ----------------------- | ---- |
| up_link | str | UP主包月充电购买页面url | |
| paywall_link | str | 视频试看后的提示页面url | |
| previewbar_link | str | 视频预览页面url | |
`data`中的`list`数组:
@@ -219,16 +230,16 @@ avid方式
```shell
curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \
--data-urlencode 'mid=53456' \
--data-urlencode 'aid=967773538'
--data-urlencode 'mid=53456' \
--data-urlencode 'aid=967773538'
```
bvid方式
```shell
curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \
--data-urlencode 'mid=53456' \
--data-urlencode 'bvid=BV1up4y1y77i'
--data-urlencode 'mid=53456' \
--data-urlencode 'bvid=BV1up4y1y77i'
```
<details>
@@ -296,7 +307,7 @@ curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \
## 查询我收到的充电列表
> https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord
> <https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord>
*请求方式GET*
@@ -370,10 +381,10 @@ curl -G 'https://api.bilibili.com/x/web-interface/elec/show' \
```shell
curl -G 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord' \
--data-urlencode 'currentPage=1' \
--data-urlencode 'pageSize=2' \
--data-urlencode 'customerId=10026' \
-b 'SESSDATA=xxx'
--data-urlencode 'currentPage=1' \
--data-urlencode 'pageSize=2' \
--data-urlencode 'customerId=10026' \
-b 'SESSDATA=xxx'
```
<details>
@@ -432,7 +443,7 @@ curl -G 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord' \
## 查询历史充电数据
> https://member.bilibili.com/x/h5/elec/rank/recent
> <https://member.bilibili.com/x/h5/elec/rank/recent>
*请求方式GET*
@@ -487,7 +498,7 @@ curl -G 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord' \
```shell
curl -G 'https://member.bilibili.com/x/h5/elec/rank/recent' \
-b 'SESSDATA=xxx'
-b 'SESSDATA=xxx'
```
<details>
@@ -495,36 +506,36 @@ curl -G 'https://member.bilibili.com/x/h5/elec/rank/recent' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"aid": 0,
"bvid": "",
"elec_num": 50,
"title": "",
"uname": "",
"avatar": "",
"ctime": "2020-04-02 03:12:22"
},
{
"aid": 0,
"bvid": "",
"elec_num": 20,
"title": "",
"uname": "",
"avatar": "",
"ctime": "2020-04-02 03:12:00"
}
],
"pager": {
"current": 1,
"size": 20,
"total": 38
}
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"aid": 0,
"bvid": "",
"elec_num": 50,
"title": "",
"uname": "",
"avatar": "",
"ctime": "2020-04-02 03:12:22"
},
{
"aid": 0,
"bvid": "",
"elec_num": 20,
"title": "",
"uname": "",
"avatar": "",
"ctime": "2020-04-02 03:12:00"
}
],
"pager": {
"current": 1,
"size": 20,
"total": 38
}
}
}
```

View File

@@ -22,7 +22,7 @@
## 获取包月充电列表
> https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord
> <https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord>
*请求方式GET*
@@ -75,7 +75,7 @@
| item | array | 充电详情 | |
| start | num | 开始充电时间 | 秒级时间戳 |
| high_level_state | num | 是否可对UP主进行高档充电 | |
| elec_reply_state | num | 是否可对UP主进行专属问答 | 0否<br />1是<br />2 |
| elec_reply_state | num | 是否可对UP主进行专属问答 | 0否<br />1是<br />2状态未知 |
数组`list`中的对象中的`item`数组:
@@ -85,7 +85,6 @@
| n | obj | 充电档位(n+1) | |
| …… | obj | …… | …… |
数组`item`中的对象:
| 字段 | 类型 | 内容 | 备注 |
@@ -111,18 +110,17 @@
| signed_price | num | 下次续费金额 | 单位为千分之一元人民币 |
| pay_channel | num | 签约平台 | 2微信支付<br />4支付宝 |
| period | num | 下次充电天数 | |
| mobile_app | num | 充电渠道 | 可为`android`等 |
| mobile_app | str | 充电渠道 | 可为`android`等 |
**示例:**
获取自己正在使用的包月充电的列表
```shell
curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \
--data-urlencode 'page=1' \
--data-urlencode 'type=1' \
-b 'SESSDATA=xxx'
--data-urlencode 'page=1' \
--data-urlencode 'type=1' \
-b 'SESSDATA=xxx'
```
<details>
@@ -130,108 +128,107 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"up_uid": 2233,
"user_name": "2233",
"user_face": "https://i0.hdslb.com/bfs/face/noface.jpg",
"item": [
{
"privilege_type": 10,
"icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png",
"name": "为TA充电",
"expire_time": 1703519999,
"renew": {
"uid": 425503913,
"ruid": 2233,
"goods_id": 174,
"status": 1,
"next_execute_time": 1703174400,
"signed_time": 1671618921,
"signed_price": 36000,
"pay_channel": 2,
"period": 366,
"mobile_app": "android"
},
"start_time": 1671618921,
"renew_list": [
{
"uid": 425503913,
"ruid": 2233,
"goods_id": 174,
"status": 1,
"next_execute_time": 1703174400,
"signed_time": 1671618921,
"signed_price": 36000,
"pay_channel": 2,
"period": 366,
"mobile_app": "android"
}
]
}
],
"start": 1669183804,
"high_level_state": 1,
"elec_reply_state": 1
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"list": [
{
"up_uid": 2233,
"user_name": "2233",
"user_face": "https://i0.hdslb.com/bfs/face/noface.jpg",
"item": [
{
"privilege_type": 10,
"icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png",
"name": "为TA充电",
"expire_time": 1703519999,
"renew": {
"uid": 425503913,
"ruid": 2233,
"goods_id": 174,
"status": 1,
"next_execute_time": 1703174400,
"signed_time": 1671618921,
"signed_price": 36000,
"pay_channel": 2,
"period": 366,
"mobile_app": "android"
},
{
"up_uid": 293793435,
"user_name": "社会易姐QwQ",
"user_face": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg",
"item": [
{
"privilege_type": 10,
"icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png",
"name": "为TA充电",
"expire_time": 1681401599,
"renew": {
"uid": 425503913,
"ruid": 293793435,
"goods_id": 173,
"status": 1,
"next_execute_time": 1680364800,
"signed_time": 1677760921,
"signed_price": 5000,
"pay_channel": 4,
"period": 31,
"mobile_app": "android"
},
"start_time": 1677760921,
"renew_list": [
{
"uid": 425503913,
"ruid": 293793435,
"goods_id": 173,
"status": 1,
"next_execute_time": 1680364800,
"signed_time": 1677760921,
"signed_price": 5000,
"pay_channel": 4,
"period": 31,
"mobile_app": "android"
}
]
}
],
"start": 1676033795,
"high_level_state": 1,
"elec_reply_state": 1
}
"start_time": 1671618921,
"renew_list": [
{
"uid": 425503913,
"ruid": 2233,
"goods_id": 174,
"status": 1,
"next_execute_time": 1703174400,
"signed_time": 1671618921,
"signed_price": 36000,
"pay_channel": 2,
"period": 366,
"mobile_app": "android"
}
]
}
],
"page": 1,
"page_size": 10,
"total_page": 3,
"total_num": 22,
"is_more": 1
}
"start": 1669183804,
"high_level_state": 1,
"elec_reply_state": 1
},
{
"up_uid": 293793435,
"user_name": "社会易姐QwQ",
"user_face": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg",
"item": [
{
"privilege_type": 10,
"icon": "https://s1.hdslb.com/bfs/templar/york-static/lightning_icon@2x.png",
"name": "为TA充电",
"expire_time": 1681401599,
"renew": {
"uid": 425503913,
"ruid": 293793435,
"goods_id": 173,
"status": 1,
"next_execute_time": 1680364800,
"signed_time": 1677760921,
"signed_price": 5000,
"pay_channel": 4,
"period": 31,
"mobile_app": "android"
},
"start_time": 1677760921,
"renew_list": [
{
"uid": 425503913,
"ruid": 293793435,
"goods_id": 173,
"status": 1,
"next_execute_time": 1680364800,
"signed_time": 1677760921,
"signed_price": 5000,
"pay_channel": 4,
"period": 31,
"mobile_app": "android"
}
]
}
],
"start": 1676033795,
"high_level_state": 1,
"elec_reply_state": 1
}
],
"page": 1,
"page_size": 10,
"total_page": 3,
"total_num": 22,
"is_more": 1
}
}
```
</details>
表示自己从2022-11-23 14:10:04开始给“2233”包月充电并且在2022-12-21 18:35:21在微信开通了连续包年充电在2023-12-22 00:00:00的时候会自动续费36元并继续充电366天
@@ -240,7 +237,7 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \
## UP主包月充电详情
> https://api.bilibili.com/x/upower/item/detail
> <https://api.bilibili.com/x/upower/item/detail>
*请求方式GET*
@@ -254,20 +251,26 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误<br />203101UP主未开通包月充电功能 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------- | ---- | ---------- | ---- |
| upower_rank | obj | 充电详情 | |
| item | obj | 充电欢迎语 | |
| user_card | obj | UP主信息 | |
| 字段 | 类型 | 内容 | 备注 |
| ------------------ | ---- | -------------------------- | ------------------------------ |
| upower_rank | obj | 充电详情 | |
| item | obj | 充电欢迎语信息 | |
| user_card | obj | UP主信息 | |
| upower_level | num | UP主开通的充电等级 | 1非高档充电<br />2高档充电 |
| elec_reply_state | num | 是否可对UP主进行专属问答 | |
| voucher_state | obj | 包月充电券信息 | **详细信息有待补充** |
| upower_right_count | obj | 不同充电档位下的充电权益数 | |
| only_contain_medal | bool | 享有的权益仅为粉丝勋章 | |
| privilege_type | num | 当前给该UP主包月充电的档位 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价)若从未给该UP主包月充电过则为0 |
`data`中的`upower_rank`对象:
@@ -279,13 +282,13 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \
`upower_rank`中的`list`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---------------- |
| 0 | obj | 用户1 | |
| n | obj | 用户(n+1) | 按照充电时间排序 |
| …… | obj | …… | …… |
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | -------------------------- |
| 0 | obj | 用户1 | |
| n | obj | 用户(n+1) | 按照最初充电时间排序 |
| …… | obj | …… | …… |
数组`list`中的对象:
`list`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | --------------- | ---- |
@@ -308,15 +311,20 @@ curl 'https://api.live.bilibili.com/xlive/revenue/v1/guard/getChargeRecord' \
| avatar | str | UP主头像url | |
| nickname | str | UP主昵称 | |
`data`中的`upower_right_count`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | -------------------- | ---- |
| {充电档位代码} | num | 该档位下的充电权益数 | |
**示例:**
获取`mid=293793435`的包月充电详情
获取`mid=1265680561`的包月充电详情
```shell
curl 'https://api.bilibili.com/x/upower/item/detail' \
--data-urlencode 'up_mid=293793435' \
-b 'SESSDATA=xxx'
--data-urlencode 'up_mid=1265680561' \
-b 'SESSDATA=xxx'
```
<details>
@@ -324,31 +332,63 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"upower_rank": {
"total": 1,
"total_desc": "1+",
"list": [
{
"rank": 1,
"mid": 425503913,
"nickname": "晨叶梦春",
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg"
}
]
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"upower_rank": {
"total": 5082,
"total_desc": "5000+",
"list": [
{
"rank": 1,
"mid": 1476475459,
"nickname": "一只屑椒",
"avatar": "https://i1.hdslb.com/bfs/face/dc721da215f4651e0472d566b146ee8fdf198dbe.jpg"
},
"item": {
"intro_video_aid": "",
"welcomes": "哈喽b站的小伙伴们我的充电计划升级啦 感兴趣就多多支持我吧~(゜-゜)つロ"
{
"rank": 2,
"mid": 275365317,
"nickname": "-陪我去看海吧i",
"avatar": "https://i0.hdslb.com/bfs/face/dd7547b13020e7f47549ad7908fd3fc58efadefc.jpg"
},
"user_card": {
"avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg",
"nickname": "社会易姐QwQ"
{
"rank": 3,
"mid": 401909111,
"nickname": "Vege5able",
"avatar": "https://i2.hdslb.com/bfs/face/46b1fdc94c7851ec0c47817adeec13e3225da559.jpg"
}
}
]
},
"item": {
"intro_video_aid": "",
"welcomes": "哈喽b站的小伙伴们我的充电计划升级啦 感兴趣就多多支持我吧~(゜-゜)つロ"
},
"user_card": {
"avatar": "https://i1.hdslb.com/bfs/face/5ddddba98f0265265662a8f7d5383e528a98412b.jpg",
"nickname": "永雏塔菲"
},
"upower_level": 1,
"elec_reply_state": 1,
"voucher_state": {
"voucher_order_id": "95843e812210c455d1ea6e4714bf105a00",
"user_voucher_state": 2,
"vip_action": 0,
"voucher_name": "包月充电券6元档",
"validate_price": 0,
"validate_level": 0,
"activity": "",
"common_time": 0,
"high_level_time": 0,
"specify_up": 0,
"specify_level": 0
},
"upower_right_count": {
"10": 3
},
"only_contain_medal": false,
"privilege_type": 0
}
}
```
@@ -356,7 +396,7 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \
## 与UP主的包月充电关系
> https://api.bilibili.com/x/upower/charge/follow/info
> <https://api.bilibili.com/x/upower/charge/follow/info>
*请求方式GET*
@@ -381,15 +421,19 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------------- | ---- | ------------------------ | ------------------------------------------- |
| days | num | 已保持多少天包月充电状态 | |
| up_card | obj | UP主信息 | |
| user_card | obj | 自己的信息 | |
| remain_days | num | 剩余天数 | 未处于包月充电状态为-1 |
| remain_less_1day | num | 剩余的天数小于1天 | 0否<br />1是<br />未处于包月充电状态为0 |
| upower_rank | obj | 充电详情 | |
| upower_icon | str | 充电图标url | 仅在处于包月充电状态时有内容 |
| 字段 | 类型 | 内容 | 备注 |
| ------------------ | ---- | ------------------------------ | ------------------------------------------- |
| days | num | 已保持多少天包月充电状态 | |
| up_card | obj | UP主信息 | |
| user_card | obj | 自己的信息 | |
| remain_days | num | 剩余天数 | 未处于包月充电状态为-1 |
| remain_less_1day | num | 剩余的天数是否小于1天 | 0否<br />1是<br />未处于包月充电状态为0 |
| upower_rank | obj | 充电详情 | |
| upower_icon | str | 充电图标url | 仅在处于包月充电状态时有内容 |
| upower_right_count | obj | 当前自己享有该UP主的充电权益数 | |
| only_contain_medal | bool | 享有的权益仅为粉丝勋章 | |
| privilege_type | num | 当前给该UP主包月充电的档位代码 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价)若未处于包月充电状态为0 |
| challenge_info | obj | 充电挑战信息 | **详细信息有待补充** |
`data`中的`up_card`对象:
@@ -436,11 +480,10 @@ curl 'https://api.bilibili.com/x/upower/item/detail' \
获取与`mid=293793435`的包月充电关系
```shell
curl 'https://api.bilibili.com/x/upower/charge/follow/info' \
--data-urlencode 'up_mid=293793435' \
-b 'SESSDATA=xxx'
--data-urlencode 'up_mid=293793435' \
-b 'SESSDATA=xxx'
```
<details>
@@ -448,37 +491,53 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"days": 17,
"up_card": {
"mid": 293793435,
"nickname": "社会易姐QwQ",
"official_title": "",
"avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg"
},
"user_card": {
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg",
"nickname": "晨叶梦春"
},
"remain_days": 15,
"remain_less_1day": 0,
"upower_rank": {
"total": 1,
"total_desc": "1+",
"list": [
{
"rank": 1,
"mid": 425503913,
"nickname": "晨叶梦春",
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg"
}
]
},
"upower_icon": "https://i0.hdslb.com/bfs/garb/item/33e2e72d9a0c855f036b4cb55448f44af67a0635.png"
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"days": 17,
"up_card": {
"mid": 293793435,
"nickname": "社会易姐QwQ",
"official_title": "",
"avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg"
},
"user_card": {
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg",
"nickname": "晨叶梦春"
},
"remain_days": 15,
"remain_less_1day": 0,
"upower_rank": {
"total": 1,
"total_desc": "1+",
"list": [
{
"rank": 1,
"mid": 425503913,
"nickname": "晨叶梦春",
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg"
}
]
},
"upower_icon": "https://i0.hdslb.com/bfs/garb/item/33e2e72d9a0c855f036b4cb55448f44af67a0635.png",
"upower_right_count": 2,
"only_contain_medal": false,
"privilege_type": 10,
"challenge_info": {
"challenge_id": "",
"description": "",
"challenge_type": 0,
"remaining_days": 0,
"end_time": "",
"progress": 0,
"targets": [],
"state": 0,
"end_time_unix": 0,
"pub_dyn": 0,
"dyn_content": ""
}
}
}
```
@@ -488,7 +547,7 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \
## 包月充电用户排名
> https://api.bilibili.com/x/upower/up/member/rank/v2
> <https://api.bilibili.com/x/upower/up/member/rank/v2>
*请求方式GET*
@@ -496,11 +555,12 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | -------- |
| up_mid | num | 目标用户mid | 必要 | |
| ps | num | 每页项数 | 必要 | 默认为20 |
| pn | num | 页码 | 必要 | 默认为1 |
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------------- | ---- | ------------ | ------ | --------- |
| up_mid | num | 目标用户mid | 必要 | |
| ps | num | 每页项数 | 必要 | 最大为101 |
| pn | num | 页码 | 必要 | |
| privilege_type | num | 充电档位代码 | 非必要 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价),默认为可以显示排名的档位中**最高定价**的档位 |
**json回复**
@@ -515,22 +575,27 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ----- | ------------ | ---- |
| up_info | obj | UP主信息 | |
| rank_info | array | 充电用户排名 | |
| user_info | obj | 自己的信息 | |
| member_total | num | 充电用户总数 | |
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ----- | ------------------------------ | -------- |
| up_info | obj | UP主信息 | |
| rank_info | array | 当前档位的充电用户排名 | |
| user_info | obj | 自己在该档位下与UP主的充电关系 | |
| member_total | num | 当前档位的充电用户总数 | |
| privilege_type | num | 当前充电档位代码 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价) |
| is_charge | bool | 自己是否给该UP主包月充电过 | 无论档位 |
| tabs | array | 可显示排名的充电档位代码列表 | |
| level_info | array | 可显示排名的充电档位信息 | |
`data`中的`up_info`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ------------ | ---------------------------------------- |
| mid | num | UP主mid | |
| nickname | str | UP主昵称 | |
| avatar | str | UP主头像url | |
| type | num | UP主认证类型 | -1无<br />0UP主认证<br />1机构认证 |
| title | str | UP主认证文字 | |
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | -------------------- | ---------------------------------------- |
| mid | num | UP主mid | |
| nickname | str | UP主昵称 | |
| avatar | str | UP主头像url | |
| type | num | UP主认证类型 | -1无<br />0UP主认证<br />1机构认证 |
| title | str | UP主认证文字 | |
| upower_state | num | UP主充电功能开启状态 | 0未开通充电功能<br />1已开通自定义充电<br />2已开通包月、自定义充电<br />3已开通包月高档、自定义充电 |
`data`中的`rank_info`数组:
@@ -559,19 +624,46 @@ curl 'https://api.bilibili.com/x/upower/charge/follow/info' \
| mid | num | 用户mid | |
| nickname | str | 用户昵称 | |
| avatar | str | 用户头像url | |
| rank | num | 包月充电排名 | 不在包月充电用户列表里为-1 |
| rank | num | 包月充电排名 | 不在该充电档位用户列表里为-1 |
| day | num | 包月充电天数 | |
| expire_at | num | 包月充电过期时间 | 秒级时间戳若从未给UP主包月充电为0 |
| remain_days | num | 未过期时:剩余天数<br />已过期且之前给UP主包月充电过自过期以来的天数 | |
| expire_at | num | 包月充电过期时间 | 秒级时间戳若从未给UP主在该档位下包月充电为0 |
| remain_days | num | 剩余天数 | 若该档位充电状态已失效为0 |
`data`中的`tabs`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ------------- | ---------------- |
| 0 | num | 档位代码1 | |
| n | num | 档位代码(n+1) | |
| …… | num | …… | …… |
`data`中的`level_info`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | ---------------- |
| 0 | obj | 档位1 | |
| n | obj | 档位(n+1) | |
| …… | obj | …… | …… |
`level_info`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | -------------------- | ---------------------- |
| privilege_type | num | 当前充电档位代码 | 见[充电档位代码与定价](#充电档位代码privilege_type与定价) |
| name | str | 档位名称 | |
| price | num | 档位价格 | 单位为百分之一元人民币 |
| member_total | num | 当前档位的用户总数 | |
**示例:**
获取给`mid=293793435`包月充电的用户排名
获取给`mid=686127`包月充电的用户排名
```shell
curl 'https://api.bilibili.com/x/upower/up/member/rank/v2' \
--data-urlencode 'up_mid=293793435' \
-b 'SESSDATA=xxx'
--data-urlencode 'up_mid=686127' \
--data-urlencode 'ps=3' \
--data-urlencode 'pn=1' \
-b 'SESSDATA=xxx'
```
<details>
@@ -579,39 +671,75 @@ curl 'https://api.bilibili.com/x/upower/up/member/rank/v2' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"up_info": {
"mid": 293793435,
"nickname": "社会易姐QwQ",
"avatar": "https://i0.hdslb.com/bfs/face/aebb2639a0d47f2ce1fec0631f412eaf53d4a0be.jpg",
"type": -1,
"title": ""
},
"rank_info": [
{
"mid": 425503913,
"nickname": "晨叶梦春",
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg",
"rank": 1,
"day": 31,
"expire_at": 0,
"remain_days": 0
}
],
"user_info": {
"mid": 425503913,
"nickname": "晨叶梦春",
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg",
"rank": 1,
"day": 31,
"expire_at": 1678723199,
"remain_days": 15
},
"member_total": 1
}
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"up_info": {
"mid": 686127,
"nickname": "籽岷",
"avatar": "https://i0.hdslb.com/bfs/face/7efb679569b2faeff38fa08f6f992fa1ada5e948.webp",
"type": 0,
"title": "2024百大UP主、知名游戏UP主",
"upower_state": 3
},
"rank_info": [
{
"mid": 187012867,
"nickname": "是我灬不配",
"avatar": "https://i1.hdslb.com/bfs/face/ad4d2ce0705fd766a0ade315f5a6a5984ce479f4.jpg",
"rank": 1,
"day": 682,
"expire_at": 0,
"remain_days": 0
},
{
"mid": 20135495,
"nickname": "和平时一样鸽",
"avatar": "https://i2.hdslb.com/bfs/face/0eef725964105f39b1f000a59f232d9094017544.jpg",
"rank": 2,
"day": 620,
"expire_at": 0,
"remain_days": 0
},
{
"mid": 490065730,
"nickname": "乔治Y-GYhaha",
"avatar": "https://i1.hdslb.com/bfs/face/e1753e1e43d7a7df5333c5a2f4d3ec1d0334ebe6.jpg",
"rank": 3,
"day": 527,
"expire_at": 0,
"remain_days": 0
}
],
"user_info": {
"mid": 425503913,
"nickname": "晨叶梦春",
"avatar": "https://i2.hdslb.com/bfs/face/540ed71e2fb2ddd8967c21b392026c34fc15673e.jpg",
"rank": -1,
"day": 0,
"expire_at": 0,
"remain_days": 0
},
"member_total": 46881,
"privilege_type": 50,
"is_charge": false,
"tabs": [50, 10],
"level_info": [
{
"privilege_type": 50,
"name": "审稿",
"price": 12800,
"member_total": 1082
},
{
"privilege_type": 10,
"name": "石粒",
"price": 600,
"member_total": 46158
}
]
}
}
```

View File

@@ -78,7 +78,7 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \
## 更新直播间标题
## 更新直播间信息
> https://api.live.bilibili.com/room/v1/Room/update
@@ -92,10 +92,15 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------- | ---- | ------------------------ | ------ | -------------------- |
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
| title | str | 直播间标题 | | 最大20字符 |
| csrf | str | CSRF Token位于cookie | 必要 | |
| csrf_token | str | CSRF Token位于 cookie | | |
| csrf_token | str | CSRF Token位于 cookie | 非必要 | |
| platform | str | 平台标识 | 非必要 | |
| visit_id | str | (?) | 非必要 | 某种标识? |
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
| title | str | 直播间标题 | 非必要 | 上限40个字符 |
| area\_id | num | 直播分区id子分区id | 非必要 | 详见[直播分区](live_area.md) |
| add\_tag | str | 要添加的标签 | 非必要 | 开播设置界面上限10个字符 |
| del\_tag | str | 要删除的标签 | 非必要 | 若存在`add_tag`时不起作用 |
**json回复**
@@ -103,10 +108,26 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />65530token错误登录错误<br />1错误 |
| code | num | 返回值 | 0成功<br />-1操作太频繁<br />1错误<br />3未登录或鉴权失败<br />405不允许的请求方法<br />60009分区已下线<br />65530token错误登录错误<br /> |
| msg | str | 错误信息 | 默认为ok |
| message | str | 错误信息 | 默认为ok |
| data | array | 空 | |
| data | obj | 信息本体 | 部分失败情况下是`[]`(空数组) |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ---- | ---- |
| sub_session_key | str | 信息变动标识 | |
| audit_info | obj | 标题审核信息 | |
`data`中的`audit_info`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------------ | ---- | ---- | ---- |
| audit_title_reason | str | 标题审核提示 | |
| audit_title_status | num | 标题审核状态 | |
| audit_title | str | 被审核的标题 | 更新标题时存在 |
| update_title | str | `""` | 作用尚不明确 |
**示例:**
@@ -114,10 +135,10 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/CreateRoom' \
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
--data-urlencode 'room_id=10352053' \
--data-urlencode 'title=测试' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xx'
--data-urlencode 'room_id=10352053' \
--data-urlencode 'title=测试' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xx'
```
<details>
@@ -125,10 +146,111 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
```json
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": []
"code":0,
"msg":"ok",
"message":"ok",
"data":{
"sub_session_key":"",
"audit_info":{
"audit_title_reason":"先发后审",
"update_title":"",
"audit_title_status":2,
"audit_title":"测试"
}
}
}
```
</details>
修改直播间`10352053`分区为`40`
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
--data-urlencode 'room_id=10352053' \
--data-urlencode 'area_id=40' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"sub_session_key": "",
"audit_info": {
"audit_title_reason": "",
"update_title": "",
"audit_title_status": 0
}
}
}
```
</details>
给直播间`11996900`添加一个标签为`测试标签`
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
--data-urlencode 'room_id=11996900' \
--data-urlencode 'add_tag=测试标签' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"sub_session_key": "",
"audit_info": {
"audit_title_reason": "",
"update_title": "",
"audit_title_status": 0
}
}
}
```
</details>
给直播间`11996900`删除内容为`测试标签`的标签
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
--data-urlencode 'room_id=11996900' \
--data-urlencode 'del_tag=测试标签' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"sub_session_key": "",
"audit_info": {
"audit_title_reason": "",
"update_title": "",
"audit_title_status": 0
}
}
}
```
@@ -152,7 +274,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
| -------- | ---- | ------------------------ | ------ | ----------------------------------- |
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
| area_v2 | num | 直播分区id子分区id | 必要 | 详见[直播分区](live_area.md) |
| platform | str | 直播平台 | 必要 | 直播姬pcpc_link<br />web端:<br />bililinkandroid_link |
| platform | str | 直播平台 | 必要 | 直播姬pcpc_link<br />web在线直播web_link<br />bililinkandroid_link |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
@@ -171,13 +293,19 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
| 字段 | 类型 | 内容 | 备注 |
| --------- | ----- | ---------------- | ---------------------- |
| change | num | 是否改变状态 | 0未改变<br />1改变 |
| status | str | LIVE | |
| status | str | 直播间状态 | `LIVE` |
| room_type | num | 0 | 作用尚不明确 |
| rtmp | obj | RTMP推流地址信息 | |
| protocols | array | | 作用尚不明确 |
| try_time | str | | 作用尚不明确 |
| live_key | str | | 作用尚不明确 |
| live_key | str | 标记直播场次的key | |
| sub_session_key | str | 信息变动标识 | |
| notice | obj | | 作用尚不明确 |
| qr | str | `""` | 作用尚不明确 |
| need_face_auth | bool | 需要人脸识别? | 作用尚不明确 |
| service_source | str | | 作用尚不明确 |
| rtmp\_backup | null | | 作用尚不明确 |
| up_stream_extra | obj | 主播推流额外信息? | |
`data`中的`rtmp`对象:
@@ -215,6 +343,12 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
| button_text | str | 空 | 作用尚不明确 |
| button_url | str | 空 | 作用尚不明确 |
`data`中的`up_stream_extra`对象:
| 字段 | 类型 | 内容 | 备注 |
| --- | --- | --- | --- |
| isp | str | 主播的互联网服务提供商 | |
**示例:**
`27`作为分区id开播直播间`10352053`
@@ -237,39 +371,47 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
```json
{
"code": 0,
"msg": "",
"message": "",
"data": {
"change": 1,
"status": "LIVE",
"room_type": 0,
"rtmp": {
"addr": "rtmp://txy.live-send.acg.tv/live-txy/",
"code": "?streamname=live_293793435_1567354&key=***",
"new_link": "http://tcdns.myqcloud.com:8086/bilibili_redirect?up_rtmp=txy.live-send.acg.tv%2Flive-txy%2F%3Fstreamname%3Dlive_293793435_1567354%26key%3D***",
"provider": "txy"
},
"protocols": [
{
"protocol": "rtmp",
"addr": "rtmp://txy.live-send.acg.tv/live-txy/",
"code": "?streamname=live_293793435_1567354&key=***",
"new_link": "http://tcdns.myqcloud.com:8086/bilibili_redirect?up_rtmp=txy.live-send.acg.tv%2Flive-txy%2F%3Fstreamname%3Dlive_293793435_1567354%26key%3D***",
"provider": "txy"
}
],
"try_time": "0000-00-00 00:00:00",
"live_key": "l:one:live:record:10352053:1589344980",
"notice": {
"type": 1,
"status": 0,
"title": "",
"msg": "",
"button_text": "",
"button_url": ""
}
"code": 0,
"data":{
"change": 1,
"status": "LIVE",
"try_time": "0000-00-00 00:00:00",
"room_type": 0,
"live_key": "608336837537435443",
"sub_session_key": "608336837537435443sub_time:1747292297",
"rtmp":{
"type": 1,
"addr": "rtmp://live-push.bilivideo.com/live-bvc/",
"code": "?streamname=live_348892132_32373699\u0026key=e03061d4a7529d8eaa322dc4d330ca1c\u0026schedule=rtmp\u0026pflag=11",
"new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De73061d8a7539d8eaa233dc4d880ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge",
"provider": "live"
},
"protocols":[
{
"protocol": "rtmp",
"addr": "rtmp://live-push.bilivideo.com/live-bvc/","code":"?streamname=live_348892132_32373699\u0026key=e73061d4a1002d8eaa322dc4d880ca1c\u0026schedule=rtmp\u0026pflag=11",
"new_link": "https://core.bilivideo.com/video/uplinkcore/selfbuild/schedule?up_rtmp=live-push.bilivideo.com%2Flive-bvc%2F%3Fstreamname%3Dlive_348892132_32373699%26key%3De10298d4a7539d8eaa322dc4d220ca1c%26schedule%3Drtmp%26pflag%3D11\u0026edge=edge",
"provider": "txy"
}
],
"notice":{
"type": 1,
"status": 0,
"title": "",
"msg": "",
"button_text": "",
"button_url": ""
},
"qr": "",
"need_face_auth": false,
"service_source": "live-streaming",
"rtmp_backup": null,
"up_stream_extra":{
"isp": "电信"
}
},
"message": "",
"msg": ""
}
```
@@ -308,7 +450,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
| 字段 | 类型 | 内容 | 备注 |
| ------ | ---- | ------------ | ---------------------- |
| change | num | 是否改变状态 | 0未改变<br />1改变 |
| status | str | PREPARING | |
| status | str | 直播间状态 | `PREPARING``ROUND` |
**示例:**
@@ -316,9 +458,9 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \
--data-urlencode 'room_id=10352053' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
--data-urlencode 'room_id=10352053' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
```
<details>
@@ -397,114 +539,3 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews' \
```
</details>
## 编辑直播间标签
> https://api.live.bilibili.com/room/v1/Room/update
*请求方式POST*
认证方式CookieSESSDATA
鉴权方式Cookie中`bili_jct`的值正确并与`csrf`相同
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------- | ---- | ------------------------ | ------ | -------------------- |
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
| add_tag | str | 要添加的标签 | 必要 | 最大10个字符 |
| del_tag | str | 要删除的标签 | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
| csrf_token | str | CSRF Token位于 cookie | | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------ |
| code | num | 返回值 | 0成功<br />65530token错误登录错误<br />1错误 |
| data | obj | | |
| message | str | 错误信息 | 默认为ok |
| msg | str | 错误信息 | 默认为ok |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ---- | ---- | ---- |
| audit_info | obj | | |
| sub_session_key | str | | |
`data`中的`audit_info`对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------------ | ---- | ---- | ---- |
| audit_title_reason | str | | |
| audit_title_status | num | 0 | |
| update_title | str | | |
**示例:**
给直播间`11996900`添加一个标签为`测试标签`
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
--data-urlencode 'room_id=11996900' \
--data-urlencode 'add_tag=测试标签' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"sub_session_key": "",
"audit_info": {
"audit_title_reason": "",
"update_title": "",
"audit_title_status": 0
}
}
}
```
</details>
给直播间`11996900`删除内容为`测试标签`的标签
```shell
curl 'https://api.live.bilibili.com/room/v1/Room/update' \
--data-urlencode 'room_id=11996900' \
--data-urlencode 'del_tag=测试标签' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"sub_session_key": "",
"audit_info": {
"audit_title_reason": "",
"update_title": "",
"audit_title_status": 0
}
}
}
```
</details>

View File

@@ -2,7 +2,7 @@
## 查询登录记录
> https://api.bilibili.com/x/safecenter/login_notice
> <https://api.bilibili.com/x/safecenter/login_notice>
*请求方式GET*
@@ -12,7 +12,7 @@
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ---------- | ------ | ------------------------------------------------------------ |
| mid | num | 用户mid | 必要 | |
| mid | num | 用户mid | 必要 | 必须为自己的mid |
| buvid | str | 设备虚拟id | 非必要 | web端为操作登录接口时Cookie中的`buvid3`<br />若登录设备无`buvid`则留空 |
**json回复**
@@ -21,7 +21,7 @@
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误<br />-403访问权限不足 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
@@ -43,9 +43,9 @@
```shell
curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \
--data-urlencode 'mid=293793435' \
--data-urlencode 'buvid=fuck_chenrui' \
-b 'SESSDATA=xxx'
--data-urlencode 'mid=293793435' \
--data-urlencode 'buvid=fuck_chenrui' \
-b 'SESSDATA=xxx'
```
<details>
@@ -71,7 +71,7 @@ curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \
## 最近一周的登录情况
> https://api.bilibili.com/x/member/web/login/log
> <https://api.bilibili.com/x/member/web/login/log>
*请求方式: GET*
@@ -114,7 +114,7 @@ curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | -------------- | ---- |
| ip | str | 登录 IP | 末两位以 `*` 打码 |
| ip | str | 登录 IP | IPv4末 2 位以 `*` 打码<br />IPv6末 5 位以 `*` 打码 |
| time | num | 登录时间 | UNIX 秒级时间戳 |
| time_at | str | 登录时间 | 格式为 `yyyy-MM-dd HH:mm:ss` |
| status | bool | 是否登录成功? | |
@@ -127,7 +127,7 @@ curl -G 'https://api.bilibili.com/x/safecenter/login_notice' \
```shell
curl -G "https://api.bilibili.com/x/member/web/login/log" \
-b "SESSDATA=xxx"
-b "SESSDATA=xxx"
```
<details>
@@ -139,8 +139,16 @@ curl -G "https://api.bilibili.com/x/member/web/login/log" \
"message": "0",
"ttl": 1,
"data": {
"count": 14,
"count": 15,
"list": [
{
"ip": "240e:*:*:*:*:*:*:*",
"time": 1746038055,
"time_at": "2025-05-01 02:34:15",
"status": true,
"type": 0,
"geo": "中国广西梧州电信"
},
{
"ip": "108.181.*.*",
"time": 1722036741,

View File

@@ -2,8 +2,9 @@
## 获取未读消息数
> https://api.bilibili.com/x/msgfeed/unread
> https://api.vc.bilibili.com/x/im/web/msgfeed/unread (新接口)
> <https://api.bilibili.com/x/msgfeed/unread>
> <https://api.vc.bilibili.com/x/im/web/msgfeed/unread> (新接口)
*请求方式GET*
@@ -52,7 +53,7 @@
```shell
curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \
-b 'SESSDATA=xxx'
-b 'SESSDATA=xxx'
```
<details>
@@ -60,23 +61,23 @@ curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"at": 3,
"chat": 0,
"coin": 0,
"danmu": 0,
"favorite": 0,
"like": 10,
"recv_like": 10,
"recv_reply": 4,
"reply": 4,
"sys_msg": 2,
"sys_msg_style": 1,
"up": 1
}
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"at": 3,
"chat": 0,
"coin": 0,
"danmu": 0,
"favorite": 0,
"like": 10,
"recv_like": 10,
"recv_reply": 4,
"reply": 4,
"sys_msg": 2,
"sys_msg_style": 1,
"up": 1
}
}
```

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@
```json
{
"content": "Hello"
"content": "Hello"
}
```
@@ -28,7 +28,7 @@
在发送私信时,请确保下面的对象合法且 `url` 项的值为 B 站的图床 url否则会报 21037 `图片格式不合法,不要调戏接口啦` 错误
建议设置 `height``width` 属性,否则可能会导致消息显示异常
建议设置 `height``width` 属性为图片的尺寸,否则可能会导致消息显示异常
根对象:
@@ -47,12 +47,12 @@
```json
{
"url": "https://message.biliimg.com/bfs/im_new/c161fdf51d901c1607a15e30f10116dd425503913.jpg",
"height": 300,
"width": 300,
"imageType": "jpeg",
"original": 1,
"size": 55.443
"url": "https://message.biliimg.com/bfs/im_new/c161fdf51d901c1607a15e30f10116dd425503913.jpg",
"height": 300,
"width": 300,
"imageType": "jpeg",
"original": 1,
"size": 55.443
}
```
@@ -100,13 +100,13 @@
```json
{
"author": "社会易姐QwQ",
"headline": "",
"id": 246551172,
"source": 5,
"thumb": "http://i2.hdslb.com/bfs/archive/14ba78056f946ece8c954a10677ef6b073edb178.jpg",
"title": "合 成 大 東 瓜",
"bvid": "BV16v411e7CW"
"author": "社会易姐QwQ",
"headline": "",
"id": 246551172,
"source": 5,
"thumb": "http://i2.hdslb.com/bfs/archive/14ba78056f946ece8c954a10677ef6b073edb178.jpg",
"title": "合 成 大 東 瓜",
"bvid": "BV16v411e7CW"
}
```
@@ -150,14 +150,14 @@
```json
{
"avatar": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png",
"cover": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png",
"id": "bili91e3e7e93af281f9",
"jump_uri": "https://mall.bilibili.com/miniapp/bili91e3e7e93af281f9/pages/main?___timestamp=1689526821040&_biliFrom=about_bili_message&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1689526821048",
"label_cover": "https://i0.hdslb.com/bfs/mall/mall/ae/0e/ae0ee4a857df5e307e1d04b5d420cb5b.png",
"label_name": "小程序",
"name": "主站测试专用小程序",
"title": "主站测试专用小程序"
"avatar": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png",
"cover": "http://i0.hdslb.com/bfs/mall/mall/7b/dd/7bdd072290de017593791b52e937ca29.png",
"id": "bili91e3e7e93af281f9",
"jump_uri": "https://mall.bilibili.com/miniapp/bili91e3e7e93af281f9/pages/main?___timestamp=1689526821040&_biliFrom=about_bili_message&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1689526821048",
"label_cover": "https://i0.hdslb.com/bfs/mall/mall/ae/0e/ae0ee4a857df5e307e1d04b5d420cb5b.png",
"label_name": "小程序",
"name": "主站测试专用小程序",
"title": "主站测试专用小程序"
}
```
@@ -167,8 +167,8 @@
**按钮显示逻辑说明:**
- **按钮的url**首先尝试读取 `jump_uri_config``jump_uri_2_config``jump_uri_3_config` 对象中表示当前设备类型的 url`web_uri``android_uri` 等);若为空值,则尝试读取 `jump_uri_config``jump_uri_2_config``jump_uri_3_config` 对象中 `all_uri` 的值;若仍为空值,则读取根对象中 `jump_uri``jump_uri_2``jump_uri_3` 的值;若仍为空值,则不显示该按钮(无论提示文字是否为空)
- **按钮提示文字**若按钮是可见的,则先尝试读取 `jump_uri_config``jump_uri_2_config``jump_uri_3_config` 对象中 `text` 的值;若为空值,则读取根对象中 `jump_text``jump_text_2``jump_text_3` 的值;若仍为空值,则提示文字为 `查看详情`
- **按钮的url**首先尝试读取 `jump_uri_config``jump_uri_2_config``jump_uri_3_config` 对象中表示当前设备类型的 url`web_uri``android_uri` 等);若为空值,则尝试读取 `jump_uri_config``jump_uri_2_config``jump_uri_3_config` 对象中 `all_uri` 的值;若仍为空值,则读取根对象中 `jump_uri``jump_uri_2``jump_uri_3` 的值;若仍为空值,则不显示该按钮(无论提示文字是否为空)
- **按钮提示文字**若按钮是可见的,则先尝试读取 `jump_uri_config``jump_uri_2_config``jump_uri_3_config` 对象中 `text` 的值;若为空值,则读取根对象中 `jump_text``jump_text_2``jump_text_3` 的值;若仍为空值,则提示文字为 `查看详情`
根对象:
@@ -176,12 +176,12 @@
| ----------------- | ----- | ------------- | ------------------------- |
| title | str | 通知标题 | |
| text | str | 通知内容 | |
| jump_text | str | 按钮1提示文字 | 若按钮1不存在则为空若按钮1存在此项也可能为空此时前端显示文字为 `查看详情` |
| jump_text | str | 按钮1提示文字 | 若按钮1不存在则为空若按钮1存在此项也可能为空,此时前端显示文字为 `查看详情` |
| jump_uri | str | 按钮1跳转链接 | 若按钮1不存在则为空 |
| modules | 有效时array<br />无效时null | 详细信息 | |
| jump_text_2 | str | 按钮2提示文字 | 若按钮2不存在则为空若按钮2存在此项也可能为空此时前端显示文字为 `查看详情` |
| jump_text_2 | str | 按钮2提示文字 | 若按钮2不存在则为空若按钮2存在此项也可能为空,此时前端显示文字为 `查看详情` |
| jump_uri_2 | str | 按钮2跳转链接 | 若按钮2不存在则为空 |
| jump_text_3 | str | 按钮3提示文字 | 若按钮3不存在则为空若按钮3存在此项也可能为空此时前端显示文字为 `查看详情` |
| jump_text_3 | str | 按钮3提示文字 | 若按钮3不存在则为空若按钮3存在此项也可能为空,此时前端显示文字为 `查看详情` |
| jump_uri_3 | str | 按钮3跳转链接 | 若按钮3不存在则为空 |
| notifier | 有效时obj<br />无效时null | 发送者信息 | |
| jump_uri_config | obj | 按钮1配置 | |
@@ -241,44 +241,44 @@
```json
{
"title": "直播开始提醒",
"text": "你预约的直播已开始,快来围观吧~",
"jump_text": "进入直播间",
"jump_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040",
"modules": [{
"title": "预约主题",
"detail": "2024哔哩哔哩拜年纪"
}, {
"title": "开播时间",
"detail": "2024-02-09 19:32"
}, {
"title": "UP主",
"detail": "哔哩哔哩拜年纪"
}],
"jump_text_2": "",
"jump_uri_2": "",
"jump_text_3": "",
"jump_uri_3": "",
"notifier": null,
"jump_uri_config": {
"all_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040",
"text": "进入直播间"
},
"jump_uri_2_config": {
"text": ""
},
"jump_uri_3_config": {
"text": ""
},
"biz_content": {
"cover": "",
"backup_cover": "http://i0.hdslb.com/bfs/live/new_room_cover/bdae2665883ec8aa4e79aca16f3c5ee2df1da64f.jpg",
"refresh_type": 1,
"biz_type": 2,
"biz_id1": "1868902080",
"biz_id2": "473923647994271663",
"biz_status": 0
}
"title": "直播开始提醒",
"text": "你预约的直播已开始,快来围观吧~",
"jump_text": "进入直播间",
"jump_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040",
"modules": [{
"title": "预约主题",
"detail": "2024哔哩哔哩拜年纪"
}, {
"title": "开播时间",
"detail": "2024-02-09 19:32"
}, {
"title": "UP主",
"detail": "哔哩哔哩拜年纪"
}],
"jump_text_2": "",
"jump_uri_2": "",
"jump_text_3": "",
"jump_uri_3": "",
"notifier": null,
"jump_uri_config": {
"all_uri": "https://live.bilibili.com/22747055?broadcast_type=0&is_room_feed=1&live_from=27040",
"text": "进入直播间"
},
"jump_uri_2_config": {
"text": ""
},
"jump_uri_3_config": {
"text": ""
},
"biz_content": {
"cover": "",
"backup_cover": "http://i0.hdslb.com/bfs/live/new_room_cover/bdae2665883ec8aa4e79aca16f3c5ee2df1da64f.jpg",
"refresh_type": 1,
"biz_type": 2,
"biz_id1": "1868902080",
"biz_id2": "473923647994271663",
"biz_status": 0
}
}
```
@@ -315,17 +315,17 @@
```json
{
"title": "【2023嵌入式大赛】浅浅测试一下龙芯开发板",
"times": 308,
"cover": "http://i2.hdslb.com/bfs/archive/880c937de9af758451aa94ee29771e0264c1903a.jpg",
"rid": 740817783,
"type_": 8,
"desc": "最近把龙芯开发板部分(任务一)程序完成了,时间非常紧迫,就不知道为啥突然给省赛加个(本来国赛的题\n从硬件焊接开始到软件整完不过5天啊喂肝疼过几天比赛完发硬件制作过程\n硬件使用龙芯一号LS1B010SOC软件使用 C 语言+FreeRTOS+VSCode 开发",
"bvid": "BV1Dk4y1E7MZ",
"view": 13492,
"danmaku": 5,
"pub_date": 1683381582,
"attach_msg": null
"title": "【2023嵌入式大赛】浅浅测试一下龙芯开发板",
"times": 308,
"cover": "http://i2.hdslb.com/bfs/archive/880c937de9af758451aa94ee29771e0264c1903a.jpg",
"rid": 740817783,
"type_": 8,
"desc": "最近把龙芯开发板部分(任务一)程序完成了,时间非常紧迫,就不知道为啥突然给省赛加个(本来国赛的题\n从硬件焊接开始到软件整完不过5天啊喂肝疼过几天比赛完发硬件制作过程\n硬件使用龙芯一号LS1B010SOC软件使用 C 语言+FreeRTOS+VSCode 开发",
"bvid": "BV1Dk4y1E7MZ",
"view": 13492,
"danmaku": 5,
"pub_date": 1683381582,
"attach_msg": null
}
```
@@ -370,19 +370,19 @@
```json
{
"rid": 18275013,
"title": "【单片机】遛弯捕捉到野生U盾点亮它",
"summary": "前一阵在学校那会,偶然的机会晚上饭后出去遛弯,在路边看到个被抛弃的 U盾这么一想应该是附近拆迁搬东西时丢出去的随即捕捉它。作为一个啥都折腾的捡垃圾技术宅肯定要去研究一波笑是个建行的 U盾按键部分还有点老灰屏幕的尺寸盲猜 128x64不可能再大了背面除了序列号没有别的东西顶部有个盖子像极了上古时期的 U盘插上充电宝可以正常点亮至少屏没坏拆解&分析电路直接开拆,用刀片沿着四周缝隙插入并挑开卡扣内部结构挺简单,只有两颗较大的芯片,屏幕的 FPC 排线直接焊接在 PCB 上中间的这颗是",
"author": "社会易姐QwQ",
"view": 872,
"like": 38,
"reply": 7,
"template_id": 4,
"image_urls": [
"https://i0.hdslb.com/bfs/article/c7c60e018c43c5c3a6e1520239021ea2753b2880.jpg"
],
"attach_msg": null,
"pub_date": 1661358081
"rid": 18275013,
"title": "【单片机】遛弯捕捉到野生U盾点亮它",
"summary": "前一阵在学校那会,偶然的机会晚上饭后出去遛弯,在路边看到个被抛弃的 U盾这么一想应该是附近拆迁搬东西时丢出去的随即捕捉它。作为一个啥都折腾的捡垃圾技术宅肯定要去研究一波笑是个建行的 U盾按键部分还有点老灰屏幕的尺寸盲猜 128x64不可能再大了背面除了序列号没有别的东西顶部有个盖子像极了上古时期的 U盘插上充电宝可以正常点亮至少屏没坏拆解&分析电路直接开拆,用刀片沿着四周缝隙插入并挑开卡扣内部结构挺简单,只有两颗较大的芯片,屏幕的 FPC 排线直接焊接在 PCB 上中间的这颗是",
"author": "社会易姐QwQ",
"view": 872,
"like": 38,
"reply": 7,
"template_id": 4,
"image_urls": [
"https://i0.hdslb.com/bfs/article/c7c60e018c43c5c3a6e1520239021ea2753b2880.jpg"
],
"attach_msg": null,
"pub_date": 1661358081
}
```
@@ -402,9 +402,9 @@
```json
{
"pic_url": "http://i0.hdslb.com/bfs/location/9e57aff7245c226c05ba46ddd1e82667f74d5a06.png",
"jump_url": "https://www.bilibili.com/h5/mall/suit/detail?navhide=1&id=66359&from=Banner",
"title": "原神,启动!"
"pic_url": "http://i0.hdslb.com/bfs/location/9e57aff7245c226c05ba46ddd1e82667f74d5a06.png",
"jump_url": "https://www.bilibili.com/h5/mall/suit/detail?navhide=1&id=66359&from=Banner",
"title": "原神,启动!"
}
```
@@ -429,12 +429,12 @@
```json
{
"author": "哔哩哔哩晚会",
"cover": "https://i1.hdslb.com/bfs/face/1b593d28fcd0cf63837c3ea80ac96d01bb85ec3b.jpg",
"desc": "主播:哔哩哔哩晚会 https://live.bilibili.com/21738461",
"source": "直播",
"title": "2023最美的夜 bilibili晚会",
"url": "https://live.bilibili.com/21738461?broadcast_type=0&is_room_feed=1&live_from=41000&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1704038936971"
"author": "哔哩哔哩晚会",
"cover": "https://i1.hdslb.com/bfs/face/1b593d28fcd0cf63837c3ea80ac96d01bb85ec3b.jpg",
"desc": "主播:哔哩哔哩晚会 https://live.bilibili.com/21738461",
"source": "直播",
"title": "2023最美的夜 bilibili晚会",
"url": "https://live.bilibili.com/21738461?broadcast_type=0&is_room_feed=1&live_from=41000&share_medium=android&share_source=bili_message&bbid=XU8CE838022AF6625C64B2153A3EF1E571AFF&ts=1704038936971"
}
```
@@ -477,42 +477,42 @@
```json
{
"main_title": "更多宝藏内容",
"reply_content": "感谢大佬关注哦~[doge][脱单doge][doge]\n这里是科技区底边小UP日常瞎折腾软硬件电路程序网络服务器都折腾视频月更风格硬核略小众咕咕咕.....\n老大二了就不中二了\n有什么好的建议欢迎私信",
"sub_cards": [{
"card_id": 379743801,
"card_type": 1,
"jump_url": "https://b23.tv/BV1hZ4y197Cz",
"cover_url": "http://i2.hdslb.com/bfs/archive/bfb87f033272926efe6ff4caee8e6c49c07ff6fe.jpg",
"field1": "【宿舍评测】性能与便携两全 华为matebook E 2022深度体验及伪开箱",
"field2": "2021-12-10",
"field3": "20万",
"icon3": 1,
"field4": "479",
"icon4": 3
}, {
"card_id": 768716232,
"card_type": 1,
"jump_url": "https://b23.tv/BV13r4y187R8",
"cover_url": "http://i1.hdslb.com/bfs/archive/bb1d41ef0c17c2df25c8b6ef98f01466bdee0c1f.jpg",
"field1": "【BadApple】使用古董示波器Aron BS-601播放BadApple!!!",
"field2": "2022-05-03",
"field3": "15万",
"icon3": 1,
"field4": "297",
"icon4": 3
}, {
"card_id": 524989935,
"card_type": 1,
"jump_url": "https://b23.tv/BV17M411E7Kq",
"cover_url": "http://i1.hdslb.com/bfs/archive/17335854dfad9d7990943d8cc6dc07c85912b103.jpg",
"field1": "【拆解】华为 Matebook E 更换固态硬盘:从未见过如此好拆的二合一",
"field2": "2023-02-24",
"field3": "5万",
"icon3": 1,
"field4": "102",
"icon4": 3
}]
"main_title": "更多宝藏内容",
"reply_content": "感谢大佬关注哦~[doge][脱单doge][doge]\n这里是科技区底边小UP日常瞎折腾软硬件电路程序网络服务器都折腾视频月更风格硬核略小众咕咕咕.....\n老大二了就不中二了\n有什么好的建议欢迎私信",
"sub_cards": [{
"card_id": 379743801,
"card_type": 1,
"jump_url": "https://b23.tv/BV1hZ4y197Cz",
"cover_url": "http://i2.hdslb.com/bfs/archive/bfb87f033272926efe6ff4caee8e6c49c07ff6fe.jpg",
"field1": "【宿舍评测】性能与便携两全 华为matebook E 2022深度体验及伪开箱",
"field2": "2021-12-10",
"field3": "20万",
"icon3": 1,
"field4": "479",
"icon4": 3
}, {
"card_id": 768716232,
"card_type": 1,
"jump_url": "https://b23.tv/BV13r4y187R8",
"cover_url": "http://i1.hdslb.com/bfs/archive/bb1d41ef0c17c2df25c8b6ef98f01466bdee0c1f.jpg",
"field1": "【BadApple】使用古董示波器Aron BS-601播放BadApple!!!",
"field2": "2022-05-03",
"field3": "15万",
"icon3": 1,
"field4": "297",
"icon4": 3
}, {
"card_id": 524989935,
"card_type": 1,
"jump_url": "https://b23.tv/BV17M411E7Kq",
"cover_url": "http://i1.hdslb.com/bfs/archive/17335854dfad9d7990943d8cc6dc07c85912b103.jpg",
"field1": "【拆解】华为 Matebook E 更换固态硬盘:从未见过如此好拆的二合一",
"field2": "2023-02-24",
"field3": "5万",
"icon3": 1,
"field4": "102",
"icon4": 3
}]
}
```
@@ -522,8 +522,8 @@
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------- |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | -------------------------- |
| content | str | 提示列表 | **经过序列化后**的JSON数组 |
`content`文本经JSON解析后的数组
@@ -549,7 +549,7 @@
```json
{
"content": "[{\"text\":\"对方主动回复或关注你前最多发送1条消息\",\"color_day\":\"#9499A0\",\"color_nig\":\"#9499A0\"}]"
"content": "[{\"text\":\"对方主动回复或关注你前最多发送1条消息\",\"color_day\":\"#9499A0\",\"color_nig\":\"#9499A0\"}]"
}
```
@@ -601,10 +601,10 @@
根对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | -------- | ---- |
| group_id | num | 粉丝团id | |
| content | str | 提示文字 | |
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | -------- | ---------- |
| group_id | num | 粉丝团id | (非必要) |
| content | str | 提示文字 | |
**示例:**
@@ -612,8 +612,8 @@
```json
{
"group_id": 221082140,
"content": "社会易姐QwQ的应援团开通啦 (>▽<)"
"group_id": 221082140,
"content": "社会易姐QwQ的应援团开通啦 (>▽<)"
}
```
@@ -621,7 +621,7 @@
```json
{
"group_id": 221082140,
"content": "欢迎wuziqian211入群"
"group_id": 221082140,
"content": "欢迎wuziqian211入群"
}
```

830
docs/message/settings.md Normal file
View File

@@ -0,0 +1,830 @@
# 消息设置
## 获取用户偏好设置
> <https://api.vc.bilibili.com/link_setting/v1/link_setting/get>
*请求方式GET 或 POST*
认证方式CookieSESSDATA
**url参数GET或 正文参数application/x-www-form-urlencodedPOST**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------------- | ---- | -------------------------------- | ------------ | ------------------------- |
| msg_notify | num | 是否显示 “消息提醒” 设置 | 非必要 | 若此项为任意整数,则返回数据中有 `msg_notify` 项 |
| show_unfollowed_msg | num | 是否显示 “收起未关注人消息” 设置 | 非必要 | 若此项为任意整数,则返回数据中有 `show_unfollowed_msg` 项 |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
| csrf_token | str | CSRF Token位于cookie | POST方式必要 | |
| csrf | str | CSRF Token位于cookie | POST方式必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------------------ | ---- | -------------------- | --------------------------------------------------------------------------- |
| show_unfollowed_msg | num | 收起未关注人消息 | 请求参数 `show_unfollowed_msg` 为整数时显示此项<br />0不收起<br />1收起 |
| msg_notify | num | 消息提醒 | 请求参数 `msg_notify` 为整数时显示此项<br />1接收<br />3不接收 |
| set_like | num | 收到的赞提醒(旧) | 0接收<br />5不接收 |
| set_comment | num | 回复我的提醒(旧) | 0所有人<br />1关注的人<br />2不接受任何消息提醒 |
| set_at | num | @ 我的提醒 (旧) | 0所有人<br />1关注的人<br />2不接受任何消息提醒 |
| is_group_fold | num | 收起应援团消息 | 0不收起<br />1收起 |
| should_receive_group | num | 接收应援团消息 | 0不接收<br />1接收 |
| receive_unfollow_msg | num | 接收未关注人消息 | 前端隐藏此开关<br />0不接收<br />1接收 |
| followed_reply | num | 被关注回复 | 0关闭<br />1开启 |
| keys_reply | num | 关键词回复 | 0关闭<br />1开启 |
| recv_reply | num | 收到消息回复 | 0关闭<br />1开启 |
| voyage_reply | num | 大航海上船回复 | 0关闭<br />1开启 |
| recommend_followed_reply | num | 被关注时自动推送作品 | 0关闭<br />1开启 |
| ai_intercept | num | 私信智能拦截 | 0关闭<br />1开启 |
| anti_harassment | null | 防骚扰和互动人群设置 | 此接口恒返回 `null` |
| set_recv_reply | num | 收到回复提醒(新) | 0所有人<br />1关注的人<br />2不接受任何消息提醒 |
| set_recv_like | num | 收到喜欢提醒(新) | 0接收<br />2不接收 |
| set_new_follow | num | 新增粉丝提醒(新) | 0接收<br />2不接收 |
**示例:**
```shell
curl -G 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get' \
--data-urlencode 'msg_notify=1' \
--data-urlencode 'show_unfollowed_msg=1' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {
"show_unfollowed_msg": 0,
"msg_notify": 1,
"set_like": 0,
"set_comment": 0,
"set_at": 0,
"is_group_fold": 0,
"should_receive_group": 1,
"receive_unfollow_msg": 1,
"followed_reply": 1,
"keys_reply": 0,
"recv_reply": 1,
"voyage_reply": 0,
"recommend_followed_reply": 1,
"ai_intercept": 1,
"anti_harassment": null,
"set_recv_reply": 0,
"set_recv_like": 0,
"set_new_follow": 0
}
}
```
</details>
## 修改用户偏好设置
> <https://api.vc.bilibili.com/link_setting/v1/link_setting/set>
*请求方式POST*
认证方式CookieSESSDATA
参数名称与值基本同「[获取用户偏好设置](#获取用户偏好设置)」中的 `data` 对象,修改设置时只需提供修改的设置对应的参数即可
开启自动回复功能需要 1000 粉丝及以上,否则会提示 700009 `权限不足`
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------------------------ | ---- | ------------------------ | ------ | ----------------------------------------------------- |
| show_unfollowed_msg | num | 收起未关注人消息 | 非必要 | 0不收起<br />1收起 |
| msg_notify | num | 消息提醒 | 非必要 | 1接收<br />3不接收 |
| set_like | num | 收到的赞提醒 | 非必要 | 0接收<br />5不接收 |
| set_comment | num | 回复我的提醒 | 非必要 | 0所有人<br />1关注的人<br />2不接受任何消息提醒 |
| set_at | num | @ 我的提醒 | 非必要 | 0所有人<br />1关注的人<br />2不接受任何消息提醒 |
| is_group_fold | num | 收起应援团消息 | 非必要 | 0不收起<br />1收起 |
| should_receive_group | num | 接收应援团消息 | 非必要 | 0不接收<br />1接收 |
| receive_unfollow_msg | num | 接收未关注人消息 | 非必要 | 0不接收<br />1接收 |
| followed_reply | num | 被关注回复 | 非必要 | 需要有自动回复权限<br />0关闭<br />1开启 |
| keys_reply | num | 关键词回复 | 非必要 | 需要有自动回复权限<br />0关闭<br />1开启 |
| recv_reply | num | 收到消息回复 | 非必要 | 需要有自动回复权限<br />0关闭<br />1开启 |
| voyage_reply | num | 大航海上船回复 | 非必要 | 需要有自动回复权限<br />0关闭<br />1开启 |
| recommend_followed_reply | num | 被关注时自动推送作品 | 非必要 | 需要有自动回复权限<br />0关闭<br />1开启 |
| ai_intercept | num | 私信智能拦截 | 非必要 | 0关闭<br />1开启 |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
| csrf_token | str | CSRF Token位于cookie | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | -------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />2非法参数<br />700009权限不足 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | 空对象 |
**示例:**
开启接收消息提醒
```shell
curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/set' \
--data-urlencode 'msg_notify=1' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 获取消息屏蔽词
> <https://api.vc.bilibili.com/x/im/link_setting/get_block_words>
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------------- | ------ | ------------- |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------- | ------------------------------- | ------------------ | ---------------- |
| words | 有效时array<br />无效时null | 消息屏蔽词列表 | |
| message | str | | **作用尚不明确** |
| max_word_length | num | 单个屏蔽词最大长度 | 目前为 `20` |
| max_words_size | num | 屏蔽词最大数量 | 目前为 `200` |
`data` 中的 `words` 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | ----------- | ---- |
| 0 | obj | 屏蔽词1 | |
| n | obj | 屏蔽词(n+1) | |
| …… | obj | …… | …… |
`words` 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------------- | ---------- |
| content | str | 屏蔽词内容 | |
| ctime | num | 屏蔽词添加时间 | 秒级时间戳 |
**示例:**
```shell
curl -G 'https://api.vc.bilibili.com/x/im/link_setting/get_block_words' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {
"words": [
{
"content": "屏蔽词",
"ctime": 1746422088
}
],
"message": "",
"max_word_length": 20,
"max_words_size": 200
}
}
```
</details>
## 添加消息屏蔽词
> <https://api.vc.bilibili.com/x/im/link_setting/add_block_word>
*请求方式POST*
认证方式CookieSESSDATA
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ------ | -------------- |
| content | str | 屏蔽词内容 | 必要 | 最多 20 个字符 |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
| csrf_token | str | CSRF Token位于cookie | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误<br />1900004添加失败屏蔽词限制最多20个字<br />1900005添加失败最多可以添加200个屏蔽词<br />1900006添加失败屏蔽词重复<br />1900007添加失败屏蔽词不支持空格 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | 空对象 |
**示例:**
```shell
curl 'https://api.vc.bilibili.com/x/im/link_setting/add_block_word' \
--data-urlencode 'content=屏蔽词' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 删除消息屏蔽词
> <https://api.vc.bilibili.com/x/im/link_setting/del_block_word>
*请求方式POST*
认证方式CookieSESSDATA
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ------ | ------------- |
| content | str | 屏蔽词内容 | 必要 | |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
| csrf_token | str | CSRF Token位于cookie | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-400请求错误 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | 空对象 |
**示例:**
```shell
curl 'https://api.vc.bilibili.com/x/im/link_setting/del_block_word' \
--data-urlencode 'content=屏蔽词' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 获取自动回复文本/关键词回复规则
> <https://api.vc.bilibili.com/x/im/auto_reply/get_reply_text>
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------------- | ------ | ---------------------------------------------------------------------------- |
| type\[\] | num | 自动回复类型 | 必要 | 1被关注回复<br />2关键词回复<br />3收到消息回复<br />5大航海上船回复 |
| uid | num | 自己的mid | 非必要 | |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />2非法参数 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ----- | ------------ | -------------------------------------- |
| texts | array | 自动回复文本 | 若未设置此类型自动回复文本,则没有此项 |
`data` 中的 `texts` 数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | --------- | -------------------------------- |
| 0 | obj | 文本1 | |
| n | obj | 文本(n+1) | 当类型为 “关键词回复” 时可有多项 |
| …… | obj | …… | …… |
`texts` 数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ----- | ---- | -------------- | -------------------------------------------------------------------------- |
| id | num | 自动回复规则id | |
| uid | num | 自己的mid | |
| type | num | 自动回复类型 | 同请求参数 `type[]` |
| title | str | 规则名称 | 当类型为 “关键词回复” 时有效,否则为空文本 |
| key1 | str | 精确匹配关键词 | 当类型为 “关键词回复” 时有效,否则为空文本<br />以中文逗号分隔每一个关键词 |
| key2 | str | 模糊匹配关键词 | 当类型为 “关键词回复” 时有效,否则为空文本<br />以中文逗号分隔每一个关键词 |
| reply | str | 回复内容 | |
**示例:**
获取关键词回复规则
```shell
curl -G 'https://api.vc.bilibili.com/x/im/auto_reply/get_reply_text' \
--data-urlencode 'type[]=2' \
--data-urlencode 'uid=425503913' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"texts": [
{
"id": 201321,
"uid": 425503913,
"type": 2,
"title": "谢谢",
"key1": "谢谢Thank you",
"key2": "感谢",
"reply": "我也感谢您对我的支持 (=・ω・=)"
},
{
"id": 201320,
"uid": 425503913,
"type": 2,
"title": "哭2",
"key1": "哭",
"key2": "",
"reply": "我是不会哭的 (=・ω・=)"
},
{
"id": 201318,
"uid": 425503913,
"type": 2,
"title": "哭",
"key1": "",
"key2": "哭",
"reply": "别哭了[tv_微笑]摸摸您 (^・ω・^)"
}
]
}
}
```
</details>
## 修改自动回复文本/关键词回复规则
> <https://api.vc.bilibili.com/x/im/auto_reply/set_reply_text>
*请求方式POST*
认证方式CookieSESSDATA
仅调用本接口不会开启或关闭自动回复功能,请使用 “[修改用户偏好设置](#修改用户偏好设置)” 接口
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ---------------------- | ---------------------------------------------------------------------------- |
| type | num | 自动回复类型 | 必要 | 1被关注回复<br />2关键词回复<br />3收到消息回复<br />5大航海上船回复 |
| reply | str | 回复内容 | 必要 | 最多 500 个字符 |
| id | str | 规则id | 非必要 | 当类型为 “关键词回复” 时有效<br />为 `0` 或为空时新增回复规则,否则修改 id 对应的回复规则 |
| title | str | 规则名称 | 关键词回复必要 | 当类型为 “关键词回复” 时有效,最多 30 个字符 |
| key1 | str | 精确匹配关键词 | 关键词回复必要(可选) | 当类型为 “关键词回复” 时有效,`key1``key2` 须至少填一个参数<br />以中文逗号分隔每一个关键词,最多 20 项 |
| key2 | str | 模糊匹配关键词 | 关键词回复必要(可选) | 当类型为 “关键词回复” 时有效,`key1``key2` 须至少填一个参数<br />以中文逗号分隔每一个关键词,最多 20 项 |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
| csrf_token | str | CSRF Token位于cookie | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />27011请求参数错误<br />1500001自动回复内容太长<br />1500002规则数量已达上限请删除后新建<br />1500003您保存的内容含敏感信息请修改后重试 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | 空对象 |
**示例:**
修改关键词回复规则 `id=201321`,规则名称为 `谢谢`,精确匹配关键词为 `谢谢Thank you感谢`,回复内容为 `嗯嗯,不用谢[tv_微笑]`
```shell
curl 'https://api.vc.bilibili.com/x/im/auto_reply/set_reply_text' \
--data-urlencode 'type=2' \
--data-urlencode 'reply=嗯嗯,不用谢[tv_微笑]' \
--data-urlencode 'id=201321' \
--data-urlencode 'title=谢谢' \
--data-urlencode 'key1=谢谢Thank you感谢' \
--data-urlencode 'key2=' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 删除关键词回复规则
> <https://api.vc.bilibili.com/x/im/auto_reply/del_reply_text>
*请求方式POST*
认证方式CookieSESSDATA
**正文参数application/x-www-form-urlencoded**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ---------- | ---- | ------------------------ | ------ | ------------- |
| id | str | 规则id | 必要 | |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
| csrf_token | str | CSRF Token位于cookie | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录<br />-500服务器错误<br />1003不能删除别人的规则 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | 空对象 |
**示例:**
删除关键词回复规则 `id=201321`
```shell
curl 'https://api.vc.bilibili.com/x/im/auto_reply/del_reply_text' \
--data-urlencode 'id=201321' \
--data-urlencode 'build=0' \
--data-urlencode 'mobi_app=web' \
--data-urlencode 'csrf_token=xxx' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 获取系统设置
> <https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_setting>
*请求方式GET*
认证方式CookieSESSDATA
此接口中的设置一般不能由用户随意更改
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------------- | ------ | ------------------------- |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------------------------------- | ---- | ---------------------------------------------------------------------------------------- | -------------------------- |
| is_create_group_available | num | 是否可创建粉丝团 | 粉丝数达到 1000 后开启 |
| is_auto_reply_available | num | 是否可使用自动回复功能 | 粉丝数达到 1000 后开启 |
| vc_hint_title | str | 稿件自动推送小灰条内容 | `我为什么会收到此类消息` |
| vc_hint_title_button | str | 稿件自动推送小灰条旁的按钮内容 | `了解更多` |
| vc_hint_detail | str | 稿件自动推送详细信息小灰条内容 | `您【特别关注】的UP主更新视频或专栏后会第一时间在私信推送给您。如有需要可点击右上角设置关闭推送。` |
| vc_hint_detail_button | str | 关闭稿件自动推送按钮内容 | `关闭推送` |
| auto_reply_html | str | 自动回复H5页面url | `https://message.bilibili.com/h5/app/auto-reply` |
| is_receive_unfollow_wl | num | 是否显示限制接收未关注人消息功能 | |
| is_voyage | num | 是否在自动回复页面显示 “大航海自动回复” 选项 | 仅部分用户开启 |
| is_auto_reply_recommend_available | num | 是否在自动回复中的 “被关注回复” 页面显示 “被关注后,向关注我的人推送我的往期作品” 复选框 | 仅部分用户开启 |
| is_discuss_style_im_page | num | | **作用尚不明确** |
| discuss_unread_style_im_page | num | | **作用尚不明确** |
| old_up_assistant_door | obj | 原 “UP主小助手” 入口相关信息 | |
| is_new_up_assistant_effective | num | 新 “UP主小助手” 是否启用 | |
| is_archive_gray | bool | 是否不显示 “私信存档” 按钮 | |
| session_cfg | obj | 特定私信会话配置信息 | |
| migrate_session_api | bool | | **作用尚不明确** |
| game_msg | obj | | **作用尚不明确**;仅当请求参数 `mobi_app` 不为 `web` 时有其中的项目 |
| auto_reply_msg_desc | str | 指示消息为自动回复消息的提示内容 | `此条消息为自动回复` |
| huahuo_group_icon_new | str | 浅色模式下的花火图标url | |
| huahuo_group_icon_dark_new | str | 深色模式下的花火图标url | |
| im_disabled_input_hint | str | 某UP主禁用私信功能时的提示内容 | `请到UP主空间发起咨询` |
`data` 中的 `old_up_assistant_door` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------------- | ---- | ---------------------------- | ------------ |
| show_old_up_door | num | 是否显示原 “UP主小助手” 入口 | 目前恒为 `0` |
| title | str | 原 “UP主小助手” 入口标题 | 目前为空文本 |
| sub_title | str | 原 “UP主小助手” 入口子标题 | 目前为空文本 |
`data` 中的 `session_cfg` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ---------------- | ---- |
| {用户mid} | obj | 该会话的配置信息 | |
`session_cfg` 中的 `{用户mid}` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---------------- | ---- | -------------------- | ------------------- |
| hidden_emote_btn | bool | 是否隐藏表情按钮 | |
| hidden_pic_btn | bool | 是否隐藏发送图片按钮 | |
| max_height | num | 最大高度(?) | **作用尚不明确** |
| hint_text | str | 私信输入框的提示内容 | `你想问什么问题呢?` |
| hidden_top_hint | bool | | **作用尚不明确** |
| is_gpt_account | bool | 是否为AI会话 | |
`data` 中的 `game_msg` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ------------ | ---- | ---- | ------------------------------------------------------------- |
| show_install | bool | true | **作用尚不明确**;仅当请求参数 `mobi_app` 不为 `web` 时有此项 |
**示例:**
```shell
curl 'https://api.vc.bilibili.com/link_setting/v1/link_setting/get_sys_setting' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {
"is_create_group_available": 1,
"is_auto_reply_available": 1,
"vc_hint_title": "我为什么会收到此类消息",
"vc_hint_title_button": "了解更多",
"vc_hint_detail": "您【特别关注】的UP主更新视频或专栏后会第一时间在私信推送给您。如有需要可点击右上角设置关闭推送。",
"vc_hint_detail_button": "关闭推送",
"auto_reply_html": "https://message.bilibili.com/h5/app/auto-reply",
"is_receive_unfollow_wl": 0,
"is_voyage": 1,
"is_auto_reply_recommend_available": 0,
"is_discuss_style_im_page": 0,
"discuss_unread_style_im_page": 0,
"old_up_assistant_door": {
"show_old_up_door": 0,
"title": "",
"sub_title": ""
},
"is_new_up_assistant_effective": 1,
"is_archive_gray": true,
"session_cfg": {
"100000000000001": {
"hidden_emote_btn": true,
"hidden_pic_btn": true,
"max_height": 62,
"hint_text": "你想问什么问题呢?",
"hidden_top_hint": true,
"is_gpt_account": true
},
"100000000000002": {
"hidden_emote_btn": true,
"hidden_pic_btn": true,
"max_height": 62,
"hint_text": "你想问什么问题呢?",
"hidden_top_hint": true,
"is_gpt_account": true
},
"1400565964": {
"hidden_emote_btn": true,
"hidden_pic_btn": true,
"max_height": 62,
"hint_text": "你想问什么问题呢?",
"hidden_top_hint": true,
"is_gpt_account": true
}
},
"migrate_session_api": false,
"game_msg": {
"show_install": true
},
"auto_reply_msg_desc": "此条消息为自动回复",
"huahuo_group_icon_new": "http://i0.hdslb.com/bfs/kfptfe/floor/e2e3829e514ebccab1705636b0354ec89446a4b5.png",
"huahuo_group_icon_dark_new": "http://i0.hdslb.com/bfs/kfptfe/floor/d09bc8c0716a15938ec427db5fa962733703f3ce.png",
"im_disabled_input_hint": "请到UP主空间发起咨询"
}
}
```
</details>
## 获取创建粉丝团按钮可见性
> <https://api.vc.bilibili.com/link_group/v1/member/show_create_group_icon>
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| -------- | ---- | ---------------- | ------ | ------------------------- |
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ----------------------------- |
| code | num | 返回值 | 0成功<br />-101账号未登录 |
| msg | str | 错误信息 | 默认为0 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| ---- | ---- | ---------------------- | ---------------------- |
| show | num | 是否显示创建粉丝团按钮 | 粉丝数达到 1000 后显示 |
**示例:**
```shell
curl 'https://api.vc.bilibili.com/link_group/v1/member/show_create_group_icon' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"msg": "0",
"message": "0",
"ttl": 1,
"data": {
"show": 1
}
}
```
</details>

View File

@@ -318,7 +318,7 @@
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ---------------- | ---------------- |
| show | bool | 是否显示充电按钮 | |
| state | num | 充电功能开启状态 | -1未开通充电功能<br />1已开通自定义充电<br />2已开通包月、自定义充电<br />3已开通高档、自定义充电 |
| state | num | 充电功能开启状态 | -1未开通充电功能<br />1已开通自定义充电<br />2已开通包月、自定义充电<br />3已开通包月高档、自定义充电 |
| title | str | 充电按钮显示文字 | 空字符串或 `充电``充电中` |
| icon | str | 充电图标 | |
| jump_url | str | 跳转url | |

File diff suppressed because it is too large Load Diff

View File

@@ -67,7 +67,7 @@
| is_chargeable_season | bool | | |
| is_story | bool | 是否可以在 Story Mode 展示? | |
| is_upower_exclusive | bool | 是否为充电专属视频 | |
| is_upower_pay | bool | | |
| is_upower_play | bool | | |
| is_upower_preview | bool | 充电专属视频是否支持试看 | |
| no_cache | bool | 是否不允许缓存? | |
| pages | array | 视频分P列表 | |
@@ -676,7 +676,7 @@ https://i1.hdslb.com/bfs/archive/ea0dd34bf41e23a68175680a00e3358cd249105f.jpg
`data`中的`Tags`数组:
基本同「[获取视频TAG信息](tags.md#获取视频TAG信息)」中的data数组
基本同「[获取视频TAG信息(新)](tags.md#获取视频TAG信息)」中的data数组
`data`中的`Reply`对象:

View File

@@ -60,7 +60,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
| now_time | num | 当前 UNIX 秒级时间戳 | |
| online_count | num | 在线人数 | |
| need_login_subtitle | bool | 是否必须登陆才能查看字幕 | 是的 |
| preview_toast | str | `为创作付费,购买观看完整视频|购买观看` | |
| preview_toast | str | `为创作付费,购买观看完整视频\|购买观看` | |
| options | obj | | |
| guide_attention | any | | |
| jump_card | any | | |
@@ -70,10 +70,10 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
| show_switch | obj | | |
| bgm_info | obj | 背景音乐信息 | |
| toast_block | bool | | |
| is_upower_exclusive | bool | 充电专属? | |
| is_upower_exclusive | bool | 是否为充电专属视频 | |
| is_upower_play | bool | | |
| is_ugc_pay_preview | bool | | |
| elec_high_level | obj | | |
| elec_high_level | obj | 充电专属视频信息 | |
| disable_show_up_info | bool | | |
`data` 对象中的 `options` 对象:
@@ -126,7 +126,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|subtitle_url|str| 资源 url 地址 | |
|type| num | 0 | |
`view_point` 数组内的元素:
`data`对象中的`view_point` 数组内的元素:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ----- | -------- | ---- |
@@ -139,6 +139,22 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
| team_type | str | | |
| team_name | str | | |
`data`对象中的`elec_high_level`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | ------------------------------ | ---------------- |
| privilege_type | num | 解锁视频所需最低定价档位的代码 | 见[充电档位代码与定价](../electric/monthly.md#充电档位代码privilege_type与定价) |
| title | str | 提示标题 | `该视频为「{充电档位名称}」专属视频` |
| sub_title | str | 提示子标题 | `开通「{充电档位定价}元档包月充电」即可观看` |
| show_button | bool | 是否显示按钮 | |
| button_text | str | 按钮文本 | `去开通` |
| jump_url | obj | 跳转url信息 | 详细信息有待补充 |
| intro | str | 充电介绍语 | |
| open | bool | | |
| new | bool | | |
| question_text | str | | |
| qa_detail_link | str | | |
**示例:**
未登录, `aid=1906473802`

View File

@@ -1,8 +1,132 @@
# 视频TAG
## 获取视频TAG信息
## 获取视频TAG信息(新)
> https://api.bilibili.com/x/tag/archive/tags
> <https://api.bilibili.com/x/web-interface/view/detail/tag>
*请求方式GET*
认证方式CookieSESSDATA
**url参数**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------------ | -------------------------------- |
| aid | num | 稿件avid | 必要(可选) | avid与bvid任选一个 |
| bvid | str | 稿件bvid | 必要(可选) | avid与bvid任选一个 |
| cid | num | 分P cid | 非必要 | 提供此参数可返回对应分P的BGM信息 |
**json回复**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | --------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | array | TAG列表 | 无TAG为空 |
`data`数组:
| 项 | 类型 | 内容 | 备注 |
| ---- | ---- | -------------- | ---- |
| 0 | obj | 第1个TAG | |
| n | obj | 第n+1个TAG | |
| …… | obj | …… | …… |
`data`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ---------- | ------------------------------------------------------------ |
| tag_id | num | tag_id | 当`tag_type`不为`bgm`时有效 |
| tag_name | str | TAG名称 | |
| music_id | str | 背景音乐id | 当`tag_type``bgm`时有效,以`MA`开头 |
| tag_type | str | TAG类型 | `old_channel`:普通标签<br />`topic`:话题<br />`bgm`:背景音乐 |
| jump_url | str | 跳转url | 当`tag_type``topic``bgm`时有效 |
**示例:**
查询视频`av89772773`/`BV1M741177Kg`的TAG
avid方式
```shell
curl -G 'https://api.bilibili.com/x/web-interface/view/detail/tag' \
--data-urlencode 'aid=89772773' \
--data-urlencode 'cid=153322313' \
-b 'SESSDATA=xxx'
```
bvid方式
```shell
curl -G 'https://api.bilibili.com/x/web-interface/view/detail/tag' \
--data-urlencode 'bvid=BV1M741177Kg' \
--data-urlencode 'cid=153322313' \
-b 'SESSDATA=xxx'
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"tag_id": 0,
"tag_name": "发现《Other Side》",
"music_id": "MA456128506519140428",
"tag_type": "bgm",
"jump_url": "https://music.bilibili.com/h5/music-detail?music_id=MA456128506519140428&cid=153322313&aid=89772773&na_close_hide=1"
},
{
"tag_id": 12620189,
"tag_name": "异度侵入",
"music_id": "",
"tag_type": "old_channel",
"jump_url": ""
},
{
"tag_id": 707,
"tag_name": "ED",
"music_id": "",
"tag_type": "old_channel",
"jump_url": ""
},
{
"tag_id": 1394,
"tag_name": "动漫",
"music_id": "",
"tag_type": "old_channel",
"jump_url": ""
},
{
"tag_id": 13289329,
"tag_name": "异度侵入ed原图",
"music_id": "",
"tag_type": "old_channel",
"jump_url": ""
},
{
"tag_id": 7520816,
"tag_name": "bilibili新星计划",
"music_id": "",
"tag_type": "old_channel",
"jump_url": ""
}
]
}
```
</details>
## 获取视频TAG信息
> <https://api.bilibili.com/x/tag/archive/tags>
*请求方式GET*
@@ -19,12 +143,12 @@
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ------ | -------- | ---------------------------- |
| code | num | 返回值 | 0成功 <br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | array | TAG列表 | 无TAG为空 |
| 字段 | 类型 | 内容 | 备注 |
| ------- | ----- | -------- | --------------------------- |
| code | num | 返回值 | 0成功<br />-400请求错误 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | array | TAG列表 | 无TAG为空 |
`data`数组:
@@ -38,7 +162,7 @@
| 字段 | 类型 | 内容 | 备注 |
| ------------- | ---- | -------------- | ------------------------------------------------------------ |
| tag_id | num | tag_id | |
| tag_id | num | tag_id | |
| tag_name | str | TAG名称 | |
| cover | str | TAG图片url | |
| head_cover | str | TAG页面头图url | |
@@ -46,7 +170,7 @@
| short_content | str | TAG简介 | |
| type | num | | |
| state | num | 0 | |
| ctime | num | 创建时间 | 时间戳 |
| ctime | num | 创建时间 | 秒级时间戳 |
| count | obj | 状态数 | |
| is_atten | num | 是否关注 | 0未关注<br />1已关注<br />需要登录(Cookie) <br />未登录为0 |
| likes | num | 0 | 作用尚不明确 |
@@ -54,7 +178,7 @@
| attribute | num | 0 | 作用尚不明确 |
| liked | num | 是否已经点赞 | 0未点赞<br />1已点赞<br />需要登录(Cookie) <br />未登录为0 |
| hated | num | 是否已经点踩 | 0未点踩<br />1已点踩<br />需要登录(Cookie) <br />未登录为0 |
| extra_attr | num | ? ? ? | |
| extra_attr | num | ? ? ? | |
`data`数组中的对象中的`count`对象:
@@ -89,115 +213,115 @@ curl -G 'https://api.bilibili.com/x/tag/archive/tags' \
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [{
"tag_id": 12620189,
"tag_name": "异度侵入",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 1,
"state": 0,
"ctime": 1576235749,
"count": {
"view": 0,
"use": 6392,
"atten": 8938
},
"is_atten": 1,
"likes": 1,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 7520816,
"tag_name": "bilibili新星计划",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 4,
"state": 0,
"ctime": 1529717850,
"count": {
"view": 0,
"use": 1967314,
"atten": 65082
},
"is_atten": 0,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 707,
"tag_name": "ED",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 3,
"state": 0,
"ctime": 1436866637,
"count": {
"view": 0,
"use": 62646,
"atten": 75642
},
"is_atten": 1,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 1394,
"tag_name": "动漫",
"cover": "http://i0.hdslb.com/bfs/tag/d08c5fe17ceb793e7ce95d9c67392743b33b46d0.jpg",
"head_cover": "",
"content": " “动漫”是动画和漫画的合称与缩写。在其他语言相当少用。随着现代传媒技术的发展动画animation或anime和漫画comicsmanga特别是故事性漫画之间联系日趋紧密两者常被合而为“动漫”。\n  由于漫画本身的发展形成了现代故事漫画的表现形式,将影视艺术融入漫画之中,使得漫画与动画更容易结合,影视艺术独特的地方在于它能通过镜头的推拉摇移和片段剪辑的蒙太奇技巧来表达想法和感受。漫画正是吸收了影视艺术的这两个特点。当讲述的故事越发复杂、人物越发丰富的时候,传统单线式叙事的方法就越行不通,蒙太奇的介入就成为一种需要了;当漫画家在传统表现手段中无法找到更合适的抒发感情的方法的时候,当读者需要作品有更强的冲击力和表现力的时候,各种镜头的灵活运用就成为一种必需了。一部现代故事漫画往往集远、中、近、特四种镜头于一身,漫画家往往能熟练地运用镜头的移动和各种蒙太奇剪接,对故事特定部分的情绪和氛围进行渲染。这就是现代故事漫画容易和动画结合的一个原因,因为它天生就像动画的分镜头剧本,读者在看漫画时如同在看一部电影。正是有着这样的相似性所以如今将动画和漫画合称为“动漫”。",
"short_content": "",
"type": 3,
"state": 0,
"ctime": 1436866637,
"count": {
"view": 0,
"use": 1134143,
"atten": 113030
},
"is_atten": 0,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 13289329,
"tag_name": "异度侵入ed原图",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 1,
"state": 0,
"ctime": 1581948411,
"count": {
"view": 0,
"use": 3,
"atten": 0
},
"is_atten": 0,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}]
"code": 0,
"message": "0",
"ttl": 1,
"data": [{
"tag_id": 12620189,
"tag_name": "异度侵入",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 1,
"state": 0,
"ctime": 1576235749,
"count": {
"view": 0,
"use": 6392,
"atten": 8938
},
"is_atten": 1,
"likes": 1,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 7520816,
"tag_name": "bilibili新星计划",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 4,
"state": 0,
"ctime": 1529717850,
"count": {
"view": 0,
"use": 1967314,
"atten": 65082
},
"is_atten": 0,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 707,
"tag_name": "ED",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 3,
"state": 0,
"ctime": 1436866637,
"count": {
"view": 0,
"use": 62646,
"atten": 75642
},
"is_atten": 1,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 1394,
"tag_name": "动漫",
"cover": "http://i0.hdslb.com/bfs/tag/d08c5fe17ceb793e7ce95d9c67392743b33b46d0.jpg",
"head_cover": "",
"content": " “动漫”是动画和漫画的合称与缩写。在其他语言相当少用。随着现代传媒技术的发展动画animation或anime和漫画comicsmanga特别是故事性漫画之间联系日趋紧密两者常被合而为“动漫”。\n  由于漫画本身的发展形成了现代故事漫画的表现形式,将影视艺术融入漫画之中,使得漫画与动画更容易结合,影视艺术独特的地方在于它能通过镜头的推拉摇移和片段剪辑的蒙太奇技巧来表达想法和感受。漫画正是吸收了影视艺术的这两个特点。当讲述的故事越发复杂、人物越发丰富的时候,传统单线式叙事的方法就越行不通,蒙太奇的介入就成为一种需要了;当漫画家在传统表现手段中无法找到更合适的抒发感情的方法的时候,当读者需要作品有更强的冲击力和表现力的时候,各种镜头的灵活运用就成为一种必需了。一部现代故事漫画往往集远、中、近、特四种镜头于一身,漫画家往往能熟练地运用镜头的移动和各种蒙太奇剪接,对故事特定部分的情绪和氛围进行渲染。这就是现代故事漫画容易和动画结合的一个原因,因为它天生就像动画的分镜头剧本,读者在看漫画时如同在看一部电影。正是有着这样的相似性所以如今将动画和漫画合称为“动漫”。",
"short_content": "",
"type": 3,
"state": 0,
"ctime": 1436866637,
"count": {
"view": 0,
"use": 1134143,
"atten": 113030
},
"is_atten": 0,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}, {
"tag_id": 13289329,
"tag_name": "异度侵入ed原图",
"cover": "",
"head_cover": "",
"content": "",
"short_content": "",
"type": 1,
"state": 0,
"ctime": 1581948411,
"count": {
"view": 0,
"use": 3,
"atten": 0
},
"is_atten": 0,
"likes": 0,
"hates": 0,
"attribute": 0,
"liked": 0,
"hated": 0
}]
}
```
@@ -205,7 +329,7 @@ curl -G 'https://api.bilibili.com/x/tag/archive/tags' \
## 点赞&取消点赞视频TAG
> https://api.bilibili.com/x/tag/archive/like2
> <https://api.bilibili.com/x/tag/archive/like2>
*请求方式POST*
@@ -218,7 +342,7 @@ curl -G 'https://api.bilibili.com/x/tag/archive/tags' \
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---- |
| aid | num | 稿件avid | 必要 | |
| tag_id | num | tag_id | 必要 | |
| tag_id | num | tag_id | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**
@@ -258,20 +382,20 @@ curl 'https://api.bilibili.com/x/tag/archive/like2' \
## 点踩&取消点踩视频TAG
> https://api.bilibili.com/x/tag/archive/hate2
> <https://api.bilibili.com/x/tag/archive/hate2>
*请求方式POST*
认证方式CookieSESSDATA
重复访问为取消
重复请求为取消
**正文参数( application/x-www-form-urlencoded **
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ------------------------ | ------ | ---- |
| aid | num | 稿件avid | 必要 | |
| tag_id | num | tag_id | 必要 | |
| tag_id | num | tag_id | 必要 | |
| csrf | str | CSRF Token位于cookie | 必要 | |
**json回复**

View File

@@ -18,6 +18,7 @@
| 64 | 720P 高清 | WEB 端默认值<br />~~B站前端需要登录才能选择但是直接发送请求可以不登录就拿到 720P 的取流地址~~<br />**无 720P 时则为 720P60** |
| 74 | 720P60 高帧率 | 登录认证 |
| 80 | 1080P 高清 | TV 端与 APP 端默认值<br />登录认证 |
| 100 | 智能修复 | 人工智能增强画质<br />大会员认证
| 112 | 1080P+ 高码率 | 大会员认证 |
| 116 | 1080P60 高帧率 | 大会员认证 |
| 120 | 4K 超清 | 需要`fnval&128=128``fourk=1`<br />大会员认证 |

View File

@@ -43,7 +43,7 @@
| bind_phone | str | 绑定的手机号 | 星号隐藏部分信息 |
| taobao_account | 有效时obj<br />无效时null | 绑定的淘宝账号 | |
`list`数组中的对象
`list`数组:
| 索引 | 类型 | 内容 | type | 备注 |
| ---- | ---- | -------------------------------- | ---- | ------------------------------- |
@@ -57,7 +57,7 @@
| 7 | obj | ~~王者荣耀~~)游戏礼盒兑换状态 | 8 | 每日可领取,目前 state 固定为 1 |
| 8 | obj | 每日 10 经验领取状态 | 9 | 每日可领取,未完成时 state 为 2 |
`list`中的对象:
`list`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| ----------------- | ---- | -------------------- | ----------------------------------------------------- |