feat: 各种接口补充与错误修正 (#1066)
* fix(video/collection.md): unclosed xml tags * feat(video/report.md): uuid not really random * feat: b23.tv short link * feat: login/moral/exp log * feat: v_voucher * feat: upload video cover & post * feat(creativecenter/upload.md): upload octet-stream * feat(creativecenter/upload.md): update some notes * feat(clientinfo/ip.md): another from live * feat: live web heartbeat * feat: update popular series & precious * fix(creativecenter/upload.md): mistakes in example * feat: merge duplicate fav info * feat(README.md): missing link to webmask * feat(search/hot.md): word_type * feat(login/login_action): recovery old api * feat(video/collection.md): series operation * feat: video season operation * feat: add & mod some links * feat(search/suggest.md): up to date * feat: web home header image * feat(misc/sign/bili_ticket.md): demo for nodejs * feat(creativecenter/upload.md): x-upos-auth validity period * feat: add referer & buvid3 to request header * feat: customer service message heartbeat & upload * feat(customerservice/msg.md): upload code 1200201 * feat(video/report.md): click/web/h5 * feat(video/report.md): view count desc * feat: laser2 * feat: wbi_key in bili_ticket * fix: typo & unclosed XML tags * feat(misc/sign/v_voucher): cookie x-bili-gaia-vtoken * feat(search/hot.md): square * feat(video/status_number.md): fold archive_stat/stat * feat(fav/info.md): resource/infos invalid type 21 * feat: /x/activity/subject/info * feat: lottery * feat(docs/misc/b23.tv): remove some unnecessary fields * feat(creativecenter/upload.md): types/predict * fix(video/collection.md): invalid end tag * feat: app version upgrade * feat(creativecenter/upload.md): tag/recommend #528 * feat(user/status_number.md): navnum * feat: /x/activity/page/list * feat(comment/list.md): desc about pagination_str * feat(comment/list.md): update example * feat(dynamic/all.md): #1082 * fix(comment/list.md): -352 not -412 * feat: #700 * feat(video/video_stream.md): #606 & cv949156 * feat(message/private_msg.md): single_unread freq * feat: getUserWallet * fix: broken form * feat(Layout.vue): copyright to 2024 * feat: /x/topic/pub/rcmd/search * feat: #425 * feat(misc/time_stamp.md): rtc/getTimestamp * fix(misc/time_stamp.md): missing end tag * feat: #745 * feat(dynamic/all.md): update feed/all * feat(danmaku/action.md): #220 * feat(live/info.md): gethistory from cv8186413 * fix(danmaku/action.md): missing end tag
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
请注意区分 **合集(seasons_archives)** 和 **视频列表(seasons_series)**
|
||||
|
||||
合集是后加入的功能, 图标为立体叠放的正方形(.icon-heji), 可以在创作中心管理
|
||||
合集是后加入的功能, 图标为立体叠放的正方形(.icon-heji), 可以在创作中心管理, 参见 [合集管理](../creativecenter/season.md)
|
||||
|
||||
列表即系列(series)或频道(channel), 图标为平面叠放的矩形且中央有播放按钮标识(.icon-ic_channel1), 在个人空间直接操作
|
||||
|
||||
@@ -1563,3 +1563,424 @@ curl -G "https://api.bilibili.com/x/series/archives" \
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 根据关键词查找视频
|
||||
|
||||
> https://api.bilibili.com/x/series/recArchivesByKeywords
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| mid | num | 用户 mid | 必要 | |
|
||||
| keywords | str | 关键词 | 必要 | 可为空, 即获取所有视频 |
|
||||
| ps | num | 每页视频数 | 非必要 | 默认为 0, 留空为 20 |
|
||||
| pn | num | 页码 | 非必要 | 留空为 1 |
|
||||
| orderby | str | 排序方式 | 非必要 | 最新发布: pubdate(默认)<br />最多播放: views<br />senddate: 最新发布 |
|
||||
| series_id | num | 系列 ID | 非必要 | 用于过滤结果, 即若某一视频包含在系列内则不返回该视频 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------- |
|
||||
| code | num | 返回值 | 0: 成功 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | ------------ | ---- |
|
||||
| archives | arr | 视频列表 | |
|
||||
| page | obj | 页码信息 | |
|
||||
|
||||
`archives` 数组:
|
||||
|
||||
同[获取视频合集信息](#获取视频合集信息)中的`archives`数组
|
||||
|
||||
`page` 对象:
|
||||
|
||||
同[获取视频合集信息](#获取视频合集信息)中的`page`对象
|
||||
|
||||
**示例:**
|
||||
|
||||
查询用户 `mid=2` 关键词为 `幕` 的视频, 不限制每页视频数
|
||||
|
||||
```shell
|
||||
curl -G "https://api.bilibili.com/x/series/recArchivesByKeywords" \
|
||||
--data-urlencode "mid=2" \
|
||||
--data-urlencode "keywords=幕" \
|
||||
--data-urlencode "ps=0"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"archives": [
|
||||
{
|
||||
"aid": 120040,
|
||||
"title": "高级语言弹幕测试",
|
||||
"pubdate": 1311616515,
|
||||
"ctime": 1497344798,
|
||||
"state": 0,
|
||||
"pic": "http://i1.hdslb.com/bfs/archive/55a553659799d8a6fcb645d8f1f9df418ad6fe4e.jpg",
|
||||
"duration": 911,
|
||||
"stat": {
|
||||
"view": 3584767
|
||||
},
|
||||
"bvid": "BV1Xx411c7cH",
|
||||
"ugc_pay": 0,
|
||||
"interactive_video": false,
|
||||
"enable_vt": 0,
|
||||
"vt_display": "",
|
||||
"playback_position": 0
|
||||
},
|
||||
{
|
||||
"aid": 2,
|
||||
"title": "字幕君交流场所",
|
||||
"pubdate": 1252458549,
|
||||
"ctime": 1497344798,
|
||||
"state": 0,
|
||||
"pic": "http://static.hdslb.com/images/transparent.gif",
|
||||
"duration": 2055,
|
||||
"stat": {
|
||||
"view": 4609291
|
||||
},
|
||||
"bvid": "BV1xx411c7mD",
|
||||
"ugc_pay": 0,
|
||||
"interactive_video": false,
|
||||
"enable_vt": 0,
|
||||
"vt_display": "",
|
||||
"playback_position": 0
|
||||
},
|
||||
{
|
||||
"aid": 271,
|
||||
"title": "弹幕测试专用",
|
||||
"pubdate": 1249886475,
|
||||
"ctime": 1497344798,
|
||||
"state": 0,
|
||||
"pic": "http://i1.hdslb.com/bfs/archive/a5980672f3d03e8292148748a63de99cd45679d3.jpg",
|
||||
"duration": 1213,
|
||||
"stat": {
|
||||
"view": 4857422
|
||||
},
|
||||
"bvid": "BV1xx411c7Xg",
|
||||
"ugc_pay": 0,
|
||||
"interactive_video": false,
|
||||
"enable_vt": 0,
|
||||
"vt_display": "",
|
||||
"playback_position": 0
|
||||
}
|
||||
],
|
||||
"page": {
|
||||
"num": 1,
|
||||
"size": 0,
|
||||
"total": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 创建视频列表
|
||||
|
||||
> https://api.bilibili.com/x/series/series/createAndAddArchives
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ----| ---- | ------ | ---- |
|
||||
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
|
||||
|
||||
**正文参数 (multipart/form-data):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| mid | num | 用户 mid | 必要 | |
|
||||
| name | str | 标题 | 必要 | |
|
||||
| keywords | str | 关键词 | 不必要 | |
|
||||
| description | str | 简介 | 不必要 | |
|
||||
| aids | str | 视频 aid 列表 | 不必要 | 以 `,` 分隔, 如 `2,112861,112861976201494,976201494` |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------- |
|
||||
| code | num | 返回值 | 0: 成功 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | ------------ | ---- |
|
||||
| series_id | num | 视频列表 ID | |
|
||||
|
||||
**示例:**
|
||||
|
||||
为 `mid=616368979` 创建视频列表, 标题为 `NAME`, 视频为 `112861976201494`
|
||||
|
||||
```shell
|
||||
curl -X POST --url "https://api.bilibili.com/x/series/series/createAndAddArchives" \
|
||||
--url-query "csrf=xxxxxxxxxx" \
|
||||
--data-urlencode "mid=616368979" \
|
||||
--data-urlencode "name=NAME" \
|
||||
--data-urlencode "aids=112861976201494" \
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"series_id": 4269765
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 删除视频列表
|
||||
|
||||
> https://api.bilibili.com/x/series/series/delete
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ----| ---- | ------ | ---- |
|
||||
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
|
||||
| mid | num | 用户 mid | 必要 | |
|
||||
| series_id | num | 视频列表 ID | 必要 | |
|
||||
| aids | str | 空 | 不必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------- |
|
||||
| code | num | 返回值 | 0: 成功 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 空 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
为 `mid=616368979` 删除视频列表 `series_id=4269765`
|
||||
|
||||
```shell
|
||||
curl -X POST --url "https://api.bilibili.com/x/series/series/delete" \
|
||||
--url-query "csrf=xxxxxxxxxx" \
|
||||
--url-query "series_id=4269765" \
|
||||
--url-query "mid=616368979" \
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 删除视频列表中的稿件
|
||||
|
||||
> https://api.bilibili.com/x/series/series/delArchives
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ----| ---- | ------ | ---- |
|
||||
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| mid | num | 用户 mid | 必要 | |
|
||||
| series_id | num | 视频列表 ID | 必要 | |
|
||||
| aids | str | 视频 aid 列表 | 必要 | 以 `,` 分隔, 如 `2,112861,112861976201494,976201494` |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------- |
|
||||
| code | num | 返回值 | 0: 成功 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 空 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
为 `mid=616368979` 删除视频列表 `series_id=4269782` 中的 `112861976201494`
|
||||
|
||||
```shell
|
||||
curl -X POST --url "https://api.bilibili.com/x/series/series/delArchives" \
|
||||
--url-query "csrf=xxxxxxxxxx" \
|
||||
--data-urlencode "mid=616368979" \
|
||||
--data-urlencode "series_id=4269782" \
|
||||
--data-urlencode "aids=112861976201494" \
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 添加稿件至视频列表
|
||||
|
||||
> https://api.bilibili.com/x/series/series/addArchives
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
同[删除视频列表中的稿件](#删除视频列表中的稿件)
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
同[删除视频列表中的稿件](#删除视频列表中的稿件)
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
同[删除视频列表中的稿件](#删除视频列表中的稿件)
|
||||
|
||||
**示例:**
|
||||
|
||||
为 `mid=616368979` 添加视频 `112861976201494` 至视频列表 `series_id=4269782`
|
||||
|
||||
```shell
|
||||
curl -X POST --url "https://api.bilibili.com/x/series/series/addArchives" \
|
||||
--url-query "csrf=xxxxxxxxxx" \
|
||||
--data-urlencode "mid=616368979" \
|
||||
--data-urlencode "series_id=4269782" \
|
||||
--data-urlencode "aids=112861976201494" \
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 编辑视频列表信息
|
||||
|
||||
> https://api.bilibili.com/x/series/series/update
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ----| ---- | ------ | ---- |
|
||||
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| mid | num | 用户 mid | 必要 | |
|
||||
| series_id | num | 视频列表 ID | 必要 | |
|
||||
| name | str | 标题 | 必要 | |
|
||||
| keywords | str | 关键词 | 不必要 | |
|
||||
| description | str | 简介 | 不必要 | |
|
||||
| add_aids | str | 视频 aid 列表 | 不必要 | 以 `,` 分隔 |
|
||||
| del_aids | str | 视频 aid 列表 | 不必要 | |
|
||||
| aids | str | 空 | 不必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
同[删除视频列表中的稿件](#删除视频列表中的稿件)
|
||||
|
||||
**示例:**
|
||||
|
||||
为 `mid=616368979` 编辑视频列表 `series_id=4269782`, 设置标题为 `NAME`, 设置简介为空, 设置关键词 `Telnet`, 添加视频 `112861976201494`
|
||||
|
||||
```shell
|
||||
curl -X POST --url "https://api.bilibili.com/x/series/series/update" \
|
||||
--url-query "csrf=xxxxxxxxxx" \
|
||||
--data-urlencode "name=NAME" \
|
||||
--data-urlencode "mid=616368979" \
|
||||
--data-urlencode "series_id=4269782" \
|
||||
--data-urlencode "keywords=Telnet" \
|
||||
--data-urlencode "add_aids=112861976201494" \
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# web 播放器信息
|
||||
# 播放器
|
||||
|
||||
## web 播放器信息
|
||||
|
||||
web 播放器的信息接口,提供正常播放需要的元数据,包括:智能防挡弹幕、字幕、章节看点等。
|
||||
|
||||
@@ -16,7 +18,6 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|
||||
| w_rid | str | WBI 签名 | 不必要 | |
|
||||
| wts | num | 当前 unix 时间戳 | 不必要 | |
|
||||
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
@@ -38,8 +39,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|
||||
|dm_mask | obj | | webmask 信息(如果没有这一项,说明这个视频没有防挡功能) |
|
||||
|subtitle | obj | | 字幕信息(需要登录,不登录此项内容为 `[]` )|
|
||||
|view_points| array | | 章节看点信息 |
|
||||
| 其他 | ... | | 主要是观看记录、使用者等级权限等个人信息 |
|
||||
|
||||
| 其他 | ... | | 主要是观看记录、使用者等级权限、背景音乐等信息 |
|
||||
|
||||
`dm_mask`对象(如果有):
|
||||
|
||||
@@ -58,7 +58,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|
||||
| --------- | ----- | -------- | ---- |
|
||||
|allow_submit|bool | true | |
|
||||
| lan | str | "" | |
|
||||
|lan_doc | str | "" | | |
|
||||
|lan_doc | str | "" | |
|
||||
|subtitles| array | | 不登录为 `[]` |
|
||||
|
||||
`subtitles` 数组内的元素:
|
||||
@@ -69,7 +69,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|
||||
| ai_type | num | | |
|
||||
| id | num | | |
|
||||
|id_str | str| | 和 id 不一样 |
|
||||
| is_lock | bool | |
|
||||
| is_lock | bool | | |
|
||||
| lan | str | 语言类型英文字母缩写 ||
|
||||
| lan_doc | str| 语言类型中文名称 | |
|
||||
|subtitle_url|str| 资源 url 地址 | |
|
||||
@@ -89,10 +89,10 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|
||||
示例:
|
||||
|
||||
```shell
|
||||
curl -G https://api.bilibili.com/x/player/wbi/v2?aid=515345690&cid=825851971
|
||||
curl -G "https://api.bilibili.com/x/player/wbi/v2?aid=515345690&cid=825851971"
|
||||
```
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
@@ -149,5 +149,62 @@ curl -G https://api.bilibili.com/x/player/wbi/v2?aid=515345690&cid=825851971
|
||||
}
|
||||
```
|
||||
|
||||
## 播放反馈
|
||||
|
||||
> https://app.bilibili.com/x/resource/laser2
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
注: 该接口不传 Cookie
|
||||
|
||||
**URL参数:**
|
||||
|
||||
|参数名|类型|内容|必要性|备注|
|
||||
|-|-|-|-|-|
|
||||
|mid|num|当前用户 mid|不必要|未登录为空|
|
||||
|buvid|str|BUVID (APP) 或 buvid3 (Web)|必要|可为任意非空字符串|
|
||||
|app_key|str|APP 密钥|必要|Web: web_player<br />可为任意非空字符串|
|
||||
|url|str|日志 URL|非必要|从 [上传接口](../creativecenter/upload.md#上传接口) 得到的 upos 协议 URL|
|
||||
|task_type|num|任务类型|非必要|300: 播放卡顿<br />301: 进度条君无法调戏<br />354: 校园网无法访问<br />303: 弹幕无法显示<br />553: 跳过首尾时间有误<br />304: 出现浮窗广告<br />305: 无限小电视<br />302: 音画不同步<br />306: 黑屏<br />307: 其他|
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
|字段|类型|内容|备注|
|
||||
|-|-|-|-|
|
||||
|code|num|返回值|0: 成功<br />-400: 请求错误|
|
||||
|message|str|错误信息|默认为 0|
|
||||
|ttl|num|1||
|
||||
|data|obj|数据本体| |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
|字段|类型|内容|备注|
|
||||
|-|-|-|-|
|
||||
|task_id|num|任务 ID?||
|
||||
|
||||
**示例:**
|
||||
|
||||
播放反馈无限小电视, 不登录, 不传文件, buvid 为 `chenrui-in-icu`
|
||||
|
||||
```shell
|
||||
curl -X POST "https://app.bilibili.com/x/resource/laser2" \
|
||||
--data-urlencode "buvid=chenrui-in-icu" \
|
||||
--data-urlencode "app_key=web_player" \
|
||||
--data-urlencode "task_type=305"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"task_id": 850448532
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
@@ -72,7 +72,7 @@ curl 'https://api.bilibili.com/x/v2/history/report' \
|
||||
|
||||
## 上报视频播放心跳(web端)
|
||||
|
||||
> https://api.bilibili.com/x/click-interface/web/heartbeat
|
||||
> https://api.bilibili.com/x/click-interface/web/heartbeat
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
@@ -80,8 +80,6 @@ curl 'https://api.bilibili.com/x/v2/history/report' \
|
||||
|
||||
默认间隔15秒一次, 亦可记录播放历史
|
||||
|
||||
尽管以下除正文 `aid` 以外的参数均为非必要, 但缺少可能会导致播放不被记录, 同一 IP/登陆用户 每五分钟最多记录一次播放
|
||||
|
||||
该接口较为复杂, 且参数计算方法均为推测, 实际过程不明, 可能含有错误, 若要正式使用可以把已播放的持续时间全都设为相同值
|
||||
|
||||
**URL参数:**
|
||||
@@ -125,11 +123,11 @@ curl 'https://api.bilibili.com/x/v2/history/report' \
|
||||
| dt | num | 2 | 非必要 | |
|
||||
| outer | num | 0 | 非必要 | |
|
||||
| spmid | str | 333.788.0.0 | 非必要 | 作用尚不明确 |
|
||||
| from_spmid | str | 播放来源? | 非必要 | 也可为空, 如: 444.41.list.card_archive.click |
|
||||
| session | str | 会话信息? | 非必要 | 每次刷新均不同, 生成原理尚不明确 |
|
||||
| from_spmid | str | 播放来源? | 非必要 | 也可为空, 如: `444.41.list.card_archive.click` `333.999.0.0` |
|
||||
| session | str | 会话信息? | 非必要 | 一串无分隔小写 UUID |
|
||||
| extra | obj | 额外信息, 如播放器版本 | 非必要 | 如: `{"player_version":"4.8.36"}` |
|
||||
| play_type | num | 播放动作 | 非必要 | 0:播放中<br />1:开始播放<br />2:暂停<br />3:继续播放<br />4: 结束播放 |
|
||||
| csrf | str | CSRF Token(即 Cookie 中 bili_jct) | 非必要 | |
|
||||
| csrf | str | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
@@ -172,3 +170,76 @@ curl 'https://api.bilibili.com/x/click-interface/web/heartbeat' \
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 开始观看视频 (web端)
|
||||
|
||||
> https://api.bilibili.com/x/click-interface/click/web/h5
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
该接口亦被用于计算播放量, 播放量更新不是实时的
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| w_aid | num | 稿件 aid | 不必要 | |
|
||||
| w_part | num | 视频分 P 编号 | 不必要 | |
|
||||
| w_ftime | num | 点击时间戳? | 不必要 | UNIX 秒级时间戳 |
|
||||
| w_stime | num | 开始播放时间戳? | 不必要 | UNIX 秒级时间戳 |
|
||||
| w_type | num | 视频类型 | 不必要 | 见[上报视频播放心跳(web端)](#上报视频播放心跳web端) |
|
||||
| web_location | num | 网页位置? | 不必要 | 1315873 |
|
||||
| w_rid | num | WBI 签名 | 不必要 | 参见[WBI 签名](docs/misc/sign/wbi.md) |
|
||||
| wts | num | UNIX 秒级时间戳 | 不必要 | 参见[WBI 签名](docs/misc/sign/wbi.md) |
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| mid | num | 当前用户 mid | 不必要 | |
|
||||
| aid | num | 稿件 aid | 必要 | |
|
||||
| cid | num | 视频 cid | 不必要 | |
|
||||
| part | num | 视频分 P 编号 | 不必要 | |
|
||||
| lv | num | 当前用户等级 | 不必要 | |
|
||||
| ftime | num | 同 URL 参数中带有 `w_` 前缀的同名参数 | 不必要 | |
|
||||
| stime | num | 同 URL 参数中带有 `w_` 前缀的同名参数 | 不必要 | |
|
||||
| type | num | 视频类型 | 不必要 | 见[上报视频播放心跳(web端)](#上报视频播放心跳web端) |
|
||||
| sub_type | num | 视频子类型 | 不必要 | 见[上报视频播放心跳(web端)](#上报视频播放心跳web端) |
|
||||
| referer_url | str | 与请求头 Referer 字段相同 | 不必要 | |
|
||||
| outer | num | 0 | 不必要 | |
|
||||
| spmid | str | 333.788.0.0 | 不必要 | 作用尚不明确 |
|
||||
| from_spmid | str | 播放来源? | 不必要 | 见[上报视频播放心跳(web端)](#上报视频播放心跳web端) |
|
||||
| session | str | 会话信息? | 不必要 | 一串无分隔小写 UUID |
|
||||
| csrf | str | CSRF Token (即 Cookie 中 bili_jct) | 不必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
|字段|类型|内容|备注|
|
||||
|-|-|-|-|
|
||||
|code|num|返回值|0:成功<br />-400:请求错误|
|
||||
|message|str|错误信息|默认为 `0`|
|
||||
|ttl|num|1||
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/click-interface/click/web/h5' \
|
||||
--data-urlencode 'aid=2' \
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# 视频状态数
|
||||
|
||||
## 视频状态数(仅avid)
|
||||
|
||||
<details>
|
||||
<summary>该接口已失效</summary>
|
||||
|
||||
> https://api.bilibili.com/archive_stat/stat
|
||||
|
||||
*请求方式:GET*
|
||||
@@ -79,6 +83,8 @@ curl -G 'https://api.bilibili.com/archive_stat/stat' \
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
## 视频状态数(bvid/avid)
|
||||
|
||||
> https://api.bilibili.com/x/web-interface/archive/stat
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
## qn视频清晰度标识
|
||||
|
||||
**注:该值在 DASH 格式下无效,因为 DASH 格式会取到所有分辨率的流地址**
|
||||
注:该值在 DASH 格式下无效,因为 DASH 格式会取到所有分辨率的流地址
|
||||
|
||||
又注: B站对于新的视频更新了播放设置, 较高分辨率均采用 DASH, 较低分辨率与老视频还保留了 MP4, 这导致较新视频无法获取 MP4 格式的高分辨率视频, 参见 [#606](https://github.com/SocialSisterYi/bilibili-API-collect/issues/606) 或 [cv949156](https://www.bilibili.com/read/cv949156/)
|
||||
|
||||
| 值 | 含义 | 备注 |
|
||||
| ---- | -------------- | ------------------------------------------------------------ |
|
||||
|
||||
Reference in New Issue
Block a user