commit
afc4349247
10
.github/ISSUE_TEMPLATE/1-add-request.yml
vendored
10
.github/ISSUE_TEMPLATE/1-add-request.yml
vendored
@ -8,7 +8,7 @@ body:
|
||||
attributes:
|
||||
label: "提交前请确认"
|
||||
options:
|
||||
- label: "我已检索仓库中文档,确认不包含所提及内容,且 Issues、Pull Requests 中无相关提交"
|
||||
- label: "我已阅读贡献指南, 已检索仓库中文档,确认不包含所提及内容,且 Issues、Pull Requests 中无相关提交"
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: source
|
||||
@ -17,7 +17,7 @@ body:
|
||||
description: "该 API 在何平台中使用"
|
||||
multiple: true
|
||||
options:
|
||||
- "Web 端(含 h5)"
|
||||
- "Web 端(含 H5)"
|
||||
- "PC 客户端(Electron)"
|
||||
- "Android 客户端(含粉版、平板版、蓝版、概念版、国际版等)"
|
||||
- "TV 客户端(含云视听小电视、车机、物联网版等)"
|
||||
@ -35,7 +35,7 @@ body:
|
||||
options:
|
||||
- "REST"
|
||||
- "gRPC"
|
||||
- "长连接数据帧(含 ws、TCP)"
|
||||
- "长连接数据帧(含 WS、TCP)"
|
||||
- "其他类型(请在详情中备注)"
|
||||
validations:
|
||||
required: true
|
||||
@ -43,7 +43,7 @@ body:
|
||||
id: address
|
||||
attributes:
|
||||
label: "API 地址"
|
||||
description: "REST 的 url,或 gRPC 的包名+服务名"
|
||||
description: "REST 的 URL,或 gRPC 的包名+服务名"
|
||||
placeholder: "eg: https://api.bilibili.com/2333333"
|
||||
validations:
|
||||
required: true
|
||||
@ -53,4 +53,4 @@ body:
|
||||
label: "详情描述"
|
||||
description: "请描述该 API 的使用场景、请求及响应字段等,可附上原始抓包记录"
|
||||
validations:
|
||||
required: true
|
||||
required: true
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/2-update-request.yml
vendored
4
.github/ISSUE_TEMPLATE/2-update-request.yml
vendored
@ -8,7 +8,7 @@ body:
|
||||
attributes:
|
||||
label: "提交前请确认"
|
||||
options:
|
||||
- label: "我已确认文档中相关内容存在错误或不足,且 Issues、Pull Requests 中无相关提交"
|
||||
- label: "我已阅读贡献指南, 已确认文档中相关内容存在错误或不足,且 Issues、Pull Requests 中无相关提交"
|
||||
required: true
|
||||
- type: input
|
||||
id: document_link
|
||||
@ -26,4 +26,4 @@ body:
|
||||
label: "更新内容"
|
||||
description: "请指出原文档中与最新 API 行为不符之处,并附上已知的最新改动和验证信息"
|
||||
validations:
|
||||
required: true
|
||||
required: true
|
||||
|
||||
96
.github/ISSUE_TEMPLATE/3-mistake-report.yml
vendored
96
.github/ISSUE_TEMPLATE/3-mistake-report.yml
vendored
@ -1,64 +1,64 @@
|
||||
name: "错误修正"
|
||||
description: "发现文档内容有误并提交修正请求"
|
||||
title: "[错误修正] <title>"
|
||||
name: "错误修正"
|
||||
description: "发现文档内容有误并提交修正请求"
|
||||
title: "[错误修正] <title>"
|
||||
labels: ["错误/Mistakes"]
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: confirmations
|
||||
attributes:
|
||||
label: "提交前请确认"
|
||||
options:
|
||||
- label: "我已确认文档中的错误存在,且 Issues、Pull Requests 中无相同修正"
|
||||
required: true
|
||||
- label: "我已验证修正内容的正确性"
|
||||
required: false
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: confirmations
|
||||
attributes:
|
||||
label: "提交前请确认"
|
||||
options:
|
||||
- label: "我已阅读贡献指南, 已确认文档中有错误存在,且 Issues、Pull Requests 中无相同修正"
|
||||
required: true
|
||||
- label: "我已验证修正内容的正确性"
|
||||
required: false
|
||||
|
||||
- type: input
|
||||
id: document_link
|
||||
attributes:
|
||||
label: "错误所在文档链接"
|
||||
- type: input
|
||||
id: document_link
|
||||
attributes:
|
||||
label: "错误所在文档链接"
|
||||
description: |
|
||||
需要修正的文档链接,指定到具体 API<br>
|
||||
eg: https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/bangumi/info.md#获取剧集明细web端ssidepid方式<br>
|
||||
https://socialsisteryi.github.io/bilibili-API-collect/docs/bangumi/info.html#获取剧集明细-web端-ssid-epid方式
|
||||
validations:
|
||||
required: true
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: error_type
|
||||
attributes:
|
||||
label: "错误类型"
|
||||
- type: dropdown
|
||||
id: error_type
|
||||
attributes:
|
||||
label: "错误类型"
|
||||
multiple: true
|
||||
options:
|
||||
- "API 地址/鉴权方式错误"
|
||||
- "参数错误"
|
||||
- "响应数据结构或响应示例错误"
|
||||
options:
|
||||
- "API 地址/鉴权方式错误"
|
||||
- "参数错误"
|
||||
- "响应数据结构或响应示例错误"
|
||||
- "描述性内容错误(如拼写/流程说明)"
|
||||
- "接口已弃用下线"
|
||||
- "其他(请在下文说明)"
|
||||
validations:
|
||||
required: true
|
||||
- "接口已弃用或下线"
|
||||
- "其他(请在下文说明)"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: error_description
|
||||
attributes:
|
||||
label: "错误描述"
|
||||
description: "请详细说明具体错误所在,如有多个错误请编号列出"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: error_description
|
||||
attributes:
|
||||
label: "错误描述"
|
||||
description: "请详细说明具体错误所在,如有多个错误请编号列出"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: evidence
|
||||
attributes:
|
||||
attributes:
|
||||
label: "纠错依据"
|
||||
description: "如果有,请提供抓包记录等佐证,方便确认。如果有多个错误,请将依据对应错误描述的编号列出"
|
||||
validations:
|
||||
description: "如果有,请提供抓包记录等佐证,方便确认。如果有多个错误,请将依据对应错误描述的编号列出"
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: correction
|
||||
attributes:
|
||||
label: "修正方案"
|
||||
description: "如果可以,请提供修正后的内容,如有多个修正点请编号列出"
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: correction
|
||||
attributes:
|
||||
label: "修正方案"
|
||||
description: "如果可以,请提供修正后的内容,如有多个修正点请编号列出"
|
||||
validations:
|
||||
required: false
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,3 +6,6 @@
|
||||
.vscode/
|
||||
.DS_Store
|
||||
*.swp
|
||||
/*.*js
|
||||
/*.json
|
||||
/*.sh
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 贡献指南
|
||||
|
||||
欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向需要进行提交贡献文档内容的用户。
|
||||
欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向想要对本项目参与贡献的用户, 请务必认真阅读本文正文与潜在的注释
|
||||
|
||||
## 总则
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
## Issue、Discussion 与社群讨论
|
||||
|
||||
对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式添加 / 补充 / 更新文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。
|
||||
对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式 添加 / 补充 / 更新 文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。
|
||||
|
||||
提交 Issue 请遵守以下原则:
|
||||
|
||||
@ -57,7 +57,7 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi
|
||||
|
||||
### 目录
|
||||
|
||||
文档目录以 **Markdown 无序列表**语法写在 [README.md](README.md) 中,使用缩进标识文档的层级,如 `视频` 下存在 `基本信息`、`快照`、`视频推荐`、`TAG` 等子分类,使用 **Markdown 复选框**语法该标注文档是否编写完成
|
||||
文档目录以 **Markdown 无序列表**语法写在 [README.md](README.md) 中,使用缩进标识文档的层级,如 `视频` 下存在 `基本信息`、`快照`、`视频推荐`、`TAG` 等子分类,使用 **Markdown 复选框**语法该标注文档是否编写完成, 新文档写完后记得在目录添加入口
|
||||
|
||||
```markdown
|
||||
- [ ] 视频
|
||||
@ -97,9 +97,9 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi
|
||||
|
||||
接口说明分为 `标题`、`地址`、`说明`、`请求参数`、`响应正文`、`示例` 这些部分
|
||||
|
||||
接口标题为**二级以下**的标签,接口地址使用**引用**语法,地址只保留 REST API 路径,不应携带 query 等内容
|
||||
接口标题为**二级以下**的标签<!--别顶着一级标题就开写-->,接口地址使用**块引用**语法,地址只保留 REST API 路径,不应携带 query 等内容
|
||||
|
||||
接口地址下方需要注明接口的请求方式,如 `GET`、`POST`、`PUT` 等,使用*斜体*语法
|
||||
接口地址下方需要注明接口的请求方法,如 `GET`、`POST`、`PUT` 等,使用*斜体*语法
|
||||
|
||||
若接口存在认证或鉴权,需要在说明中注明,如 `Cookie (SESSDATA)`、`APP`(认证是针对用户的,鉴权是针对接口使用的)
|
||||
|
||||
@ -112,16 +112,16 @@ e.g.:
|
||||
|
||||
> https://api.bilibili.com/x/web-interface/view
|
||||
|
||||
*请求方式:GET*
|
||||
*请求方法: GET*
|
||||
|
||||
认证方式:Cookie (SESSDATA)
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
限制游客访问的视频需要登录
|
||||
```
|
||||
|
||||
**请求参数**应在**接口说明**的下方,应注明参数类型 url 参数或正文参数(正文参数应注明 content-type,如 `application/x-www-form-urlencoded` 或 `multipart/form-data`),使用**加粗**语法
|
||||
**请求参数**应在**接口说明**的下方,应注明参数类型 URL 参数或正文参数(正文参数应注明 `Content-Type`,如 `application/x-www-form-urlencoded` 或 `multipart/form-data`),使用**加粗**语法
|
||||
|
||||
对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名`、`类型`、`内容`、`必要性`、`备注`,类型为 `num`、`str`、`bool`、`nums`、`strs`、`file` 等 (未来可能会统一改为基于 TypeScript 的类型系统),必要性为 `必要`、`非必要`、`必要 (可选)` 等,表格内每个字段为一行
|
||||
对象的字段及其含义使用**表格**进行整理,表头统一依次为 `参数名`、`类型`、`内容`、`必要性`、`备注`,使用 `object`、`number`、`string`、`boolean`、`number[]`、`string[]`、`file` 等这种类似 TypeScript 的类型系统,必要性为 `必要`、`非必要`、`必要 (可选)` 等,表格内每个字段为一行
|
||||
|
||||
e.g.:
|
||||
|
||||
@ -134,7 +134,7 @@ e.g.:
|
||||
|
||||
JSON Object 或 ProtoBuf Message 应以对象的**表格**形式书写,表头为 `根对象` 或 `xx 中的 yy 对象` 或 `xx.yy.zz 对象`,若对象位于数组中则为 `xx 数组中的对象` 或 `xx[] 中的对象`
|
||||
|
||||
表头统一依次为 `字段`、`类型`、`内容`、`备注`,类型为 JSON / Protobuf 的标准类型,如 `num`、`str`、`bool`、`obj`、`array`、`null` 等
|
||||
表头统一依次为 `字段`、`类型`、`内容`、`备注`,类型为 JSON / Protobuf 的标准类型,具体同请求参数一致
|
||||
|
||||
不明确定义的字段说明在内容的末尾添加问号,如 `播放数?`;定义尚未明确的字段使用 `(?)` 在内容中占位,并在备注中填写 `作用尚不明确`
|
||||
|
||||
@ -174,12 +174,12 @@ e.g.:
|
||||
|
||||
示例命令前后可以适当添加一些文字说明
|
||||
|
||||
响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写,并使用 `<details>` 标签进行折叠, 仍一律使用 **2** 个 **空格** 进行缩进
|
||||
响应体示例为一段格式化后的 JSON 或 ProtoBuf Message,使用**代码块**语法书写, 代码块语言填写清楚, 注意 `json` `jsonc` 区别. 并使用 `<details>` 标签进行折叠, 仍一律使用 **2** 个 **空格** 进行缩进
|
||||
|
||||
e.g.:
|
||||
|
||||
````markdown
|
||||
**示例:**
|
||||
**示例:**
|
||||
|
||||
获取视频 `av85440373` 的基本信息
|
||||
|
||||
@ -189,7 +189,7 @@ curl -G 'https://api.bilibili.com/x/web-interface/view' \
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```jsonc
|
||||
{
|
||||
@ -262,22 +262,24 @@ message Author {
|
||||
|
||||
本项目仓库仅托管于 GitHub, 使用 Git 作为版本控制系统, 你需要对两者有基础的了解
|
||||
|
||||
请先 fork, 然后在自己的 fork 上进行修改
|
||||
请先 fork, 然后在自己的 fork 上进行修改<!--废话-->
|
||||
|
||||
提交的标题不要使用默认的 `Update xxx`, 建议遵循 [Conventional Commits (约定式提交) 规范](https://www.conventionalcommits.org/zh-hans/v1.0.0/), 标题语言可根据个人习惯
|
||||
提交的标题不要使用默认的 `Update xxx`, 请遵循 [Conventional Commits (约定式提交) 规范](https://www.conventionalcommits.org/zh-hans/v1.0.0/), 标题语言可根据个人习惯
|
||||
|
||||
<!--下面这两段属于常识, 但好像还有人不知道-->
|
||||
当发现远程与本地仓库不一致时, 若你操作的 fork 的 branch 无打开的 PR, 建议使用变基拉取, 而不是生成一个额外的合并提交的合并拉取, 反之则相反
|
||||
|
||||
移动文件请使用 `git mv`, 而不是删除并添加同一个文件于不同位置 (该问题在 VSCode 的 GUI 版 Git 中存在)
|
||||
移动文件请使用 `git mv`, 而不是删除并添加同一个文件于不同位置 (该问题在 VSCode 的 GUI 版 Git 中存在<!--某个易姓owner干过-->), 以便后续 blame 操作
|
||||
|
||||
### 拉取请求 (Pull Request)
|
||||
|
||||
使用 拉取请求 (Pull Request, PR) 将修改后的文档提交到 `master` 分支,标题需写明修改或新增的内容, `gh_pages` 分支将在 PR 合并后自动更新
|
||||
使用 拉取请求 (Pull Request, PR) 将修改后的文档提交到 `master` 分支,标题需写明修改或新增的内容, 同样也需要遵循约定式提交规范, `gh_pages` 分支将在 PR 合并后自动更新
|
||||
|
||||
如果你还没有完成计划的全部修改, 请创建 Draft Pull Request 表示你还没有做好被合并的准备 ~~(抢占先机, 精神可嘉, 值得鼓励)~~
|
||||
|
||||
PR 正文使用 **无序列表** 写明更改的每一项内容, 可以使用复选框表明进度, 需要关闭的 Issue 请使用 `close #xxxx` 这样的格式一并包含在内
|
||||
|
||||
如果内容包含代码, 请一并提供测试的输入与输出的文本或截图, 最好可以附上完整的测试环境及相关可执行文件等
|
||||
如果内容包含代码等, 请一并提供测试的输入与输出的文本或截图, 最好可以附上完整的测试环境及相关可执行文件等
|
||||
|
||||
<!--这也是常识喵-->
|
||||
PR 合并后, 请及时删除或更新分支. 特别是在使用压缩合并或变基合并后, 请 `Discard changes` 或直接删除分支, 以免在下一次 PR 后出现重复相同提交的问题
|
||||
|
||||
62
README.md
62
README.md
@ -74,6 +74,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [x] [获取当前时间戳](docs/misc/time_stamp.md)
|
||||
- [x] [公共错误码](docs/misc/errcode.md)
|
||||
- [x] [图片格式化](docs/misc/picture.md)
|
||||
- [x] [表达式渲染](docs/misc/mathjax.md)
|
||||
- [x] [bvid 说明](docs/misc/bvid_desc.md)
|
||||
- [ ] [设备唯一标识 BUVID](docs/misc/device_identity.md)
|
||||
- [ ] [获取 buvid3 / buvid4 / b_nut](docs/misc/buvid3_4.md)
|
||||
@ -105,6 +106,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [x] [用户认证类型一览](docs/user/official_role.md)
|
||||
- [ ] [加入老粉计划](docs/user/contract.md)
|
||||
- [x] [所有粉丝勋章](docs/user/medals.md)
|
||||
- [ ] [批量查询](docs/user/batch.md)
|
||||
- [ ] [大会员](docs/vip)
|
||||
- [ ] [大会员基本信息](docs/vip/info.md)
|
||||
- [ ] [大会员中心](docs/vip/center.md)
|
||||
@ -153,12 +155,41 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [x] [笔记列表](docs/note/list.md)
|
||||
- [x] [笔记详细信息](docs/note/info.md)
|
||||
- [x] [笔记操作](docs/note/action.md)
|
||||
- [ ] [图文](docs/opus)
|
||||
- [x] [图文详细](docs/opus/detail.md)
|
||||
- [x] [空间图文](docs/opus/space.md)
|
||||
- [ ] [功能模块](docs/opus/features.md)
|
||||
- [ ] [富文本节点](docs/opus/rich_text_nodes.md)
|
||||
- [ ] [专栏](docs/article)
|
||||
- [ ] [专栏内容](docs/article/view.md)
|
||||
- [ ] [专栏分类](docs/article/category.md)
|
||||
- [x] [基本信息](docs/article/info.md)
|
||||
- [x] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md)
|
||||
- [x] [文集基本信息](docs/article/articles.md)
|
||||
- [x] [删除](docs/article/delete.md)
|
||||
- [x] [卡片信息](docs/article/card.md)
|
||||
- [X] [基本信息](docs/article/info.md)
|
||||
- [X] [点赞 & 投币 & 收藏 & 分享](docs/article/action.md)
|
||||
- [X] [文集基本信息](docs/article/articles.md)
|
||||
- [ ] [动态](docs/dynamic)
|
||||
- [ ] [获取动态列表](docs/dynamic/all.md)
|
||||
- [ ] [用户空间动态](docs/dynamic/space.md)
|
||||
- [ ] [动态基本信息](docs/dynamic/basicInfo.md)
|
||||
- [ ] [动态卡片信息字段](docs/dynamic/card_info.md)
|
||||
- [ ] [获取动态详情](docs/dynamic/detail.md)
|
||||
- [ ] [动态类型对照](docs/dynamic/dynamic_enum.md)
|
||||
- [ ] [动态信息](docs/dynamic/content.md)
|
||||
- [ ] [发送 & 转载动态](docs/dynamic/publish.md)
|
||||
- [ ] [根据关键字搜索用户(at 别人时的填充列表)](docs/dynamic/atlist.md)
|
||||
- [ ] [操作](docs/dynamic/action.md)
|
||||
- [ ] [话题](docs/dynamic/topic.md)
|
||||
- [ ] [动态内容](docs/dynamic/get_dynamic_detail.md)
|
||||
- [ ] [导航栏动态](docs/dynamic/nav.md)
|
||||
- [x] [首页公告栏](docs/dynamic/banner.md)
|
||||
- [ ] [创作中心](docs/creativecenter)
|
||||
- [ ] [投稿](docs/creativecenter/upload.md)
|
||||
- [ ] [统计与数据](docs/creativecenter/statistics&data.md)
|
||||
- [ ] 列表查询相关
|
||||
- [x] [电磁力数据](docs/creativecenter/railgun.md)
|
||||
- [ ] [合集管理](docs/creativecenter/season.md)
|
||||
- [ ] [视频相关杂项](docs/creativecenter/videos.md)
|
||||
- [ ] [图文操作](docs/creativecenter/opus.md)
|
||||
- [ ] [音频](docs/audio)
|
||||
- [x] [歌曲基本信息](docs/audio/info.md)
|
||||
- [ ] [歌单 & 音频收藏夹详细信息](docs/audio/music_list.md)
|
||||
@ -189,13 +220,6 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [ ] [表情](docs/emoji)
|
||||
- [x] [表情及表情包信息](docs/emoji/list.md)
|
||||
- [x] [操作](docs/emoji/action.md)
|
||||
- [ ] [创作中心](docs/creativecenter)
|
||||
- [ ] [投稿](docs/creativecenter/upload.md)
|
||||
- [ ] [统计与数据](docs/creativecenter/statistics&data.md)
|
||||
- [ ] 列表查询相关
|
||||
- [x] [电磁力数据](docs/creativecenter/railgun.md)
|
||||
- [ ] [合集管理](docs/creativecenter/season.md)
|
||||
- [ ] [视频相关杂项](docs/creativecenter/videos.md)
|
||||
- [x] [实时广播(通讯协议)](docs/broadcast)
|
||||
- [x] [视频内广播](docs/broadcast/video_room.md)
|
||||
- [ ] [充电](docs/electric)
|
||||
@ -205,22 +229,6 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [x] [微信 & 支付宝方式充电](docs/electric/WeChat&Alipay.md)
|
||||
- [x] [充电留言](docs/electric/charge_msg.md)
|
||||
- [x] [充电列表](docs/electric/charge_list.md)
|
||||
- [ ] [动态](docs/dynamic)
|
||||
- [ ] [获取动态列表](docs/dynamic/all.md)
|
||||
- [ ] [获取用户空间动态](docs/dynamic/space.md)
|
||||
- [ ] [动态基本信息](docs/dynamic/basicInfo.md)
|
||||
- [ ] [动态详细信息字段](docs/dynamic/card_info.md)
|
||||
- [ ] [获取动态详情](docs/dynamic/detail.md)
|
||||
- [ ] [动态类型对照](docs/dynamic/dynamic_enum.md)
|
||||
- [ ] [动态信息](docs/dynamic/content.md)
|
||||
- [ ] [话题搜索](docs/dynamic/topic.md)
|
||||
- [ ] [发送 & 转载动态](docs/dynamic/publish.md)
|
||||
- [ ] [根据关键字搜索用户(at 别人时的填充列表)](docs/dynamic/atlist.md)
|
||||
- [ ] [操作](docs/dynamic/action.md)
|
||||
- [ ] 动态列表
|
||||
- [x] [特定话题动态列表](docs/dynamic/tag_dynamics.md)
|
||||
- [ ] [动态内容](docs/dynamic/get_dynamic_detail.md)
|
||||
- [ ] [导航栏动态](docs/dynamic/nav.md)
|
||||
- [ ] ~~[相簿](docs/album)~~ (已下线)
|
||||
- [x] ~~[基本信息](docs/album/info.md)~~
|
||||
- [x] ~~[相簿列表](docs/album/list.md)~~
|
||||
|
||||
463
docs/article/card.md
Normal file
463
docs/article/card.md
Normal file
@ -0,0 +1,463 @@
|
||||
# 卡片信息
|
||||
|
||||
## 获取专栏显示卡片信息
|
||||
|
||||
> https://api.bilibili.com/x/article/cards
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
鉴权方式: 请求头 `Referer` 在 `.bilibili.com` 下
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ----- | ------ | ---- | ------ | ---- |
|
||||
| ids | string | 被查询的 id 列表 | 不必要 | 以 `,` 分隔, 可填视频完整 AV/BV 号, 专栏 CV 号, 直播间长短 lv 号 (可能会合并同类项) |
|
||||
| web_location | string | `333.1305` | 不必要 | |
|
||||
| w_rid | string | WBI 签名 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) |
|
||||
| wts | number | UNIX 秒级时间戳 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| data | object | 数据本体 | |
|
||||
| message | string | 错误信息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
以请求时 `ids` 字段中每一项为键, 其内容对象为值的表, 注意可能会合并同类项
|
||||
|
||||
`data` 中代表视频的对象 (`avxxx` 或 `Bvxxxxxxxxxx`):
|
||||
|
||||
详细可参见 [视频基本信息] (../video/info.md)
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| aid | number | | |
|
||||
| bvid | string | | |
|
||||
| cid | number | | |
|
||||
| copyright | number | | |
|
||||
| cover43 | string | | |
|
||||
| ctime | number | | |
|
||||
| desc | string | | |
|
||||
| dimension | object | | |
|
||||
| duration | number | | |
|
||||
| dynamic | string | | |
|
||||
| owner | object | | |
|
||||
| pic | string | | |
|
||||
| pubdate | number | | |
|
||||
| rights | object | | |
|
||||
| short_link_v2 | string | | |
|
||||
| stat | object | | |
|
||||
| state | number | | |
|
||||
| tid | number | | |
|
||||
| title | string | | |
|
||||
| tname | string | | |
|
||||
| videos | number | | |
|
||||
| vt_switch | boolean | | |
|
||||
|
||||
`data` 中代表专栏的对象 (`cvxxx`):
|
||||
|
||||
详细可参见 [专栏内容](view.md)
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| act_id | number | | |
|
||||
| apply_time | string | | |
|
||||
| attributes | number | | |
|
||||
| authenMark | null | | |
|
||||
| author | object | | |
|
||||
| banner_url | string | | |
|
||||
| categories | object[] | | |
|
||||
| category | object | | |
|
||||
| check_state | number | | |
|
||||
| check_time | string | | |
|
||||
| content_pic_list | null | | |
|
||||
| cover_avid | number | | |
|
||||
| ctime | number | | |
|
||||
| dispute | null | | |
|
||||
| dynamic | string | | |
|
||||
| id | number | | |
|
||||
| image_urls | string[] | | |
|
||||
| is_like | boolean | | |
|
||||
| list | object | | |
|
||||
| media | object | | |
|
||||
| mtime | number | | |
|
||||
| origin_image_urls | string[] | | |
|
||||
| origin_template_id | number | | |
|
||||
| original | number | | |
|
||||
| private_pub | number | | |
|
||||
| publish_time | number | | |
|
||||
| reprint | number | | |
|
||||
| state | number | | |
|
||||
| stats | object | | |
|
||||
| summary | string | | |
|
||||
| template_id | number | | |
|
||||
| title | string | | |
|
||||
| top_video_info | null | | |
|
||||
| type | number | | |
|
||||
| words | number | | |
|
||||
|
||||
`data` 中代表直播间的对象:
|
||||
|
||||
详细可参见 [直播间基本信息](../live/info.md)
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| area_v2_name | string | 分区完整名称 | |
|
||||
| cover | string | 直播封面 | |
|
||||
| face | string | 主播头像 | |
|
||||
| live_status | number | 直播状态 | |
|
||||
| online | number | 在线人数 | |
|
||||
| pendent_ru | string | | |
|
||||
| pendent_ru_color | string | | |
|
||||
| pendent_ru_pic | string | | |
|
||||
| role | number | | |
|
||||
| room_id | number | 直播间长 id | |
|
||||
| title | string | 直播间标题 | |
|
||||
| uid | number | 主播 UID (mid) | |
|
||||
| uname | string | 主播用户名 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/article/cards?ids=av2,cv1,cv2,15111509,lv1,lv5440' \
|
||||
--referer 'https://www.bilibili.com/'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"av2": {
|
||||
"aid": 2,
|
||||
"bvid": "BV1xx411c7mD",
|
||||
"cid": 62131,
|
||||
"copyright": 2,
|
||||
"cover43": "",
|
||||
"ctime": 1497344798,
|
||||
"desc": "www",
|
||||
"dimension": {
|
||||
"height": 360,
|
||||
"rotate": 0,
|
||||
"width": 480
|
||||
},
|
||||
"duration": 2055,
|
||||
"dynamic": "",
|
||||
"owner": {
|
||||
"face": "https://i2.hdslb.com/bfs/face/ef0457addb24141e15dfac6fbf45293ccf1e32ab.jpg",
|
||||
"mid": 2,
|
||||
"name": "碧诗"
|
||||
},
|
||||
"pic": "http://static.hdslb.com/images/transparent.gif",
|
||||
"pubdate": 1252458549,
|
||||
"rights": {
|
||||
"arc_pay": 0,
|
||||
"autoplay": 1,
|
||||
"bp": 0,
|
||||
"download": 0,
|
||||
"elec": 0,
|
||||
"hd5": 0,
|
||||
"is_cooperation": 0,
|
||||
"movie": 0,
|
||||
"no_background": 0,
|
||||
"no_reprint": 0,
|
||||
"pay": 0,
|
||||
"pay_free_watch": 0,
|
||||
"ugc_pay": 0,
|
||||
"ugc_pay_preview": 0
|
||||
},
|
||||
"short_link_v2": "https://b23.tv/BV1xx411c7mD",
|
||||
"stat": {
|
||||
"aid": 2,
|
||||
"coin": 38042,
|
||||
"danmaku": 121342,
|
||||
"dislike": 0,
|
||||
"favorite": 107375,
|
||||
"his_rank": 0,
|
||||
"like": 261036,
|
||||
"now_rank": 0,
|
||||
"reply": 86021,
|
||||
"share": 20052,
|
||||
"view": 4983587,
|
||||
"vt": 0,
|
||||
"vv": 0
|
||||
},
|
||||
"state": 0,
|
||||
"tid": 130,
|
||||
"title": "字幕君交流场所",
|
||||
"tname": "音乐综合",
|
||||
"videos": 1,
|
||||
"vt_switch": false
|
||||
},
|
||||
"cv1": {
|
||||
"act_id": 0,
|
||||
"apply_time": "",
|
||||
"attributes": 24,
|
||||
"authenMark": null,
|
||||
"author": {
|
||||
"face": "https://i1.hdslb.com/bfs/face/89fe260a17891fdadc3365a9698fee52796c7765.jpg",
|
||||
"fans": 0,
|
||||
"level": 0,
|
||||
"mid": 91221505,
|
||||
"name": "健行见远渐忘",
|
||||
"nameplate": {
|
||||
"condition": "2018.6.26-7.8某一天是年度大会员",
|
||||
"image": "https://i2.hdslb.com/bfs/face/421179426c929dfeaed4117461c83f5d07ffb148.png",
|
||||
"image_small": "https://i1.hdslb.com/bfs/face/682001c2e1c2ae887bdf2a0e18eef61180c48f84.png",
|
||||
"level": "稀有勋章",
|
||||
"name": "大会员2018年度勋章",
|
||||
"nid": 74
|
||||
},
|
||||
"official_verify": {
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"pendant": {
|
||||
"expire": 0,
|
||||
"image": "https://i1.hdslb.com/bfs/face/7ae15f06f8c912435206a2578509d6bc77c12353.png",
|
||||
"name": "作文鬼才",
|
||||
"pid": 255
|
||||
},
|
||||
"vip": {
|
||||
"avatar_subscript": 1,
|
||||
"due_date": 0,
|
||||
"label": {
|
||||
"label_theme": "annual_vip",
|
||||
"path": "http://i0.hdslb.com/bfs/vip/label_annual.png",
|
||||
"text": "年度大会员"
|
||||
},
|
||||
"nickname_color": "#FB7299",
|
||||
"status": 1,
|
||||
"theme_type": 0,
|
||||
"type": 2,
|
||||
"vip_pay_type": 0
|
||||
}
|
||||
},
|
||||
"banner_url": "https://i0.hdslb.com/bfs/article/b1e1029c08d8ad1bb06460d736839a7741dd7925.jpg",
|
||||
"categories": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "生活",
|
||||
"parent_id": 0
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"name": "日常",
|
||||
"parent_id": 3
|
||||
}
|
||||
],
|
||||
"category": {
|
||||
"id": 15,
|
||||
"name": "日常",
|
||||
"parent_id": 3
|
||||
},
|
||||
"check_state": 0,
|
||||
"check_time": "",
|
||||
"content_pic_list": null,
|
||||
"cover_avid": 0,
|
||||
"ctime": 1497973729,
|
||||
"dispute": null,
|
||||
"dynamic": "It's now or never !",
|
||||
"id": 1,
|
||||
"image_urls": [
|
||||
"https://i0.hdslb.com/bfs/article/d2eedf1fd338bceca10099e2f7b33fa9017c859b.jpg"
|
||||
],
|
||||
"is_like": false,
|
||||
"list": {
|
||||
"apply_time": "",
|
||||
"articles_count": 0,
|
||||
"check_time": "",
|
||||
"ctime": 1588601669,
|
||||
"id": 253534,
|
||||
"image_url": "",
|
||||
"mid": 91221505,
|
||||
"name": "静夜思",
|
||||
"publish_time": 1625900652,
|
||||
"read": 0,
|
||||
"reason": "",
|
||||
"state": 1,
|
||||
"summary": "",
|
||||
"update_time": 1625900518,
|
||||
"words": 3059
|
||||
},
|
||||
"media": {
|
||||
"area": "",
|
||||
"cover": "",
|
||||
"media_id": 0,
|
||||
"score": 0,
|
||||
"season_id": 0,
|
||||
"spoiler": 0,
|
||||
"title": "",
|
||||
"type_id": 0,
|
||||
"type_name": ""
|
||||
},
|
||||
"mtime": 1589209079,
|
||||
"origin_image_urls": [
|
||||
"https://i0.hdslb.com/bfs/article/b1e1029c08d8ad1bb06460d736839a7741dd7925.jpg"
|
||||
],
|
||||
"origin_template_id": 4,
|
||||
"original": 0,
|
||||
"private_pub": 0,
|
||||
"publish_time": 1519913233,
|
||||
"reprint": 0,
|
||||
"state": 0,
|
||||
"stats": {
|
||||
"coin": 2545,
|
||||
"dislike": 1,
|
||||
"dynamic": 0,
|
||||
"favorite": 17524,
|
||||
"like": 32489,
|
||||
"reply": 14399,
|
||||
"share": 616,
|
||||
"view": 1631442
|
||||
},
|
||||
"summary": "天空像是倾倒出的墨水,黑得静谧而深邃。黎明还远,光亮全无。夜不能寐。披衣,起床。茶香的弥漫,一盏灯的相伴。夜,你是我久别重逢的朋友,那一刹那的相见,带给了我久违的安思。如果不是梦魇的皮闹,我本不该投入",
|
||||
"template_id": 4,
|
||||
"title": "未知的光",
|
||||
"top_video_info": null,
|
||||
"type": 0,
|
||||
"words": 1190
|
||||
},
|
||||
"cv2": {
|
||||
"act_id": 0,
|
||||
"apply_time": "",
|
||||
"authenMark": null,
|
||||
"author": {
|
||||
"face": "http://i0.hdslb.com/bfs/face/ff6b51c3b339dae5f341d1693f52132ab11c86b6.jpg",
|
||||
"fans": 0,
|
||||
"level": 0,
|
||||
"mid": 144900660,
|
||||
"name": "专栏小天使",
|
||||
"nameplate": {
|
||||
"condition": "",
|
||||
"image": "",
|
||||
"image_small": "",
|
||||
"level": "",
|
||||
"name": "",
|
||||
"nid": 0
|
||||
},
|
||||
"official_verify": {
|
||||
"desc": "专栏小天使 官方账号",
|
||||
"type": 0
|
||||
},
|
||||
"pendant": {
|
||||
"expire": 0,
|
||||
"image": "",
|
||||
"name": "",
|
||||
"pid": 0
|
||||
},
|
||||
"vip": {
|
||||
"avatar_subscript": 0,
|
||||
"due_date": 0,
|
||||
"label": {
|
||||
"label_theme": "",
|
||||
"path": "",
|
||||
"text": ""
|
||||
},
|
||||
"nickname_color": "",
|
||||
"status": 0,
|
||||
"theme_type": 0,
|
||||
"type": 0,
|
||||
"vip_pay_type": 0
|
||||
}
|
||||
},
|
||||
"banner_url": "https://i0.hdslb.com/bfs/article/131b1d41b857d5308f5bff36591d117bddc48d96.jpg@90p.webp",
|
||||
"categories": [
|
||||
{
|
||||
"id": 3,
|
||||
"name": "生活",
|
||||
"parent_id": 0
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"name": "日常",
|
||||
"parent_id": 3
|
||||
}
|
||||
],
|
||||
"category": {
|
||||
"id": 15,
|
||||
"name": "日常",
|
||||
"parent_id": 3
|
||||
},
|
||||
"check_state": 0,
|
||||
"check_time": "",
|
||||
"content_pic_list": null,
|
||||
"cover_avid": 0,
|
||||
"ctime": 1497973871,
|
||||
"dispute": null,
|
||||
"id": 2,
|
||||
"image_urls": [
|
||||
"https://i0.hdslb.com/bfs/article/0a72422ce8e77d8512f010d93b1b7f9bc4e64e52.jpg"
|
||||
],
|
||||
"is_like": false,
|
||||
"list": null,
|
||||
"media": {
|
||||
"area": "",
|
||||
"cover": "",
|
||||
"media_id": 0,
|
||||
"score": 0,
|
||||
"season_id": 0,
|
||||
"spoiler": 0,
|
||||
"title": "",
|
||||
"type_id": 0,
|
||||
"type_name": ""
|
||||
},
|
||||
"mtime": 1640696950,
|
||||
"origin_image_urls": [
|
||||
"https://i0.hdslb.com/bfs/article/131b1d41b857d5308f5bff36591d117bddc48d96.jpg"
|
||||
],
|
||||
"origin_template_id": 4,
|
||||
"original": 0,
|
||||
"private_pub": 0,
|
||||
"publish_time": 1509517123,
|
||||
"reprint": 1,
|
||||
"state": 0,
|
||||
"stats": {
|
||||
"coin": 3590,
|
||||
"dislike": 0,
|
||||
"dynamic": 0,
|
||||
"favorite": 5614,
|
||||
"like": 16956,
|
||||
"reply": 1944,
|
||||
"share": 371,
|
||||
"view": 1184187
|
||||
},
|
||||
"summary": "欢迎各位使用Bilibili专栏,为了保证Bilibili专栏的内容质量,维护专栏的内容生态,让创作者和读者都拥有良好的使用体验和阅读体验,请各位谨遵以下规范条例:\n\n严令禁止条例\nbilibili严",
|
||||
"template_id": 4,
|
||||
"title": "专栏行为准则 ",
|
||||
"top_video_info": null,
|
||||
"type": 0,
|
||||
"words": 3711
|
||||
},
|
||||
"lv5440": {
|
||||
"area_v2_name": "历史·人文·综合",
|
||||
"cover": "https://i0.hdslb.com/bfs/live/9fe50921ab9b49e80dcb398f65135191d1b8252c.jpg",
|
||||
"face": "https://i0.hdslb.com/bfs/face/8f6a614a48a3813d90da7a11894ae56a59396fcd.jpg",
|
||||
"live_status": 2,
|
||||
"online": 0,
|
||||
"pendent_ru": "",
|
||||
"pendent_ru_color": "",
|
||||
"pendent_ru_pic": "",
|
||||
"role": 0,
|
||||
"room_id": 5440,
|
||||
"title": "一场穿越20年的直播|梦回千禧文学",
|
||||
"uid": 9617619,
|
||||
"uname": "哔哩哔哩直播"
|
||||
}
|
||||
},
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-04-26T08:24:57.605652577Z -->
|
||||
@ -1,46 +0,0 @@
|
||||
# 删除专栏
|
||||
|
||||
> <https://member.bilibili.com/x/web/article/delete>
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------------------ | ------ | ---- |
|
||||
| aid | num | 文章cvid | 必要 | |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | --------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />37104:无权限操作他人专栏 |
|
||||
| message | str | 错误信息 | 默认为`0` |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://member.bilibili.com/x/web/article/delete' \
|
||||
--data-urlencode 'aid=114514' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
1346
docs/article/view.md
Normal file
1346
docs/article/view.md
Normal file
File diff suppressed because one or more lines are too long
110
docs/creativecenter/opus.md
Normal file
110
docs/creativecenter/opus.md
Normal file
@ -0,0 +1,110 @@
|
||||
# 图文操作
|
||||
|
||||
## 删除动态
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/operate/remove
|
||||
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式:Cookie (SESSDATA)
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ------ | ---- | ------ | ---- |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
| platform | string | 平台标识 | 不必要 | 如 `web` |
|
||||
|
||||
**正文参数 (application/json):**
|
||||
|
||||
根对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ------ | -------------- | ------ | ---- |
|
||||
| dyn_id_str | string | 动态的 opus id | 必要 | |
|
||||
| dyn_type | number | 动态类型? | 不必要 | |
|
||||
| rid_str | string | | 不必要 | |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ------ | ------ | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 帐号未登录<br />-111: csrf 校验失败<br />-400: 请求错误<br />4101001: 参数错误<br />4101144: 只能删除自身的动态 |
|
||||
| message | string | 错误信息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
| data | object | 空对象 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
删除动态 `667831766353969169`
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/dynamic/feed/operate/remove' \
|
||||
--url-query 'csrf=05fa8d65755655c2893d40d3692d4c70' \
|
||||
-H 'content-type: application/json'
|
||||
--data-raw '{"dyn_id_str":"667831766353969169"}' \
|
||||
-b 'SESSDATA=xxxxxx' \
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 删除专栏
|
||||
|
||||
> <https://member.bilibili.com/x/web/article/delete>
|
||||
|
||||
*请求方式:POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------------------ | ------ | ---- |
|
||||
| aid | num | 文章cvid | 必要 | |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | --------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />37104:无权限操作他人专栏 |
|
||||
| message | str | 错误信息 | 默认为`0` |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://member.bilibili.com/x/web/article/delete' \
|
||||
--data-urlencode 'aid=114514' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@ -1,7 +1,125 @@
|
||||
# 动态操作
|
||||
|
||||
## 点赞动态
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/dyn/thumb
|
||||
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ------ | ------ | ------ | ---- |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**正文参数 (application/json):**
|
||||
|
||||
根对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ------ | -------- | ------ | ---- |
|
||||
| dyn_id_str | string | 动态 id | 必要 | |
|
||||
| up | number | 点赞状态 | 必要 | 0: 切换<br />1: 点赞<br />2: 取消点赞 |
|
||||
| spmid | string | `333.1369.0.0` | 不必要 | |
|
||||
| from_spmid | string | `333.999.0.0` | 不必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ------ | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 |
|
||||
| message | string | 错误消息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
| data | object | 空对象 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
点赞动态 `1057955152016703512`
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.bilibili.com/x/dynamic/feed/dyn/thumb' \
|
||||
--url-query 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxxxx' \
|
||||
-H 'content-type: application/json' \
|
||||
--data-raw '{"dyn_id_str":"1057955152016703512","up":1}'
|
||||
```
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 点赞动态 (旧版)
|
||||
|
||||
> https://api.vc.bilibili.com/dynamic_like/v1/dynamic_like/thumb
|
||||
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
根对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ------ | -------- | ------ | ---- |
|
||||
| dynamic_id | string | 动态 id | 必要 | |
|
||||
| up | number | 点赞状态 | 必要 | 0: 切换<br />1: 点赞<br />2: 取消点赞 |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ------ | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 |
|
||||
| message | string | 错误消息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
| data | object | 空对象 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
点赞动态 `1060771233257226247`
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.vc.bilibili.com/dynamic_like/v1/dynamic_like/thumb' \ --data-urlencode 'csrf=xxxxxx' \
|
||||
--data-urlencode 'dynamic_id=1060771233257226247' \
|
||||
--data-urlencode 'up=1' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 删除动态
|
||||
|
||||
参见 [创作中心 -> 图文操作 -> 删除动态](../creativecenter/opus.md#删除动态)
|
||||
|
||||
## 删除动态 (旧版)
|
||||
|
||||
> <https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/rm_dynamic>
|
||||
|
||||
*请求方式:POST*
|
||||
@ -111,3 +229,123 @@ curl 'https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/rm_draft' \
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 设置置顶动态
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/space/set_top
|
||||
|
||||
**请求方法: POST**
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
鉴权方式: Cookie 中 `buvid3` 不为空
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ------ | ------ | ------ | ---- |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**正文参数 (application/json):**
|
||||
|
||||
根对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ------ | -------- | ------ | ---- |
|
||||
| dyn_str | string | 动态 id | 必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ------ | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 |
|
||||
| message | string | 错误消息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
| data | object | 空对象 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
|
||||
置顶动态 `1063487284684259332`
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.bilibili.com/x/dynamic/feed/space/set_top' \
|
||||
--url-query 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxxxx; buvid3=aaa' \
|
||||
-H 'content-type: application/json' \
|
||||
--data-raw '{"dyn_str":"1063487284684259332"}'
|
||||
```
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 取消置顶动态
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/space/rm_top
|
||||
|
||||
**请求方法: POST**
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ------ | ------ | ------ | ---- |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**正文参数 (application/json):**
|
||||
|
||||
根对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ------ | -------- | ------ | ---- |
|
||||
| dyn_str | string | 动态 id | 必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ------ | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-111: csrf 校验失败<br />4100001: 参数错误 |
|
||||
| message | string | 错误消息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
| data | object | 空对象 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
|
||||
取消置顶动态 `1063487284684259332`
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.bilibili.com/x/dynamic/feed/space/rm_top' \
|
||||
--url-query 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxxxx' \
|
||||
-H 'content-type: application/json' \
|
||||
--data-raw '{"dyn_str":"1063487284684259332"}'
|
||||
```
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
@ -76,125 +76,15 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| module_author | obj | UP主信息 | |
|
||||
| module_author | obj | UP主信息 | 参见 [MODULE_TYPE_AUTHOR](../opus/features.md#module-type-author) 中的 `module_author` 对象 |
|
||||
| module_dynamic | obj | 动态内容信息 | |
|
||||
| module_more | obj | 动态右上角三点菜单 | |
|
||||
| module_stat | obj | 动态统计数据 | |
|
||||
| module_more | obj | 动态右上角三点菜单 | 参见 [module_more](../opus/features.md#module-more) 中的 `module_more` 对象 |
|
||||
| module_stat | obj | 动态统计数据 | 参见 [MODULE_TYPE_STAT](../opus/features.md#module-type-stat) 中的 `module_stat` 对象 |
|
||||
| module_interaction | obj | 热度评论 | |
|
||||
| module_fold | obj | 动态折叠信息 | |
|
||||
| module_dispute | obj | 争议小黄条 | |
|
||||
| module_tag | obj | 置顶信息 | |
|
||||
|
||||
`data.items[n].modules.module_author`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| avater | obj | 头像信息 | 主要用于网页渲染, 若感兴趣可参考 [图片格式化](../misc/picture.md) |
|
||||
| face | str | 头像 URL | |
|
||||
| face_nft | bool | 是否为NFT头像 | |
|
||||
| following | bool | 是否关注此UP主 | 自己的动态为`null` |
|
||||
| jump_url | str | 跳转链接 | |
|
||||
| label | str | 名称前标签 | `合集`<br/>`电视剧`<br/>`番剧` |
|
||||
| mid | num | UP主UID<br/>剧集SeasonId | |
|
||||
| name | str | UP主名称<br/>剧集名称<br/>合集名称 | |
|
||||
| official_verify | obj | UP主认证信息 | |
|
||||
| pendant | obj | UP主头像框 | |
|
||||
| pub_action | str | 更新动作描述 | `投稿了视频`<br/>`直播了`<br/>`投稿了文章`<br/>`更新了合集`<br/>`与他人联合创作`<br/>`发布了动态视频`<br/>`投稿了直播回放` |
|
||||
| pub_location_text | str | 空 | |
|
||||
| pub_time | str | 更新时间 | `x分钟前`<br/>`x小时前`<br/>`昨天` |
|
||||
| pub_ts | num | 更新时间戳 | UNIX 秒级时间戳 |
|
||||
| type | str | 作者类型 | [作者类型](./dynamic_enum.md#作者类型) |
|
||||
| vip | obj | UP主大会员信息 | |
|
||||
| decorate | obj | 装扮信息 | |
|
||||
| nft_info | obj | NFT头像信息 | |
|
||||
|
||||
`data.items[n].modules.module_author.official_verify`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| desc | str | 认证说明 | |
|
||||
| type | num | 认证类型 | |
|
||||
|
||||
`data.items[n].modules.module_author.pendant`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| expire | num | 过期时间 | 此接口返回恒为`0` |
|
||||
| image | str | 头像框图片url | |
|
||||
| image_enhance | str | 头像框图片url | |
|
||||
| image_enhance_frame | str | 头像框图片逐帧序列url | |
|
||||
| name | str | 头像框名称 | |
|
||||
| pid | num | 头像框id | |
|
||||
| n_pid | num | 同 pid | |
|
||||
|
||||
`data.items[n].modules.module_author.vip`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| avatar_subscript | num | 是否显示角标 | 0:不显示<br/>1:显示 |
|
||||
| avatar_subscript_url | str | `空串` | |
|
||||
| due_date | num | 大会员过期时间戳 | UNIX 毫秒时间戳 |
|
||||
| label | obj | 大会员标签 | |
|
||||
| nickname_color | str | 名字显示颜色 | 大会员:`#FB7299` |
|
||||
| status | num | 大会员状态 | 0:无<br />1:有<br/>2:封禁? |
|
||||
| theme_type | num | `0` | |
|
||||
| type | num | 大会员类型 | 0:无<br />1:月大会员<br />2:年度及以上大会员 |
|
||||
|
||||
`data.items[n].modules.module_author.vip.label`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| bg_color | str | 会员标签背景颜色 | `#FB7299` |
|
||||
| bg_style | num | `0` `1` | |
|
||||
| border_color | str | 空 | |
|
||||
| img_label_uri_hans | str | 大会员牌子图片 | 动态版 简体版 |
|
||||
| img_label_uri_hans_static | str | 大会员牌子图片 | 静态版 简体版 |
|
||||
| img_label_uri_hant | str | 大会员牌子图片 | 动态版 繁体版 |
|
||||
| img_label_uri_hant_static | str | 大会员牌子图片 | 静态版 繁体版 |
|
||||
| label_theme | str | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员<br/>fools_day_hundred_annual_vip:最强绿鲤鱼 |
|
||||
| path | str | 空 | |
|
||||
| text | str | 会员类型文案 | `大会员` `年度大会员` `十年大会员` `百年大会员` `最强绿鲤鱼` |
|
||||
| text_color | str | 用户名文字颜色 | |
|
||||
| use_img_label | bool | `true` | |
|
||||
|
||||
`data.items[n].modules.module_author.decorate`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| card_url | str | 动态卡片小图标图片URL | |
|
||||
| fan | obj | 粉丝装扮信息 | |
|
||||
| id | num | 装扮ID | |
|
||||
| jump_url | str | 跳转URL | |
|
||||
| name | str | 装扮名称 | |
|
||||
| type | num | `1` `2` `3` | |
|
||||
|
||||
`data.items[n].modules.module_author.decorate.fan`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| color | str | 编号颜色 | |
|
||||
| color_format | obj | 颜色格式 | |
|
||||
| is_fan | bool | 是否是粉丝装扮 | |
|
||||
| num_str | str | 装扮编号前缀 | 如 `NO.` |
|
||||
| number | num | 装扮编号 | |
|
||||
|
||||
`data.items[n].modules.module_author.decorate.fan.color_format`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| colors | array | 颜色 | 带 `#` 前缀的 16 进制颜色代码 |
|
||||
| end_point | str| 端点 | `0,100` |
|
||||
| gradients | array | 渐变 | 内容 [0, 100] |
|
||||
| start_point | str | 起点 | `0,0` |
|
||||
|
||||
`data.items[n].modules.module_author.nft_info`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| region_icon | str | NFT头像角标URL | 类型1:https://i0.hdslb.com/bfs/activity-plat/static/20220506/334553dd7c506a92b88eaf4d59ac8b4d/j8AeXAkEul.gif <br/>类型2:https://i0.hdslb.com/bfs/activity-plat/static/20220506/334553dd7c506a92b88eaf4d59ac8b4d/IOHoVs1ebP.gif |
|
||||
| region_type | num | NFT头像角标类型 | 1,2 |
|
||||
| show_status | num | `1` | |
|
||||
|
||||
`data.items[n].modules.module_dynamic`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
@ -202,7 +92,7 @@
|
||||
| additional | obj | 相关内容卡片信息 | |
|
||||
| desc | obj | 动态文字内容 |其他动态时为null |
|
||||
| major | obj | 动态主体对象 |转发动态时为null |
|
||||
| topic | obj | 话题信息 | |
|
||||
| topic | obj | 话题信息 | 无时为 null, 参见 [MODULE_TYPE_TOPIC](../opus/features.md#module-type-topic) |
|
||||
|
||||
`data.items[n].modules.module_dynamic.additional`:
|
||||
|
||||
@ -214,6 +104,8 @@
|
||||
| goods | obj | 商品内容 | `ADDITIONAL_TYPE_GOODS`类型独有 |
|
||||
| vote | obj | 投票信息 | `ADDITIONAL_TYPE_VOTE`类型独有 |
|
||||
| ugc | obj | 视频信息 | `ADDITIONAL_TYPE_UGC`类型独有 |
|
||||
| match | object | 比赛信息? | `ADDITIONAL_TYPE_MATCH`类型独有, 参见 [MODULE_TYPE_CONTENT](../opus/features.md#module-type-content) 的 `module_content.paragraphs[].link_card.match` |
|
||||
| upower_lottery | object | 充电专属抽奖信息 | `ADDITIONAL_TYPE_UPOWER_LOTTERY`类型独有, 参见 [MODULE_TYPE_CONTENT](../opus/features.md#module-type-content) 的 `module_content.paragraphs[].link_card.upower_lottery` |
|
||||
|
||||
`data.items[n].modules.module_dynamic.additional.common`:
|
||||
|
||||
@ -387,38 +279,9 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) |
|
||||
| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](../opus/rich_text_nodes.md#富文本节点类型) |
|
||||
| text | str | 动态的文字内容 | |
|
||||
|
||||
`data.items[n].modules.module_dynamic.desc.rich_text_nodes[o]`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| orig_text | str | 原始文本 | |
|
||||
| text | str | 替换后的文本 | |
|
||||
| type | str | 节点类型 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) |
|
||||
| emoji | obj | 表情信息 | |
|
||||
| jump_url | str | 跳转URL | |
|
||||
| rid | str | 关联id | |
|
||||
| goods | obj | 商品信息 | |
|
||||
| icon_name | str | 图标名称 | `taobao` |
|
||||
|
||||
`data.items[n].modules.module_dynamic.desc.rich_text_nodes[o].emoji`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| icon_url | str | 表情图片URL | |
|
||||
| size | num | 表情尺寸 | `1` `2` |
|
||||
| text | str | 表情的文字代码 | |
|
||||
| type | num | 表情类型 | `1` `2` `3` |
|
||||
|
||||
`data.items[n].modules.module_dynamic.desc.rich_text_nodes[o].goods`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| jump_url | str | 跳转URL | |
|
||||
| type | num | `1` | |
|
||||
|
||||
`data.items[n].modules.module_dynamic.major`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
@ -436,6 +299,53 @@
|
||||
| opus | obj | 图文动态 | `MAJOR_TYPE_OPUS` |
|
||||
| live | obj | | |
|
||||
| none | obj | 动态失效 | `MAJOR_TYPE_NONE` |
|
||||
| upower_common | obj | 充电相关 | `MAJOR_TYPE_UPOWER_COMMON` |
|
||||
|
||||
`data.items[].modules.module_dynamic.major.upower_common` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| background | object | 背景 | |
|
||||
| button | object | 按钮 | |
|
||||
| icon | object | 图标 | |
|
||||
| jump_url | string | 跳转 URL | |
|
||||
| rid | string | 关联 id | |
|
||||
| title | string | 标题 | |
|
||||
| title_prefix | string | 标题前缀 | |
|
||||
| type | number | 类型 | |
|
||||
| up_mid | number | UP 主 mid (UID) | |
|
||||
| upower_action_state | number | 充电操作状态? | |
|
||||
| upower_level | number | 充电级别? | |
|
||||
|
||||
`data.items[].modules.module_dynamic.major.upower_common.background` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| dark_src | string | 深色背景 | |
|
||||
| light_src | string | 浅色背景 | |
|
||||
|
||||
`data.items[].modules.module_dynamic.major.upower_common.button` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_style | object | 跳转样式 | |
|
||||
| jump_url | string | 跳转 URL | |
|
||||
| type | number | 类型 | |
|
||||
|
||||
`data.items[].modules.module_dynamic.major.upower_common.button.jump_style` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| text | string | 文本 | |
|
||||
|
||||
`data.items[].modules.module_dynamic.major.upower_common.icon` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| dark_src | string | 深色图标 URL | |
|
||||
| light_src | string | 浅色图标 URL | |
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-07-20T07:08:06.175919645Z -->
|
||||
|
||||
`data.items[n].modules.module_dynamic.major.ugc_season`:
|
||||
|
||||
@ -551,9 +461,9 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| bg_color | str | `空串` | |
|
||||
| color | str | `空串` | |
|
||||
| text | str | `空串` | |
|
||||
| bg_color | str | 背景色 | |
|
||||
| color | str | 前景色 | |
|
||||
| text | str | 文本 | |
|
||||
|
||||
`data.items[n].modules.module_dynamic.major.pgc`:
|
||||
|
||||
@ -659,76 +569,6 @@
|
||||
| --- | --- | --- | --- |
|
||||
| tips | str | 动态失效显示文案 | deprecated? |
|
||||
|
||||
`data.items[n].modules.module_dynamic.topic`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| id | num | 话题id | |
|
||||
| jump_url | str | 跳转URL | |
|
||||
| name | str | 话题名称 | |
|
||||
|
||||
`data.items[n].modules.module_more`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| three_point_items | array | 右上角三点菜单 | |
|
||||
|
||||
`data.items[n].modules.module_more.three_point_items[o]`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| label | str | 显示文本 | |
|
||||
| type | str | 类型 | 参见 [动态主体类型](dynamic_enum.md#动态主体类型) |
|
||||
| modal | obj | 弹出框信息 | 删除动态时弹出 |
|
||||
| params | obj | 参数 | 置顶/取消置顶时使用 |
|
||||
|
||||
`data.items[n].modules.module_more.three_point_items[o].modal`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| cancel | str | 取消按钮 | `我点错了` |
|
||||
| confirm | str | 确认按钮 | `删除` |
|
||||
| content | str | 提示内容 | `确定要删除此条动态吗?` |
|
||||
| title | str | 标题 | `删除动态` |
|
||||
|
||||
`data.items[n].modules.module_more.three_point_items[o].params`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| dynamic_id | str | 当前动态ID | deprecated? |
|
||||
| status | bool | 当前动态是否处于置顶状态 | deprecated? |
|
||||
|
||||
`data.items[n].modules.module_stat`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| comment | obj | 评论数据 | |
|
||||
| forward | obj | 转发数据 | |
|
||||
| like | obj | 点赞数据 | |
|
||||
|
||||
`data.items[n].modules.module_stat.comment`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| count | num | 评论数 | |
|
||||
| forbidden | bool | `false` | |
|
||||
| hidden | bool | 是否隐藏 | 直播类型动态会隐藏回复功能 |
|
||||
|
||||
`data.items[n].modules.module_stat.forward`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| count | num | 转发数 | |
|
||||
| forbidden | bool | `false` | |
|
||||
|
||||
`data.items[n].modules.module_stat.like`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| count | num | 点赞数 | |
|
||||
| forbidden | bool | `false` | |
|
||||
| status | bool | 当前用户是否点赞 | |
|
||||
|
||||
`data.items[n].modules.module_interaction`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
@ -746,28 +586,9 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) |
|
||||
| rich_text_nodes | array | 富文本节点列表 | [富文本节点类型](../opus/rich_text_nodes.md#富文本节点类型) |
|
||||
| text | str | 评论内容 | |
|
||||
|
||||
`data.items[n].modules.module_interaction.items[o].desc.rich_text_nodes`数组中的:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| orig_text | str | 原始文本 | |
|
||||
| rid | str | 关联ID | 用户UID |
|
||||
| text | str | 替换后文本 | |
|
||||
| type | str | 富文本节点类型 | [富文本节点类型](./dynamic_enum.md#富文本节点类型) |
|
||||
| emoji | obj | 表情信息 | |
|
||||
|
||||
`data.items[n].modules.module_interaction.items[o].desc.rich_text_nodes[n].emoji`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| icon_url | str | 表情图片URL | |
|
||||
| size | num | 表情尺寸 | `1` `2` |
|
||||
| text | str | 表情的文字代码 | |
|
||||
| type | num | 表情类型 | `1` `2` `3` |
|
||||
|
||||
`data.items[n].modules.module_fold`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
@ -7946,4 +7767,4 @@ curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all/update' \
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
</details>
|
||||
|
||||
132
docs/dynamic/banner.md
Normal file
132
docs/dynamic/banner.md
Normal file
@ -0,0 +1,132 @@
|
||||
# 首页公告栏
|
||||
|
||||
## 动态首页公告栏 (新版)
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/dyn/banner
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ---- | ------ | ---- |
|
||||
| platform | number | 平台? | 不必要 | 默认为 `1`, 留空无 |
|
||||
| position | string | 位置? | 不必要 | 默认为 `web动态`, 留空无 |
|
||||
| web_location | string | `333.1365` | 不必要 | |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| data | object | 数据本体 | |
|
||||
| message | string | 错误信息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| banners | object[] | 横幅们 | 套了个娃 |
|
||||
|
||||
`data.banners[]` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| banner_id | number | 横幅 id | 旧版接口无 |
|
||||
| end_time | number | 结束时间 | UNIX 秒级时间戳 |
|
||||
| img_url | string | 图片 URL | |
|
||||
| link | string | 跳转链接 | |
|
||||
| platform | number | 平台 | 与请求参数对应 |
|
||||
| position | string | 位置 | 与请求参数对应 |
|
||||
| start_time | number | 开始时间 | UNIX 秒级时间戳 |
|
||||
| title | string | 标题 | |
|
||||
| weight | number | 权重 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/dynamic/feed/dyn/banner?platform=1&position=web动态&web_location=333.1365'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"banners": [
|
||||
{
|
||||
"banner_id": 20,
|
||||
"end_time": 2056204800,
|
||||
"img_url": "https://i0.hdslb.com/bfs/vc/9c699f2acbcad00197e92c401b835d2c6aba8a55.png",
|
||||
"link": "https://www.bilibili.com/blackboard/activity-5zJxM3spoS.html",
|
||||
"platform": 1,
|
||||
"position": "web动态",
|
||||
"start_time": 1582862523,
|
||||
"title": "点击进入",
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-05-01T00:21:48.81113265Z -->
|
||||
|
||||
## 动态首页公告栏 (旧版)
|
||||
|
||||
> https://api.vc.bilibili.com/banner_svr/v1/banner_svr/show
|
||||
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ---- | ------ | ---- |
|
||||
| platform | number | 平台? | 不必要 | 默认为 `1` |
|
||||
| position | string | 位置? | 不必要 | 默认为 `web动态` |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
与 [动态首页公告栏 (新版)](#动态首页公告栏-新版) 相同, 除了少了个 `data.banners[].banner_id`
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://api.vc.bilibili.com/banner_svr/v1/banner_svr/show'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"banners": [
|
||||
{
|
||||
"img_url": "https://i0.hdslb.com/bfs/vc/9c699f2acbcad00197e92c401b835d2c6aba8a55.png",
|
||||
"title": "点击进入",
|
||||
"link": "https://www.bilibili.com/blackboard/activity-5zJxM3spoS.html",
|
||||
"platform": 1,
|
||||
"weight": 1,
|
||||
"position": "web动态",
|
||||
"start_time": 1582862523,
|
||||
"end_time": 2056204800
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@ -1,14 +1,16 @@
|
||||
# 动态详细信息字段
|
||||
# 动态卡片信息字段
|
||||
|
||||
不同动态内容卡片的具体信息。包含在***获取特定动态卡片信息,话题下特定动态信息***等API的Json回复中。
|
||||
不同动态内容卡片的具体信息。包含在 [获取特定动态卡片信息](get_dynamic_detail.md#获取特定动态卡片信息) 等 API 的 JSON 回复中
|
||||
|
||||
以card字段的形式出现,内容为一个可被解析为Json对象的字符串。
|
||||
|
||||
不同类型的动态内容拥有不同的字段。
|
||||
|
||||
注: 本处 `type` 一般不包含在 `card` 字符串代表的对象内
|
||||
|
||||
****
|
||||
|
||||
## 在转发类动态中(type=1)
|
||||
## 转发动态 (type=1)
|
||||
|
||||
需注意账号转发视频投稿,其他用户的动态以及分享收藏夹等均为转发类内容,并不属于type=4300的收藏类动态等。
|
||||
|
||||
@ -104,7 +106,7 @@
|
||||
|
||||
</details>
|
||||
|
||||
## 在图片动态中(type=2)
|
||||
## 图片动态 (type=2)
|
||||
|
||||
在type=2的图片动态中,解析出的对象包含以下内容:
|
||||
|
||||
@ -168,7 +170,7 @@
|
||||
|
||||
</details>
|
||||
|
||||
## 在文字动态中(type=4)
|
||||
## 文字动态 (type=4)
|
||||
|
||||
在type=4的文字动态中,解析出的对象包含以下内容:
|
||||
|
||||
@ -203,7 +205,7 @@
|
||||
|
||||
</details>
|
||||
|
||||
## 在视频投稿动态中(type=8)
|
||||
## 视频投稿动态 (type=8)
|
||||
|
||||
在type=8的视频投稿动态中,解析出的对象包含以下内容:
|
||||
|
||||
@ -302,7 +304,11 @@
|
||||
|
||||
</details>
|
||||
|
||||
## 在专栏投稿动态中(type=64)
|
||||
## 小视频 (type=16)
|
||||
|
||||
## 戏剧? (type=32)
|
||||
|
||||
## 专栏投稿动态 (type=64)
|
||||
|
||||
在type=64的专栏投稿动态中,解析出的对象包含以下内容:
|
||||
|
||||
@ -449,7 +455,7 @@
|
||||
|
||||
</details>
|
||||
|
||||
## 在音频投稿动态中(type=256)
|
||||
## 音频投稿动态 (type=256)
|
||||
|
||||
在type=256的音频投稿动态中,解析出的对象包含以下内容:
|
||||
|
||||
@ -490,3 +496,109 @@
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 番剧 (type=512)
|
||||
|
||||
## ??? (type=1000)
|
||||
|
||||
## ??? (type=1001)
|
||||
|
||||
## ??? (type=1024)
|
||||
|
||||
## H5 活动动态 (type=2048)
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| rid | number | 动态 id | |
|
||||
| sketch | object | 动态卡片内容 | |
|
||||
| user | object | 用户信息 | |
|
||||
| vest | object | 动态正文内容 | |
|
||||
|
||||
`sketch` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| cover_url | string | 封面 URL | |
|
||||
| desc_text | string | 描述文本 | |
|
||||
| sketch_id | number | 卡片 id | 即动态 id |
|
||||
| target_url | string | 目标 URL | |
|
||||
| text | string | 文本? | 空? |
|
||||
| title | string | 标题 | |
|
||||
|
||||
`user` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| face | string | 头像 URL | |
|
||||
| uid | number | mid (UID) | |
|
||||
| uname | string | 用户名 | |
|
||||
|
||||
`vest` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| content | string | 内容 | |
|
||||
| uid | number | 用户 mid (UID) | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"rid": 1093384350151475200,
|
||||
"sketch": {
|
||||
"cover_url": "https://i0.hdslb.com/bfs/game/65e4fa4b3cf2d177148328e2ff76535500bc563c.png",
|
||||
"desc_text": "分享了一条动态",
|
||||
"sketch_id": 1093755435448533000,
|
||||
"target_url": "https://space.bilibili.com/645769214",
|
||||
"text": "",
|
||||
"title": "你好,世界"
|
||||
},
|
||||
"user": {
|
||||
"face": "https://i2.hdslb.com/bfs/face/77906db03b1eefac02613de184afad03f7bc58d7.jpg",
|
||||
"uid": 645769214,
|
||||
"uname": "Session小胡"
|
||||
},
|
||||
"vest": {
|
||||
"content": "[笑哭]",
|
||||
"uid": 645769214
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-07-26T01:40:56.464495209Z -->
|
||||
|
||||
## 漫画分享 (type=2049)
|
||||
|
||||
## PGC 番剧 (type=4097)
|
||||
|
||||
## 电影 (type=4098)
|
||||
|
||||
## 电视剧 (type=4099)
|
||||
|
||||
## 国创动漫 (type=4100)
|
||||
|
||||
## 纪录片 (type=4101)
|
||||
|
||||
## 直播 (type=4200)
|
||||
|
||||
## 直播 (type=4201)
|
||||
|
||||
## 收藏夹 (type=4300)
|
||||
|
||||
## 付费课程 (type=4302)
|
||||
|
||||
## 付费课程 (type=4303)
|
||||
|
||||
## 直播 (type=4308)
|
||||
|
||||
## 合集 (type=4310)
|
||||
|
||||
## ??? (type=4311)
|
||||
|
||||
## ??? (type=268435455)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -29,27 +29,7 @@
|
||||
|
||||
## 富文本节点类型
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|---------------------------------|------|-----------------------------------------------------------------|
|
||||
| RICH_TEXT_NODE_TYPE_NONE | | |
|
||||
| RICH_TEXT_NODE_TYPE_TEXT | 文字节点 | [721295772787671059](https://t.bilibili.com/721295772787671059) |
|
||||
| RICH_TEXT_NODE_TYPE_AT | @用户 | [721296515797090324](https://t.bilibili.com/721296515797090324) |
|
||||
| RICH_TEXT_NODE_TYPE_LOTTERY | 互动抽奖 | [720907383182721040](https://t.bilibili.com/720907383182721040) |
|
||||
| RICH_TEXT_NODE_TYPE_VOTE | 投票 | [721203899129659408](https://t.bilibili.com/721203899129659408) |
|
||||
| RICH_TEXT_NODE_TYPE_TOPIC | 话题 | [721188862459641879](https://t.bilibili.com/721188862459641879) |
|
||||
| RICH_TEXT_NODE_TYPE_GOODS | 商品链接 | [721282703208480790](https://t.bilibili.com/721282703208480790) |
|
||||
| RICH_TEXT_NODE_TYPE_BV | 视频链接 | [716752002311258165](https://t.bilibili.com/716752002311258165) |
|
||||
| RICH_TEXT_NODE_TYPE_AV | | |
|
||||
| RICH_TEXT_NODE_TYPE_EMOJI | 表情 | [716751108968546393](https://t.bilibili.com/716751108968546393) |
|
||||
| RICH_TEXT_NODE_TYPE_USER | | |
|
||||
| RICH_TEXT_NODE_TYPE_CV | | |
|
||||
| RICH_TEXT_NODE_TYPE_VC | | |
|
||||
| RICH_TEXT_NODE_TYPE_WEB | 网页链接 | [716751027361022055](https://t.bilibili.com/716751027361022055) |
|
||||
| RICH_TEXT_NODE_TYPE_TAOBAO | | |
|
||||
| RICH_TEXT_NODE_TYPE_MAIL | 邮箱地址 | [721314095109767220](https://t.bilibili.com/721314095109767220) |
|
||||
| RICH_TEXT_NODE_TYPE_OGV_SEASON | 剧集信息 | [721282046064853080](https://t.bilibili.com/721282046064853080) |
|
||||
| RICH_TEXT_NODE_TYPE_OGV_EP | | |
|
||||
| RICH_TEXT_NODE_TYPE_SEARCH_WORD | | |
|
||||
参见 [图文富文本节点类型](../opus/rich_text_nodes.md#富文本节点类型)
|
||||
|
||||
## 作者类型
|
||||
|
||||
@ -60,6 +40,8 @@
|
||||
| AUTHOR_TYPE_PGC | 剧集更新 | |
|
||||
| AUTHOR_TYPE_UGC_SEASON | 合集更新 | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|-----------------|-----|-----|
|
||||
| EMOJI_TYPE_NONE | | |
|
||||
@ -76,10 +58,13 @@
|
||||
| ADDITIONAL_TYPE_GOODS | 商品信息 | |
|
||||
| ADDITIONAL_TYPE_VOTE | 投票 | [716365292050055176](https://t.bilibili.com/716365292050055176) |
|
||||
| ADDITIONAL_TYPE_COMMON | 一般类型 | 游戏<br/>[716357878942793745](https://t.bilibili.com/716357878942793745) |
|
||||
| ADDITIONAL_TYPE_MATCH | | |
|
||||
| ADDITIONAL_TYPE_MATCH | 比赛信息? | |
|
||||
| ADDITIONAL_TYPE_UP_RCMD | | |
|
||||
| ADDITIONAL_TYPE_UGC | 视频跳转 | [716489253410832401](https://t.bilibili.com/716489253410832401) |
|
||||
| ADDITIONAL_TYPE_RESERVE | | 直播预约<br/>[716524987542929443](https://t.bilibili.com/716524987542929443) |
|
||||
| ADDITIONAL_TYPE_UPOWER_LOTTERY | 充电专属抽奖 | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|-------------------------------|-----|-----|
|
||||
@ -87,28 +72,38 @@
|
||||
| ADDITIONAL_BUTTON_TYPE_JUMP | | |
|
||||
| ADDITIONAL_BUTTON_TYPE_BUTTON | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|----------------------------------|-----|-----|
|
||||
| ADDITIONAL_BUTTON_STATUS_NONE | | |
|
||||
| ADDITIONAL_BUTTON_STATUS_UNCHECK | | |
|
||||
| ADDITIONAL_BUTTON_STATUS_CHECK | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|-------------------------------|-----|-----|
|
||||
| ADD_BUTTON_CLICK_TYPE_NONE | | |
|
||||
| ADD_BUTTON_CLICK_TYPE_RESERVE | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|-------------------------|-----|-----|
|
||||
| DISABLE_STATE_HIGHLIGHT | | |
|
||||
| DISABLE_STATE_GRAY | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|----------------------------|-----|-----|
|
||||
| ADD_BUTTON_BG_STYLE_FILL | | |
|
||||
| ADD_BUTTON_BG_STYLE_STROKE | | |
|
||||
| ADD_BUTTON_BG_STYLE_GRAY | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|----------------------------------|-----|-----|
|
||||
| HIGHLIGHT_TEXT_STYLE_TYPE_NONE | | |
|
||||
@ -135,6 +130,9 @@
|
||||
| MAJOR_TYPE_LIVE_RCMD | 直播状态 | |
|
||||
| MAJOR_TYPE_UGC_SEASON | 合计更新 | [716509100448415814](https://t.bilibili.com/716509100448415814) |
|
||||
| MAJOR_TYPE_SUBSCRIPTION_NEW | | |
|
||||
| MAJOR_TYPE_UPOWER_COMMON | 充电相关 | [1087983622038749191](https://t.bilibili.com/1087983622038749191) |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|-----------------|-----|-----|
|
||||
@ -143,6 +141,8 @@
|
||||
| MEDIA_TYPE_PGC | | |
|
||||
| MEDIA_TYPE_LIVE | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|--------------------------|-----|-----|
|
||||
| PGC_SUB_TYPE_NONE | | |
|
||||
@ -152,6 +152,8 @@
|
||||
| PGC_SUB_TYPE_DOMESTIC | | |
|
||||
| PGC_SUB_TYPE_TV | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|----------------------|-----|-----|
|
||||
| DRAW_TAG_TYPE_NONE | | |
|
||||
@ -161,29 +163,39 @@
|
||||
| DRAW_TAG_TYPE_TOPIC | | |
|
||||
| DRAW_TAG_TYPE_LBS | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|----------------------------------|-----|-----|
|
||||
| MAJOR_COMMON_STYLE_TYPE_NONE | | |
|
||||
| MAJOR_COMMON_STYLE_TYPE_SQUARE | | |
|
||||
| MAJOR_COMMON_STYLE_TYPE_VERTICAL | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|---------------------|-----|-----|
|
||||
| RESERVE_TYPE_NONE | | |
|
||||
| RESERVE_TYPE_RECALL | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|--------------------------|-----|-----|
|
||||
| LIVE_STATE_TYPE_NONE | | |
|
||||
| LIVE_STATE_TYPE_LIVE | | |
|
||||
| LIVE_STATE_TYPE_ROTATION | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|----------------------------------|-----|-----|
|
||||
| SUBSCRIPTION_NEW_STYLE_TYPE_NONE | | |
|
||||
| SUBSCRIPTION_NEW_STYLE_TYPE_DRAW | | |
|
||||
| SUBSCRIPTION_NEW_STYLE_TYPE_LIVE | | |
|
||||
|
||||
## 右上角三点菜单
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|------------------------------|---------|-----|
|
||||
| THREE_POINT_DELETE | 删除 | |
|
||||
@ -197,6 +209,8 @@
|
||||
| THREE_POINT_RCMD_RESOURCE | | |
|
||||
| THREE_POINT_RCMD_FEEDBACK | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|--------------------|-----|-----|
|
||||
| FOLD_TYPE_NONE | | |
|
||||
@ -205,6 +219,8 @@
|
||||
| FOLD_TYPE_UNITE | | |
|
||||
| FOLD_TYPE_LIMIT | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|------------------------------|-----|-----|
|
||||
| DYN_STATUS_TYPE_NONE | | |
|
||||
@ -213,6 +229,8 @@
|
||||
| DYN_STATUS_TYPE_SELF_VISIBLE | | |
|
||||
| DYN_STATUS_TYPE_DELETED | | |
|
||||
|
||||
##
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|---------------|-----|-----|
|
||||
| SCENE_DETAIL | | |
|
||||
@ -220,5 +238,3 @@
|
||||
| SCENE_GENERAL | | |
|
||||
| SCENE_SPACE | | |
|
||||
| SCENE_TOPIC | | |
|
||||
|
||||
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
# 获取特定动态卡片信息
|
||||
# 特定动态卡片信息
|
||||
|
||||
## 获取特定动态卡片信息
|
||||
|
||||
> https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detail
|
||||
|
||||
*请求方式:GET*
|
||||
*请求方法: GET*
|
||||
|
||||
**url参数:**
|
||||
|
||||
@ -16,60 +18,26 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | 默认为空 |
|
||||
| msg | num | 空 | |
|
||||
| code | number | 返回值 | 0: 成功<br />4128001: 请求数据发生错误,请刷新或稍后重试 |
|
||||
| data | object | 信息本体 | 失败时为 `null` |
|
||||
| message | string | 错误信息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ----- | ---------- | ------------ |
|
||||
| card | obj | 动态卡片内容 | 当动态不存在/删除时不返回此项 |
|
||||
| result | num | 0 | 作用尚不明确(当动态不存在/删除时不返回此项) |
|
||||
| \_gt\_ | num | 0 | 作用尚不明确 |
|
||||
| card | object | 动态卡片内容 | 当动态不存在/删除时不返回此项 |
|
||||
|
||||
`data`中的`card`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------- | ---- |
|
||||
| activity_infos | obj | 该条动态参与的活动 |当此条动态没有参与任何活动时不显示此项 |
|
||||
| card | str | 动态详细信息 | 会跟随此动态类型不同发生一定的变化,评论数、点赞数等相关信息参考`desc`字段 |
|
||||
| card | str | 动态详细信息 | 会跟随此动态类型不同发生一定的变化,评论数、点赞数等相关信息参考`desc`字段, 详细可见 [动态详细信息字段](card_info.md) |
|
||||
| desc | obj | 动态相关信息 | 会跟随此动态类型不同发生一定的变化,详细信息(例如动态描述等)参考`card`字段 |
|
||||
| display | obj | 动态部分的可操作项 | 会随着动态类型发生变化,主要用于显示动态 |
|
||||
| extend_json | str | 动态扩展项 | 会随着动态类型发生变化 |
|
||||
**此处的大部分字段的内容都会根据`desc`中的`type`值发生一定变化,具体的数值对照参考下表(仅作参考,部分内容的解释未知,同时有些内容仅为在部分页面出现,无法通过此API调出):**
|
||||
|
||||
| 值 | 含义 |
|
||||
| ---- | ---- |
|
||||
| 268435455 | 具体定义未知 |
|
||||
| 1 | 转发 |
|
||||
| 2 | 图片动态 |
|
||||
| 4 | 文字动态 |
|
||||
| 8 | 视频动态 |
|
||||
| 16 | 小视频 |
|
||||
| 32 | 具体定义未知(可能为戏剧) |
|
||||
| 64 | 专栏 |
|
||||
| 256 | 音频 |
|
||||
| 512 | 番剧 |
|
||||
| 1024 | 具体定义未知 |
|
||||
| 2048 | H5活动动态 |
|
||||
| 2049 | 漫画分享 |
|
||||
| 4097 | PGC番剧 |
|
||||
| 4098 | 电影 |
|
||||
| 4099 | 电视剧 |
|
||||
| 4100 | 国创动漫 |
|
||||
| 4101 | 纪录片 |
|
||||
| 4200 | 直播 |
|
||||
| 4201 | 直播 |
|
||||
| 4300 | 收藏夹 |
|
||||
| 4302 | 付费课程 |
|
||||
| 4303 | 付费课程 |
|
||||
| 4308 | 直播 |
|
||||
| 4310 | 合集 |
|
||||
| 4311 | 具体定义未知 |
|
||||
| 1e3 | 具体定义未知 |
|
||||
| 1001 | 具体定义未知 |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -81,137 +49,106 @@ curl -G 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_deta
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例</summary>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "",
|
||||
"message": "",
|
||||
"data": {
|
||||
"card": {
|
||||
"desc": {
|
||||
"uid": 8047632,
|
||||
"type": 8,
|
||||
"rid": 204774719,
|
||||
"acl": 0,
|
||||
"view": 1182282,
|
||||
"repost": 405,
|
||||
"like": 31940,
|
||||
"is_liked": 0,
|
||||
"dynamic_id": 507420325550127049,
|
||||
"timestamp": 1616981401,
|
||||
"pre_dy_id": 0,
|
||||
"orig_dy_id": 0,
|
||||
"orig_type": 0,
|
||||
"user_profile": {
|
||||
"info": {
|
||||
"uid": 8047632,
|
||||
"uname": "哔哩哔哩弹幕网",
|
||||
"face": "https://i0.hdslb.com/bfs/face/f2cb8d9854156e3f26d4c6751d6eeb9c30e21847.jpg"
|
||||
},
|
||||
"card": {
|
||||
"official_verify": {
|
||||
"type": 1,
|
||||
"desc": "哔哩哔哩弹幕网官方账号 "
|
||||
}
|
||||
},
|
||||
"vip": {
|
||||
"vipType": 2,
|
||||
"vipDueDate": 1924531200000,
|
||||
"vipStatus": 1,
|
||||
"themeType": 0,
|
||||
"label": {
|
||||
"path": "",
|
||||
"text": "十年大会员",
|
||||
"label_theme": "ten_annual_vip",
|
||||
"text_color": "#FFFFFF",
|
||||
"bg_style": 1,
|
||||
"bg_color": "#FB7299",
|
||||
"border_color": ""
|
||||
},
|
||||
"avatar_subscript": 1,
|
||||
"nickname_color": "#FB7299",
|
||||
"role": 7,
|
||||
"avatar_subscript_url": "https://i0.hdslb.com/bfs/vip/icon_Certification_big_member_22_3x.png"
|
||||
},
|
||||
"pendant": {
|
||||
"pid": 3860,
|
||||
"name": "2021拜年纪",
|
||||
"image": "https://i0.hdslb.com/bfs/garb/item/7f8aa8ef1eed8c2dce0796801ddc82552a4164f9.png",
|
||||
"expire": 0,
|
||||
"image_enhance": "https://i0.hdslb.com/bfs/garb/item/7f8aa8ef1eed8c2dce0796801ddc82552a4164f9.png",
|
||||
"image_enhance_frame": ""
|
||||
},
|
||||
"rank": "10000",
|
||||
"sign": "哔哩哔哩 干杯 - ( ゜- ゜)つロ",
|
||||
"level_info": {
|
||||
"current_level": 6
|
||||
}
|
||||
},
|
||||
"uid_type": 1,
|
||||
"stype": 0,
|
||||
"r_type": 1,
|
||||
"inner_id": 0,
|
||||
"status": 1,
|
||||
"dynamic_id_str": "507420325550127049",
|
||||
"pre_dy_id_str": "0",
|
||||
"orig_dy_id_str": "0",
|
||||
"rid_str": "204774719",
|
||||
"bvid": "BV1Dh411S7sS"
|
||||
},
|
||||
"card": "{\"aid\":204774719,\"attribute\":0,\"cid\":316514988,\"copyright\":1,\"ctime\":1616939233,\"desc\":\"2021年3月29日9:30(北京时间),B站在中国香港港交所成功挂牌二次上市。欢迎来到bilibili这座乐园,和超过2亿中国年轻人一起表达自我、拥抱世界。\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":290,\"dynamic\":\"\",\"item\":{\"at_control\":\"\"},\"jump_url\":\"bilibili:\\/\\/video\\/204774719\\/?page=1&player_preload=null&player_width=1920&player_height=1080&player_rotate=0\",\"owner\":{\"face\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/face\\/f2cb8d9854156e3f26d4c6751d6eeb9c30e21847.jpg\",\"mid\":8047632,\"name\":\"哔哩哔哩弹幕网\"},\"pic\":\"https:\\/\\/i0.hdslb.com\\/bfs\\/archive\\/bcbcac6560268ef9cbe59fbf759ac28adf5e0432.jpg\",\"player_info\":null,\"pubdate\":1616981400,\"rights\":{\"autoplay\":1,\"bp\":0,\"download\":0,\"elec\":0,\"hd5\":1,\"is_cooperation\":0,\"movie\":0,\"no_background\":0,\"no_reprint\":1,\"pay\":0,\"ugc_pay\":0,\"ugc_pay_preview\":0},\"share_subtitle\":\"已观看24.0万次\",\"short_link\":\"https:\\/\\/b23.tv\\/BV1Dh411S7sS\",\"short_link_v2\":\"https:\\/\\/b23.tv\\/BV1Dh411S7sS\",\"stat\":{\"aid\":204774719,\"coin\":8661,\"danmaku\":744,\"dislike\":0,\"favorite\":6025,\"his_rank\":0,\"like\":31940,\"now_rank\":0,\"reply\":1619,\"share\":2134,\"view\":246956},\"state\":0,\"tid\":207,\"title\":\"欢迎来到2亿年轻人的乐园——bilibili 回香港上市啦!\",\"tname\":\"财经\",\"videos\":1}",
|
||||
"extend_json": "{\"\":{\"ogv\":{\"ogv_id\":0}},\"dispute\":{\"content\":\"\"},\"from\":{\"from\":\"\"},\"like_icon\":{\"action\":\"\",\"action_url\":\"\",\"end\":\"\",\"end_url\":\"\",\"start\":\"\",\"start_url\":\"\"},\"topic\":{\"is_attach_topic\":1}}",
|
||||
"display": {
|
||||
"topic_info": {
|
||||
"topic_details": [
|
||||
{
|
||||
"topic_id": 12895437,
|
||||
"topic_name": "二次上市",
|
||||
"is_activity": 0,
|
||||
"topic_link": ""
|
||||
},
|
||||
{
|
||||
"topic_id": 10967402,
|
||||
"topic_name": "香港上市",
|
||||
"is_activity": 1,
|
||||
"topic_link": "https://www.bilibili.com/blackboard/dynamic/102930"
|
||||
},
|
||||
{
|
||||
"topic_id": 114859,
|
||||
"topic_name": "B站",
|
||||
"is_activity": 0,
|
||||
"topic_link": ""
|
||||
},
|
||||
{
|
||||
"topic_id": 8312,
|
||||
"topic_name": "宣传片",
|
||||
"is_activity": 1,
|
||||
"topic_link": "https://www.bilibili.com/blackboard/dynamic/8795"
|
||||
},
|
||||
{
|
||||
"topic_id": 679,
|
||||
"topic_name": "BILIBILI",
|
||||
"is_activity": 0,
|
||||
"topic_link": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"usr_action_txt": "投稿了视频",
|
||||
"relation": {
|
||||
"status": 1,
|
||||
"is_follow": 0,
|
||||
"is_followed": 0
|
||||
},
|
||||
"show_tip": {
|
||||
"del_tip": "要删除动态吗?"
|
||||
},
|
||||
"cover_play_icon_url": "https://i0.hdslb.com/bfs/album/2269afa7897830b397797ebe5f032b899b405c67.png"
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"card": {
|
||||
"desc": {
|
||||
"uid": 8047632,
|
||||
"type": 8,
|
||||
"rid": 204774719,
|
||||
"acl": 0,
|
||||
"view": 0,
|
||||
"repost": 0,
|
||||
"comment": 0,
|
||||
"like": 0,
|
||||
"is_liked": 0,
|
||||
"dynamic_id": 507420325550127040,
|
||||
"timestamp": 1616981401,
|
||||
"pre_dy_id": 0,
|
||||
"orig_dy_id": 0,
|
||||
"orig_type": 0,
|
||||
"user_profile": {
|
||||
"info": {
|
||||
"uid": 8047632,
|
||||
"uname": "哔哩哔哩弹幕网",
|
||||
"face": "https://i0.hdslb.com/bfs/face/0c84b9f4ad546d3f20324809d45fc439a2a8ddab.jpg"
|
||||
},
|
||||
"card": {
|
||||
"official_verify": {
|
||||
"type": -1
|
||||
}
|
||||
},
|
||||
"vip": {
|
||||
"vipType": 2,
|
||||
"vipDueDate": 1924963200000,
|
||||
"dueRemark": "",
|
||||
"accessStatus": 0,
|
||||
"vipStatus": 1,
|
||||
"vipStatusWarn": "",
|
||||
"themeType": 0,
|
||||
"label": {
|
||||
"path": "http://i0.hdslb.com/bfs/vip/label_annual.png",
|
||||
"text": "十年大会员",
|
||||
"label_theme": "ten_annual_vip",
|
||||
"text_color": "#FFFFFF",
|
||||
"bg_style": 1,
|
||||
"bg_color": "#FB7299",
|
||||
"border_color": ""
|
||||
},
|
||||
"avatar_subscript": 1,
|
||||
"nickname_color": "#FB7299",
|
||||
"role": 7,
|
||||
"avatar_subscript_url": ""
|
||||
},
|
||||
"pendant": {
|
||||
"pid": 0,
|
||||
"name": "",
|
||||
"image": "",
|
||||
"expire": 0,
|
||||
"image_enhance": "",
|
||||
"image_enhance_frame": ""
|
||||
},
|
||||
"rank": "10000",
|
||||
"sign": "哔哩哔哩 干杯 ( ゜- ゜)つロ",
|
||||
"level_info": {
|
||||
"current_level": 6,
|
||||
"current_min": 0,
|
||||
"current_exp": 0,
|
||||
"next_exp": ""
|
||||
}
|
||||
},
|
||||
"result": 0,
|
||||
"_gt_": 0
|
||||
"spec_type": 0,
|
||||
"uid_type": 1,
|
||||
"stype": 0,
|
||||
"r_type": 1,
|
||||
"inner_id": 0,
|
||||
"status": 1,
|
||||
"dynamic_id_str": "507420325550127049",
|
||||
"pre_dy_id_str": "0",
|
||||
"orig_dy_id_str": "0",
|
||||
"rid_str": "204774719",
|
||||
"origin": null,
|
||||
"bvid": "BV1Dh411S7sS",
|
||||
"previous": null
|
||||
},
|
||||
"card": "{\"aid\":204774719,\"cid\":316514988,\"ctime\":1616981401,\"desc\":\"2021年3月29日9:30(北京时间),B站在中国香港港交所成功挂牌二次上市。欢迎来到bilibili这座乐园,和超过2亿中国年轻人一起表达自我、拥抱世界。\",\"dimension\":{\"height\":1080,\"rotate\":0,\"width\":1920},\"duration\":290,\"dynamic\":\"\",\"first_frame\":\"\",\"jump_url\":\"bilibili://video/204774719/?page=1\\u0026player_width=1920\\u0026player_height=1080\\u0026player_rotate=0\",\"owner\":{\"face\":\"https://i0.hdslb.com/bfs/face/0c84b9f4ad546d3f20324809d45fc439a2a8ddab.jpg\",\"mid\":8047632,\"name\":\"哔哩哔哩弹幕网\"},\"pic\":\"http://i0.hdslb.com/bfs/archive/bcbcac6560268ef9cbe59fbf759ac28adf5e0432.jpg\",\"pubdate\":1616981400,\"short_link_v2\":\"\",\"stat\":{\"aid\":204774719,\"coin\":9016,\"danmaku\":742,\"dislike\":0,\"favorite\":5463,\"like\":32802,\"reply\":1603,\"share\":2517,\"view\":278278},\"state\":0,\"tid\":207,\"title\":\"欢迎来到2亿年轻人的乐园——bilibili 回香港上市啦!\",\"tname\":\"财经商业\",\"videos\":1}",
|
||||
"extend_json": "{\"from\":{\"from\":\"\",\"emoji_type\":1},\"ctrl\":null,\"lott\":null}",
|
||||
"display": {
|
||||
"origin": null,
|
||||
"usr_action_txt": "投稿了视频",
|
||||
"relation": null,
|
||||
"live_info": null,
|
||||
"emoji_info": null,
|
||||
"highlight": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | -------- | ---------------------------- |
|
||||
| author | obj | UP主 | 参见[module_author对象](all.md#data对象---items数组中的对象---modules对象---module_author对象) |
|
||||
| author | obj | UP主 | 参考 [MODULE_TYPE_AUTHOR](../opus/features.md#module-type-author) |
|
||||
| cover | str | 封面URL | |
|
||||
| id_str | str | 动态id | |
|
||||
| pub_time | str | 发布时间 | 文字表述的相对时间 |
|
||||
|
||||
@ -4,112 +4,116 @@
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs
|
||||
|
||||
*请求方式:POST*
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
注意:非日常类型像素宽高必须大于420
|
||||
注意: 非日常类型像素宽高必须大于 420
|
||||
|
||||
**正文参数 (multipart/form-data):**
|
||||
**正文参数 (multipart/form-data):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ |
|
||||
| file_up | file | 需要上传的图片文件 | 必要 | 格式仅支持jpg png gif |
|
||||
| category | str | 图片类型 | 必要 | daily:日常(动态)<br />draw:绘画(画友)<br />cos:摄影(COSPLAY) |
|
||||
| biz | str | | | |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | --------------------- | ------ | ---- |
|
||||
| file_up | file | 需要上传的图片文件 | 必要 | 格式仅支持 `jpg` `png` `gif` |
|
||||
| category | string | 图片类型 | 不必要 | daily: 日常 (动态) (默认)<br />draw: 绘画 (画友)<br />cos: 摄影 (COSPLAY) |
|
||||
| biz | string | | 不必要 | `new_dyn` |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**json回复:**
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功 <br />-1:未添加图片<br />-2:参数错误<br />-3:图片尺寸过小<br />-4:账号未登录<br />-7:图片信息错误 |
|
||||
| message | str | 错误信息 | 默认为success |
|
||||
| data | obj | 信息本体 | 仅在正确时既`code=0`时为有效信息 |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />4100001: 参数错误<br />-101: 账号未登录 |
|
||||
| message | string | 错误信息 | 默认为 `0` |
|
||||
| data | object | 信息本体 | 成功时为有效信息 |
|
||||
| ttl | number | `1` | |
|
||||
|
||||
`data`对象:
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------ | ---- | -------------- | ---- |
|
||||
| image_url | str | 已上传图片url | |
|
||||
| image_width | num | 已上传图片宽度 | 像素 |
|
||||
| image_height | num | 已上传图片高度 | 像素 |
|
||||
| image_url | string | 已上传图片 URL | |
|
||||
| image_width | number | 已上传图片宽度 | 像素 |
|
||||
| image_height | number | 已上传图片高度 | 像素 |
|
||||
| img_size | number | 已上传图片大小 | k |
|
||||
|
||||
**示例:**
|
||||
**示例:**
|
||||
|
||||
上传了一张图片`test.png`类型为`日常`
|
||||
上传图片 `test.png` 类型为 `日常`
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs' \
|
||||
-F 'file_up=@test.png' \
|
||||
-F 'category=daily'
|
||||
-F 'category=daily' \
|
||||
-F 'csrf=xxxx' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code":0,
|
||||
"message":"success",
|
||||
"data":{
|
||||
"image_url":"http:\/\/i0.hdslb.com\/bfs\/album\/13f9523efe186a8066b2d72e80283cea2437eb62.png",
|
||||
"image_width":1225,
|
||||
"image_height":850
|
||||
}
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"image_url": "http://i0.hdslb.com/bfs/new_dyn/8ad5640045a114b62580614cb512bbc32095498218.png",
|
||||
"image_width": 73,
|
||||
"image_height": 71,
|
||||
"img_size": 6.261
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 创建投票
|
||||
|
||||
> https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote
|
||||
|
||||
*请求方式:POST*
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
注意: options最少两个,下标n从0开始
|
||||
注意: `options` 最少两个, 下标 `n` 从 `0` 开始
|
||||
|
||||
**正文参数 (multipart/form-data):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------------------------- | ---- | ------------------------ | ------ | -------------------------------------------------------- |
|
||||
| info[title] | str | 投票标题 | 必要 | |
|
||||
| info[desc] | str | 投票描述 | 非必要 | 可为空 |
|
||||
| info[type] | num | 投票类型 | 必要 | 0:文字投票 1:图片投票 |
|
||||
| info[choice_cnt] | num | 最多选几项 | 必要 | |
|
||||
| info[duration] | num | 投票持续秒数 | 必要 | 常用:<br/>三天:259200<br/>七天:604800<br/>三十天:2592000 |
|
||||
| info[options]\[ n ][desc] | str | 第n项选项文字内容 | 必要 | |
|
||||
| info[options]\[ n ][img_url] | str | 第n项选项投票图片 | 非必要 | |
|
||||
| csrf | str | CSRF Token(位于cookie) | 非必要 | 头次见非必要的csrf |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------------------------- | ---- | ---- | ------ | ---- |
|
||||
| info[title] | string | 投票标题 | 必要 | |
|
||||
| info[desc] | string | 投票描述 | 非必要 | 可为空 |
|
||||
| info[type] | number | 投票类型 | 必要 | 0: 文字投票<br />1: 图片投票 |
|
||||
| info[choice_cnt] | number | 最多选几项 | 必要 | |
|
||||
| info[duration] | number | 投票持续秒数 | 必要 | 常用:<br/>三天: 259200<br/>七天: 604800<br/>三十天: 2592000 |
|
||||
| info[options]\[ n ][desc] | string | 第 n 项选项文字内容 | 必要 | |
|
||||
| info[options]\[ n ][img_url] | strin | 第 n 项选项投票图片 | 非必要 ||
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
|
||||
|
||||
**json回复:**
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | -------------------------------- |
|
||||
| code | num | 返回值 | 0:成功 <br />5100001: 参数错误 |
|
||||
| msg | str | 错误信息 | 成功为空 |
|
||||
| message | str | 错误信息 | 跟上面那个一模一样 |
|
||||
| data | obj | 信息本体 | 仅在正确时既`code=0`时为有效信息 |
|
||||
| code | number | 返回值 | 0:成功 <br />5100001: 参数错误 |
|
||||
| msg | string | 错误信息 | 成功为空 |
|
||||
| message | string | 错误信息 | 跟上面那个一模一样 |
|
||||
| data | object | 信息本体 | 仅在正确时既`code=0`时为有效信息 |
|
||||
|
||||
`data`对象:
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------ | ---- | -------------- | ---- |
|
||||
| vote_id | num | 投票id | |
|
||||
| \_gt\_ | num | 0 | |
|
||||
| vote_id | number | 投票 id | |
|
||||
| \_gt\_ | number | 0 | |
|
||||
|
||||
**示例:**
|
||||
**示例:**
|
||||
|
||||
创建一个标题为`是否自愿开学`持续七天的纯文本投票
|
||||
创建一个标题为 `是否自愿开学` 持续七天的纯文本投票
|
||||
|
||||
```shell
|
||||
curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \
|
||||
@ -124,17 +128,17 @@ curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "",
|
||||
"message": "",
|
||||
"data": {
|
||||
"vote_id": 4947171,
|
||||
"_gt_": 0
|
||||
}
|
||||
"code": 0,
|
||||
"msg": "",
|
||||
"message": "",
|
||||
"data": {
|
||||
"vote_id": 4947171,
|
||||
"_gt_": 0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -144,83 +148,87 @@ curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \
|
||||
|
||||
> https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create
|
||||
|
||||
*请求方式:POST*
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式:Cookie (SESSDATA)
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**正文参数(multipart/form-data):**
|
||||
**正文参数 (multipart/form-data):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| dynamic_id | num | 0 | 必要 | |
|
||||
| type | num | 4 | 必要 | |
|
||||
| rid | num | 0 | 必要 | |
|
||||
| content | str | 动态内容 | 必要 | |
|
||||
| up_choose_comment | num | 0 | 非必要 | |
|
||||
| up_close_comment | num | 0 | 非必要 | |
|
||||
| dynamic_id | number | 0 | 必要 | |
|
||||
| type | number | 4 | 必要 | |
|
||||
| rid | number | 0 | 必要 | |
|
||||
| content | string | 动态内容 | 必要 | |
|
||||
| up_choose_comment | number | 0 | 非必要 | |
|
||||
| up_close_comment | number | 0 | 非必要 | |
|
||||
| extension | json | 位置信息 | 非必要 | |
|
||||
| at_uids | str | 动态中 at 到的用户的 uid | 非必要 | 使用逗号`,`分隔 |
|
||||
| at_uids | string | 动态中 at 到的用户的 uid | 非必要 | 使用逗号`,`分隔 |
|
||||
| ctrl | array | 特殊格式控制 (如 at 别人时的蓝字体和链接) | 非必要 | |
|
||||
| csrf_token | str | CSRF Token (位于 cookie) | 非必要 | |
|
||||
| csrf | str | CSRF Token (位于 cookie) | 非必要 | |
|
||||
| csrf_token | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
|
||||
|
||||
extension参数值:
|
||||
```json
|
||||
`extension` 参数值:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"emoji_type": 1,
|
||||
"lbs_cfg": {
|
||||
"title": "**市",
|
||||
"poi": "156330200",
|
||||
"show_title": "**市",
|
||||
"type": 1,
|
||||
"address": "**市",
|
||||
"location": {
|
||||
"lng":显示的经度数值,
|
||||
"lat":显示的纬度数值
|
||||
},
|
||||
"distance": 0
|
||||
"emoji_type": 1,
|
||||
"lbs_cfg": {
|
||||
"title": "**市",
|
||||
"poi": "156330200",
|
||||
"show_title": "**市",
|
||||
"type": 1,
|
||||
"address": "**市",
|
||||
"location": {
|
||||
"lng": //显示的经度数值,
|
||||
"lat": //显示的纬度数值
|
||||
},
|
||||
"flag_cfg": {},
|
||||
"from_cfg": {
|
||||
"location": {
|
||||
"lat":用户实际纬度数值,
|
||||
"lng":用户实际经度数值
|
||||
}
|
||||
"distance": 0
|
||||
},
|
||||
"flag_cfg": {},
|
||||
"from_cfg": {
|
||||
"location": {
|
||||
"lat": //用户实际纬度数值,
|
||||
"lng": //用户实际经度数值
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ctrl单个对象(注意用的时候是数组出现):
|
||||
| 参数名 | 类型 | 内容 |
|
||||
| --- | --- | --- |
|
||||
| location | num | 从全文第几个字开始变蓝 |
|
||||
| type | num | 1 (可能1代表链接到用户uid) |
|
||||
| length | num | 这一段变蓝多少字 |
|
||||
| data | str | 链接目标(被at人的uid) |
|
||||
`ctrl` 数组中的对象:
|
||||
|
||||
**json回复:**
|
||||
| 参数名 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| location | number | 从全文第几个字开始变蓝 | |
|
||||
| type | number | 1 | 可能 1 代表链接到用户 mid |
|
||||
| length | number | 这一段变蓝多少字 | |
|
||||
| data | string | 链接目标 | 被 at 人的 mid |
|
||||
|
||||
根对象:
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | 成功为空 |
|
||||
| data | obj | 数据本体 | |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| message | string | 错误信息 | 成功为空 |
|
||||
| data | object | 数据本体 | |
|
||||
|
||||
`data`对象:
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| result | num | 0 | |
|
||||
| errmsg | str | 像是服务器日志一样的东西 | |
|
||||
| dynamic_id | num | 动态 id | |
|
||||
| create_result | num | 1 | |
|
||||
| dynamic_id_str | str | 动态 id | 字符串格式 |
|
||||
| \_gt_ | num | 0 | |
|
||||
| result | number | 0 | |
|
||||
| errmsg | string | 像是服务器日志一样的东西 | |
|
||||
| dynamic_id | number | 动态 id | |
|
||||
| create_result | number | 1 | |
|
||||
| dynamic_id_str | string | 动态 id | 字符串格式 |
|
||||
| \_gt_ | number | 0 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例(纯文本)</summary>
|
||||
<summary>纯文本:</summary>
|
||||
|
||||
```bash
|
||||
curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
|
||||
@ -252,13 +260,12 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
|
||||
"_gt_": 0
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>查看示例(at两个人)</summary>
|
||||
<summary>at 两个人:</summary>
|
||||
|
||||
动态正文
|
||||
```
|
||||
@ -297,454 +304,133 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
## 发表复杂动态
|
||||
|
||||
|
||||
|
||||
> https://api.bilibili.com/x/dynamic/feed/create/dyn
|
||||
|
||||
*请求方式:POST*
|
||||
*请求方法:POST*
|
||||
|
||||
认证方式:Cookie (SESSDATA)
|
||||
|
||||
**URL参数**
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------------------ | ------ | ---- |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**正文参数(application/json):**
|
||||
**正文参数 (application/json):**
|
||||
|
||||
根对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| dyn_req | obj | 请求本体 | 必要 | |
|
||||
| dyn_req | object | 请求本体 | 必要 | |
|
||||
|
||||
`dyn_req`对象:
|
||||
`dyn_req` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| attach_card | obj | 特殊卡片 | 非必要 | 如直播预约等 |
|
||||
| content | obj | 动态内容 | 必要 | |
|
||||
| meta | obj | 元信息 | 非必要 | 大概是来源信息 |
|
||||
| scene | num | 动态类型? | 必要 | 纯文本: 1<br/>带图: 2 |
|
||||
| pics | array | 携带图片 | 非必要 | 最多九个 |
|
||||
| topic | obj | 话题 | 非必要 | |
|
||||
| option | obj | 互动设置 | 非必要 | 没有此项时默认开启评论区 |
|
||||
| upload_id | str | 客户端生成的 | 非必要 | 内容为`发送人mid`+`当前秒级时间戳`+`四位随机整数`,中间用`_`隔开 |
|
||||
| attach_card | object | 特殊卡片 | 非必要 | 如直播预约等 |
|
||||
| content | object | 动态内容 | 非必要 | |
|
||||
| meta | object | 元信息 | 非必要 | 大概是来源信息 |
|
||||
| scene | number | 动态类型? | 必要 | 纯文本: 1 (实际同 2)<br/>带图: 2<br />4: 转发 |
|
||||
| pics | object[] | 携带图片 | 非必要 | 最多九个 |
|
||||
| topic | object | 话题 | 非必要 | |
|
||||
| option | object | 互动设置 | 非必要 | 没有此项时默认开启评论区 |
|
||||
| upload_id | string | 客户端生成的 | 非必要 | 内容为`发送人mid`+`当前秒级时间戳`+`四位随机整数`,中间用`_`隔开 |
|
||||
|
||||
`dyn_req`对象的`meta`对象,大概是来源信息,很简单就不详细列表了:
|
||||
`dyn_req.meta` 对象:
|
||||
|
||||
大概是来源信息, 示例见下
|
||||
|
||||
```json
|
||||
{
|
||||
"app_meta": {
|
||||
"from": "create.dynamic.web",
|
||||
"mobi_app": "web"
|
||||
}
|
||||
"app_meta": {
|
||||
"from": "create.dynamic.web",
|
||||
"mobi_app": "web"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`dyn_req`对象的`content`对象:
|
||||
`dyn_req.content` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ----- | -------------------- | ------ | ---- |
|
||||
| contents | array | 动态组件对象有序数组 | 必要 | |
|
||||
| contents | object[] | 动态组件对象有序数组 | 必要 | |
|
||||
|
||||
`contents`数组内每一个动态组件对象:
|
||||
`dyn_req.content.contents[]` 对象:
|
||||
|
||||
```json
|
||||
{
|
||||
"raw_text": "ui上直接显示的字符串",
|
||||
"type": 组件类型id,
|
||||
"biz_id": "动态组件的内容id转字符串,比如投票id"
|
||||
}
|
||||
```
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ---- | ------ | ---- |
|
||||
| raw_text | string | 文本 | 必要 | |
|
||||
| type | number | 组件类型 id | 不必要 | 参见 [富文本节点类型](../opus/rich_text_nodes.md) |
|
||||
| biz_id | string | 动态组件的内容id转字符串 | 不必要 | 参见 [富文本节点类型](../opus/rich_text_nodes.md) |
|
||||
|
||||
动态组件类型:
|
||||
|
||||
| 组件名 | type | `biz_id`含义 |
|
||||
| ------ | ---- | ------------ |
|
||||
| 纯文本 | 1 | 空 |
|
||||
| AT人 | 2 | AT人的mid |
|
||||
| 表情 | 9 | 空 |
|
||||
| 投票 | 4 | 投票id |
|
||||
|
||||
`dyn_req`对象的`topic`对象
|
||||
`dyn_req.topic` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------- | ---- | ------- | ------ | -------------------------- |
|
||||
| from_source | str | 来源id? | 必要 | 网页版直接选为dyn.web.list |
|
||||
| from_topic_id | num | 0 | 必要 | |
|
||||
| id | num | 话题id | 必要 | |
|
||||
| name | str | 话题名 | 必要 | |
|
||||
| from_source | string | 来源id? | 不必要 | 网页版直接选为 `dyn.web.list` |
|
||||
| from_topic_id | number | 0 | 不必要 | |
|
||||
| id | number | 话题id | 必要 | |
|
||||
| name | string | 话题名 | 不必要 | |
|
||||
|
||||
`dyn_req`对象的`pics`数组的每一项对象:
|
||||
`dyn_req.pics[]` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ----- | ---------------- | ------ | ------------------------------------------------------------ |
|
||||
| img_height | num | 图片高 | 非必要 | 这个东西会直接原封不动传到前端,比如你都写0在网页上就看不见了,但是还会加载 |
|
||||
| img_width | num | 图片宽 | 非必要 | 同上 |
|
||||
| img_height | number | 图高 | 非必要 | 这个东西会直接原封不动传到前端,比如你都写 0 在网页上就看不见了, 但是还会加载 |
|
||||
| img_width | number | 图宽 | 非必要 | 同上 |
|
||||
| img_size | float | 图片文件大小(KB) | 非必要 | |
|
||||
| img_src | str | 图片bfs链接 | 必要 | |
|
||||
| img_src | string | 图片 URL | 必要 | |
|
||||
|
||||
`dyn_req`对象的`option`对象:
|
||||
`dyn_req.option` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ----------------- | ---- | ------------ | ------ | --------------- |
|
||||
| up_choose_comment | num | 精选评论flag | 非必要 | 1: 开启 |
|
||||
| close_comment | num | 关闭评论flag | 非必要 | 同上,与上二选一 |
|
||||
| up_choose_comment | number | 精选评论flag | 非必要 | 1: 开启 |
|
||||
| close_comment | number | 关闭评论flag | 非必要 | 同上, 上二选一 |
|
||||
|
||||
`dyn_req`对象的`topic`对象:
|
||||
`dyn_req.topic` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------- | ---- | ------------ | ------ | -------- |
|
||||
| from_source | str | dyn.web.list | 非必要 | 作用不明 |
|
||||
| from_topic_id | num | 0 | 非必要 | 作用不明 |
|
||||
| id | num | 话题id | 必要 | |
|
||||
| name | str | 话题名 | 非必要 | |
|
||||
| from_source | string | `dyn.web.list` | 非必要 | 作用不明 |
|
||||
| from_topic_id | number | 0 | 非必要 | 作用不明 |
|
||||
| id | number | 话题id | 必要 | |
|
||||
| name | string | 话题名 | 非必要 | |
|
||||
|
||||
**json回复:**
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />4126021:你没有绑定手机,无法发布动态 |
|
||||
| message | str | 错误信息 | 成功为空 |
|
||||
| data | obj | 数据本体 | |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />4126021: 你没有绑定手机,无法发布动态 |
|
||||
| message | string | 错误信息 | 成功为空 |
|
||||
| data | object | 数据本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
当Cookie中含有任意的`buvid3`时,比较干净简洁:
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| result | num | 0 | |
|
||||
| message | str | 错误信息 | |
|
||||
| dyn_id | num | 动态 id | |
|
||||
| dyn_id_str | str | 动态 id | 字符串格式 |
|
||||
| dyn_type | num | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 get_dynamic_detail.md |
|
||||
| \_gt_ | num | 0 | |
|
||||
| result | number | 0 | |
|
||||
| message | string | 错误信息 | |
|
||||
| dyn_id | number | 动态 id | |
|
||||
| dyn_id_str | string | 动态 id | 字符串格式 |
|
||||
| dyn_type | number | 动态类型 | 1: 转发<br />2: 图文 |
|
||||
| share_window | object | 分享提示 | 当 Cookie 不存在 `buvid3` 时存在 |
|
||||
|
||||
**警告:下面的内容又乱又杂,而且绝大多数情况用不到,我建议大家用这个接口的时候随便带一个buvid3的cookie屏蔽掉它们算了.**
|
||||
`data.share_window` 对象:
|
||||
|
||||
当Cookie中不含有`buvid3`时,较上述字段多出一个`fake_card`对象,大概是移动端用的卡片:
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| main_title | string | `分享后会获得更多曝光,快去分享吧` | |
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | ---- | ------------ |
|
||||
| fake_card | obj | 0 | 又多又乱又杂 |
|
||||
|
||||
`fake_card`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ----- | ------------ | ------------------------------------------------------------ |
|
||||
| card_type | num | 卡片类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 [获取特定动态卡片信息](get_dynamic_detail.md) |
|
||||
| modules | array | 卡片组件列表 | |
|
||||
| extend | obj | 其他杂项信息 | |
|
||||
|
||||
`fake_card`对象的`modules`数组中每一项对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ---- | -------- | -------------------------------------------- |
|
||||
| module_type | num | 组件类型 | 1: 作者信息<br/>3: 动态内容<br/>其他有待发现 |
|
||||
| ModuleItem | obj | 卡片组件 | |
|
||||
|
||||
`ModuleItem`对象与`module_type`对应关系:
|
||||
|
||||
| module_type | `ModuleItem`含有的唯一一个key | 备注 |
|
||||
| ----------- | ----------------------------- | ----------------------- |
|
||||
| 1 | module_author | 作者信息 |
|
||||
| 3 | module_desc | 动态内容 |
|
||||
| 4 | module_dynamic | 携带图片等 |
|
||||
| 9 | module_stat | 不明,貌似一直都是空对象 |
|
||||
|
||||
`ModuleItem`内`module_author`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------------- | ---- | -------------------------------- | ------------------------------------------------ |
|
||||
| mid | num | 发送者mid | |
|
||||
| ptime_label_text | str | 发送时间(人类可读形式)肯定是刚刚 | |
|
||||
| author | obj | 作者详细信息 | 请参考[用户基本信息](../user/info.md),不再赘述.. |
|
||||
|
||||
`ModuleItem`内`module_desc`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ----- | -------------- | ---- |
|
||||
| desc | array | 动态组件列表 | |
|
||||
| text | str | 动态纯文本形式 | |
|
||||
|
||||
`module_desc`的`desc`数组:
|
||||
|
||||
| 项 | 类型 | 备注 |
|
||||
| ---- | ---- | ------------------- |
|
||||
| 0 | obj | 第0个动态组件 |
|
||||
| n | obj | 第n+1个动态组件组件 |
|
||||
| ... | obj | ... |
|
||||
|
||||
`desc`数组的每一项:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------------------------------------------ | ----------------------------- |
|
||||
| text | str | 该组件对外显示的纯文本 | 对应请求时该组件的`raw_text` |
|
||||
| type | num | 组件类型 | 对应请求时该组件的`type` |
|
||||
| rid | str | 组件内容的id,例如@人的mid | 根据需要出现,比如纯文本就没有 |
|
||||
| uri | str | b站自定义`bilibili://`协议链接,用于@人点击跳转等 | 根据需要出现,比如纯文本就没有 |
|
||||
|
||||
`ModuleItem`内`module_dynamic`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ---- | ------------------ | -------------------- |
|
||||
| type | num | 不知道是什么的类型 | 5: 图片<br/>其他未知 |
|
||||
| ModuleItem | obj | 组件? | 怎么还有套娃的? |
|
||||
|
||||
当`module_dynamic`的`type`字段为`5`时:
|
||||
|
||||
`module_dynamic`的`ModuleItem`有唯一key`dyn_draw`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ----- | -------------------------------- | ------------------------------------------------ |
|
||||
| items | array | 图片数组 | 与请求部分`dyn_req.pics`一致 |
|
||||
| id | num | 这条图片动态所对应的相簿`doc_id` | 可以参考本文档的[相簿基本信息](../album/info.md) |
|
||||
|
||||
`fake_card`的`extend`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------- | ----- | ---------------------------------------------- | ---------------------------------------- |
|
||||
| dyn_id_str | str | 动态id字符串形式 | |
|
||||
| business_id | str | 未知 | 根据情况出现 |
|
||||
| orif_img_url | str | 封面图url(如果有) | |
|
||||
| share_type | str | 一般为3 | 未知 |
|
||||
| share_scene | str | 一般为dynamic | 未知 |
|
||||
| is_fast_share | bool | 一般为true | 未知 |
|
||||
| dyn_type | num | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他待探索 |
|
||||
| uid | num | 发送者mid | |
|
||||
| card_url | str | b站自定义`bilibili://`协议链接,指向该条动态 | |
|
||||
| desc | array | 动态组件列表,重复了一遍`module_desc`的desc数组 | |
|
||||
| reply | obj | 评论区相关 | |
|
||||
|
||||
`extend`的`reply`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------ | ----- | ------------------------------------------------- | ---- |
|
||||
| uri | str | b站自定义`bilibili://`协议链接,指向该条动态评论区 | |
|
||||
| params | array | 未知 | |
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例(不带`buvid3`)</summary>
|
||||
|
||||
```bash
|
||||
curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \
|
||||
-b 'buvid3=114514;SESSDATA=xxxxx;' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
"dyn_req": {
|
||||
"content": {
|
||||
"contents": [
|
||||
{
|
||||
"raw_text": "Test",
|
||||
"type": 1,
|
||||
"biz_id": ""
|
||||
},
|
||||
{
|
||||
"raw_text": "礼堂丁真,鉴定为一眼丁真",
|
||||
"type": 2,
|
||||
"biz_id": "1463028352"
|
||||
}
|
||||
]
|
||||
},
|
||||
"pics": [
|
||||
{
|
||||
"img_src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png",
|
||||
"img_width": 1368,
|
||||
"img_height": 1500,
|
||||
"img_size": 662.6005859375
|
||||
},
|
||||
{
|
||||
"img_src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png",
|
||||
"img_width": 1368,
|
||||
"img_height": 1500,
|
||||
"img_size": 662.6005859375
|
||||
}
|
||||
],
|
||||
"option": {
|
||||
"close_comment": 1
|
||||
},
|
||||
"scene": 2
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
响应:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"dyn_id": 755402937023332386,
|
||||
"dyn_id_str": "755402937023332386",
|
||||
"dyn_type": 2,
|
||||
"dyn_rid": 221621929,
|
||||
"fake_card": {
|
||||
"card_type": 7,
|
||||
"modules": [
|
||||
{
|
||||
"module_type": 1,
|
||||
"ModuleItem": {
|
||||
"module_author": {
|
||||
"mid": 470310172,
|
||||
"ptime_label_text": "刚刚",
|
||||
"author": {
|
||||
"mid": 470310172,
|
||||
"name": "I_Min",
|
||||
"face": "https://i1.hdslb.com/bfs/face/d36e9dc2d14b545a055980a2f3c1f2d5621646c6.png",
|
||||
"official": {
|
||||
"type": -1
|
||||
},
|
||||
"vip": {
|
||||
"Type": 1,
|
||||
"due_date": 1673366400000,
|
||||
"label": {}
|
||||
},
|
||||
"uri": "bilibili://space/470310172?defaultTab=dynamic",
|
||||
"pendant": {},
|
||||
"nameplate": {
|
||||
"nid": 3,
|
||||
"name": "白银殿堂",
|
||||
"image": "https://i1.hdslb.com/bfs/face/f6a31275029365ae5dc710006585ddcf1139bde1.png",
|
||||
"image_small": "https://i0.hdslb.com/bfs/face/b09cdb4c119c467cf2d15db5263b4f539fa6e30b.png",
|
||||
"level": "高级勋章",
|
||||
"condition": "单个自制视频总播放数>=10万"
|
||||
}
|
||||
},
|
||||
"decorate_card": {
|
||||
"id": 984,
|
||||
"card_url": "https://i0.hdslb.com/bfs/vip/e42569d2f91a17346cdb991c7c34d3bbc677d4ef.png",
|
||||
"jump_url": "https://www.bilibili.com/h5/mall/equity-link/home?navhide=1&item_id=984&part=card&f_source=garb&from=post&isdiy=0",
|
||||
"fan": {
|
||||
"number_str": "000000"
|
||||
}
|
||||
},
|
||||
"tp_list": [
|
||||
{
|
||||
"type": 3,
|
||||
"Item": {
|
||||
"share": {
|
||||
"icon": "http://i0.hdslb.com/bfs/feed-admin/ee5902a63bbe4a0d78646d11036b062ea60573f6.png",
|
||||
"title": "分享"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": 7,
|
||||
"Item": {
|
||||
"default": {
|
||||
"icon": "http://i0.hdslb.com/bfs/feed-admin/9163a7b29964cb84cb5fc35e4f7b899151cf2afc.png",
|
||||
"title": "删除"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module_type": 3,
|
||||
"ModuleItem": {
|
||||
"module_desc": {
|
||||
"desc": [
|
||||
{
|
||||
"text": "Test",
|
||||
"type": 1
|
||||
},
|
||||
{
|
||||
"text": "礼堂丁真,鉴定为一眼丁真",
|
||||
"type": 2,
|
||||
"uri": "bilibili://space/1463028352?defaultTab=dynamic",
|
||||
"rid": "1463028352"
|
||||
}
|
||||
],
|
||||
"text": "Test礼堂丁真,鉴定为一眼丁真"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module_type": 4,
|
||||
"ModuleItem": {
|
||||
"module_dynamic": {
|
||||
"type": 5,
|
||||
"ModuleItem": {
|
||||
"dyn_draw": {
|
||||
"items": [
|
||||
{
|
||||
"src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png",
|
||||
"width": 1368,
|
||||
"height": 1500,
|
||||
"size": 662.6006
|
||||
},
|
||||
{
|
||||
"src": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png",
|
||||
"width": 1368,
|
||||
"height": 1500,
|
||||
"size": 662.6006
|
||||
}
|
||||
],
|
||||
"id": 221621929
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module_type": 9,
|
||||
"ModuleItem": {
|
||||
"module_stat": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"extend": {
|
||||
"dyn_id_str": "755402937023332386",
|
||||
"business_id": "221621929",
|
||||
"orig_img_url": "http://i0.hdslb.com/bfs/new_dyn/322acd0fa92cfa59c0ad70e95ab95476470310172.png",
|
||||
"desc": [
|
||||
{
|
||||
"text": "Test",
|
||||
"type": 1
|
||||
},
|
||||
{
|
||||
"text": "礼堂丁真,鉴定为一眼丁真",
|
||||
"type": 2,
|
||||
"uri": "bilibili://space/1463028352?defaultTab=dynamic",
|
||||
"rid": "1463028352"
|
||||
}
|
||||
],
|
||||
"share_type": "3",
|
||||
"share_scene": "dynamic",
|
||||
"is_fast_share": true,
|
||||
"dyn_type": 2,
|
||||
"uid": 470310172,
|
||||
"card_url": "bilibili://following/detail/755402937023332386?cardType=2&rid=221621929",
|
||||
"reply": {
|
||||
"uri": "bilibili://following/detail/755402937023332386?cardType=2&rid=221621929",
|
||||
"params": [
|
||||
{
|
||||
"key": "comment_on",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>查看示例(带`buvid3`)</summary>
|
||||
<summary>Cookie 带 `buvid3`:</summary>
|
||||
|
||||
动态正文
|
||||
```
|
||||
@ -817,35 +503,33 @@ curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
## 立即发布定时动态
|
||||
|
||||
> https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/publish_now
|
||||
|
||||
*请求方式:POST*
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
**正文参数 (application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | ------------------------ | ------ | ---- |
|
||||
| draft_id | file | 定时动态(草稿)id | 必要 | |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| csrf | string | CSRF Token(即 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**json回复:**
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------ |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| data | obj | 信息本体 | 正常为空对象 |
|
||||
| message | str | 错误消息 | 正常为"0" |
|
||||
| ttl | num | 1 | 不明 |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| data | object | 信息本体 | 正常为空对象 |
|
||||
| message | string | 错误消息 | 正常为 `0` |
|
||||
| ttl | number | 1 | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
@ -861,12 +545,11 @@ curl -X POST 'https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/publish
|
||||
|
||||
```json
|
||||
{
|
||||
"code":0,
|
||||
"message":"0",
|
||||
"ttl":1,
|
||||
"data":{}
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -106,7 +106,7 @@ curl 'https://passport.bilibili.com/web/generic/country/list'
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 |
|
||||
| tel | num | 手机号码 | 必要 | |
|
||||
| login_session_id | str | 登录标识 | 必要 | uuid去掉'-'后得到
|
||||
| recaptcha_token | str | 登录 API token | 必要 | 在[申请 captcha 验证码](readme.md#申请captcha验证码)接口处获取 |
|
||||
@ -199,7 +199,7 @@ static buvid() : string {
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 |
|
||||
| tel | num | 手机号码 | 必要 | |
|
||||
| source | str | 登录来源 | 必要 | `main_web`:独立登录页<br />`main_mini`:小窗登录 |
|
||||
| token | str | 登录 API token | 必要 | 在[申请 captcha 验证码](readme.md#申请captcha验证码)接口处获取 |
|
||||
@ -267,11 +267,11 @@ curl 'https://passport.bilibili.com/x/passport-login/web/sms/send' \
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 |
|
||||
| tel | num | 手机号码 | 必要 | |
|
||||
| login_session_id | str | 登录标识 | 必要 | 必须与上述login_session_id保持一致
|
||||
| code | num | 短信验证码 | 必要 | timeout 为 5min |
|
||||
| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码(web端))请求成功后返回 |
|
||||
| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码-web端)请求成功后返回 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -372,11 +372,11 @@ X-Cache-Webcdn: BYPASS from jd-sxhz-dx-w-01
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码(web端))获取 |
|
||||
| cid | num | 国际冠字码 | 必要 | 可以从[获取国际冠字码](#获取国际冠字码-web端)获取 |
|
||||
| tel | num | 手机号码 | 必要 | |
|
||||
| code | num | 短信验证码 | 必要 | timeout 为 5min |
|
||||
| source | str | 登录来源 | 必要 | `main_web`:独立登录页<br />`main_mini`:小窗登录 |
|
||||
| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码(web端))请求成功后返回 |
|
||||
| captcha_key | str | 短信登录 token | 必要 | 从[上述API](#发送短信验证码-web端)请求成功后返回 |
|
||||
| go_url | str | 跳转url | 非必要 | 默认为 https://www.bilibili.com |
|
||||
| keep | bool | 是否记住登录 | 非必要 | `true`:记住登录<br />`false`:不记住登录 |
|
||||
|
||||
|
||||
54
docs/misc/mathjax.md
Normal file
54
docs/misc/mathjax.md
Normal file
@ -0,0 +1,54 @@
|
||||
# 表达式渲染
|
||||
|
||||
## LaTeX
|
||||
|
||||
> https://api.bilibili.com/x/web-frontend/mathjax/tex
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
暂未发现对跨源使用 `<img>` 标签使用该接口的限制
|
||||
|
||||
<!-- #1302 -->
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ------ | ---- | ------ | ----- |
|
||||
| formula | string | 公式 | 非必要 | LaTeX |
|
||||
|
||||
**SVG 回复:**
|
||||
|
||||
一个完整的 SVG (image/svg+xml) 文件, 可直接用于 HTML `<img>` 或 Markdown `![]()`
|
||||
|
||||
**示例:**
|
||||
|
||||
```markdown
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
+%2B+3H2(g)+<=>[\text{高温、高压、催化剂}]+2NH3(g)})
|
||||
|
||||

|
||||
|
||||

|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看渲染结果:</summary>
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
+%2B+3H2(g)+<=>[\text{高温、高压、催化剂}]+2NH3(g)})
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
</details>
|
||||
@ -1,6 +1,6 @@
|
||||
# 图片格式化
|
||||
|
||||
已知 `*.hdslb.com` `archive.biliimg.com` 等域名作用等效, 对于请求头 `Referer` 要求留空或在 `.bilibili.com` 等 B 站域名下 <!--(所以 B 站图床 img 标签要加上 `referrerpolicy="no-referrer"`)-->
|
||||
已知 `*.hdslb.com` `*.biliimg.com` 等域名作用等效, 对于请求头 `Referer` 要求留空或在 `.bilibili.com` 等 B 站域名下 <!--(所以 B 站图床 img 标签要加上 `referrerpolicy="no-referrer"`)-->
|
||||
|
||||
对于以上域名的 `/bfs/` 下的图片文件都可以使用以下可选格式化参数
|
||||
|
||||
@ -65,7 +65,7 @@ https://i1.hdslb.com/bfs/archive/e5fff1472bad1c0c6bcb3004205f9be23b58ffc0.jpg@1q
|
||||
|
||||
当图片格式化输出格式为`avg_color`时
|
||||
|
||||
> \*.hdslb.com/bfs/\*/\*.*@\*.avg_color
|
||||
> /bfs/\*/\*.*@\*.avg_color
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
|
||||
2715
docs/opus/detail.md
Normal file
2715
docs/opus/detail.md
Normal file
File diff suppressed because it is too large
Load Diff
1295
docs/opus/features.md
Normal file
1295
docs/opus/features.md
Normal file
File diff suppressed because it is too large
Load Diff
422
docs/opus/rich_text_nodes.md
Normal file
422
docs/opus/rich_text_nodes.md
Normal file
@ -0,0 +1,422 @@
|
||||
# 富文本节点
|
||||
|
||||
补充: 已知动态与图文接口获取结果的富文本节点与发送时的 `type` 等有关
|
||||
|
||||
## 富文本节点类型
|
||||
|
||||
| 类型 | 说明 | type | biz_id | 示例 |
|
||||
| ---- | ---- | ---- | ------ | ---- |
|
||||
| RICH_TEXT_NODE_TYPE_NONE | | | | |
|
||||
| RICH_TEXT_NODE_TYPE_TEXT | 文字节点 | 1 | 空 | [106514206257210983](https://t.bilibili.com/106514206257210983) |
|
||||
| RICH_TEXT_NODE_TYPE_AT | @用户 | 2 | 用户 mid (UID) | [721296515797090324](https://t.bilibili.com/721296515797090324) |
|
||||
| RICH_TEXT_NODE_TYPE_LOTTERY | 互动抽奖 | 3 | 抽奖 id | [720907383182721040](https://t.bilibili.com/720907383182721040) |
|
||||
| RICH_TEXT_NODE_TYPE_VOTE | 投票 | 4 | 投票 id | [721203899129659408](https://t.bilibili.com/721203899129659408) |
|
||||
| RICH_TEXT_NODE_TYPE_TOPIC | 话题 | | | [721188862459641879](https://t.bilibili.com/721188862459641879) |
|
||||
| RICH_TEXT_NODE_TYPE_GOODS | 商品链接 | | | [721282703208480790](https://t.bilibili.com/721282703208480790) |
|
||||
| RICH_TEXT_NODE_TYPE_BV | 视频链接 | | | [716752002311258165](https://t.bilibili.com/716752002311258165) |
|
||||
| RICH_TEXT_NODE_TYPE_AV | | | | |
|
||||
| RICH_TEXT_NODE_TYPE_EMOJI | 表情 | 9 | 空 | [1069394178937454662](https://t.bilibili.com/1069394178937454662) |
|
||||
| RICH_TEXT_NODE_TYPE_CV | 专栏 | | | |
|
||||
| RICH_TEXT_NODE_TYPE_VIEW_PICTURE | 查看图片 | | | [1069394178937454662](https://t.bilibili.com/1069394178937454662) |
|
||||
| RICH_TEXT_NODE_TYPE_WEB | 网页链接 | | | [716751027361022055](https://t.bilibili.com/716751027361022055) |
|
||||
| RICH_TEXT_NODE_TYPE_TAOBAO | | | | |
|
||||
| RICH_TEXT_NODE_TYPE_MAIL | 邮箱地址 | | | ~~721314095109767220~~ |
|
||||
| RICH_TEXT_NODE_TYPE_OGV_SEASON | 剧集信息 | | | ~~721282046064853080~~ |
|
||||
| RICH_TEXT_NODE_TYPE_OGV_EP | | | | |
|
||||
|
||||
## 富文本节点对象
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_TEXT
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 内容相同 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_TEXT` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"orig_text": "【洛天依·共鸣宝石收藏家】设定也分享给大家~!",
|
||||
"text": "【洛天依·共鸣宝石收藏家】设定也分享给大家~!",
|
||||
"type": "RICH_TEXT_NODE_TYPE_TEXT"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-05-31T06:17:54.444957389Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_AT
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| rid | string | 用户 mid (UID) | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 内容相同 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_AT` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"orig_text": "@wuziqian211 ",
|
||||
"rid": "425503913",
|
||||
"text": "@wuziqian211 ",
|
||||
"type": "RICH_TEXT_NODE_TYPE_AT"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-05-31T06:30:26.964891633Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_LOTTERY
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| orig_text | string | 原始文本 | 一般为 `互动抽奖` |
|
||||
| rid | string | 抽奖 id | |
|
||||
| text | string | 显示文本 | 一般为 `互动抽奖` |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_LOTTERY` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"orig_text": "互动抽奖",
|
||||
"rid": "116067",
|
||||
"text": "互动抽奖",
|
||||
"type": "RICH_TEXT_NODE_TYPE_LOTTERY"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-05-31T06:36:33.119611702Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_VOTE
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| rid | string | 抽奖 id | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 一致 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_VOTE` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"orig_text": "次の文の ★ に入る最もよいものを一つ選びなさい。",
|
||||
"rid": "3925886",
|
||||
"text": "次の文の ★ に入る最もよいものを一つ選びなさい。",
|
||||
"type": "RICH_TEXT_NODE_TYPE_VOTE"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-06-21T09:22:09.663974022Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_TOPIC
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_url | string | 跳转 URL | 无协议头 |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 一致 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_TOPIC ` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"jump_url": "//search.bilibili.com/all?keyword=ASOUL%E7%9A%84%E5%A5%87%E5%A6%99%E5%AE%87%E5%AE%99",
|
||||
"orig_text": "#ASOUL的奇妙宇宙#",
|
||||
"text": "#ASOUL的奇妙宇宙#",
|
||||
"type": "RICH_TEXT_NODE_TYPE_TOPIC"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-06-21T10:15:12.713774343Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_GOODS
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| goods | object | 商品信息 | |
|
||||
| icon_name | string | 图标名称 | `shop` `taobao` |
|
||||
| jump_url | string | 跳转 URL | |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| rid | string | | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 一致 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_GOODS` | |
|
||||
|
||||
`goods` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_url | string | 跳转 URL | 一般与根对象下的 `jump_url` 相同 |
|
||||
| type | number | `1` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"goods": {
|
||||
"jump_url": "https://s.click.taobao.com/t?e=m%3D2%26s%3DhRVW5Ol4GrZw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMcvdLjw%2BYA8F1aH1Hk3GeOgLhuv3v%2BUO0FVeaszYyErWfp5XqHpg%2Bfwn9kK7XrZu6WxZ8BPtnRZfqGXK58Jc1%2BhtJfOipEYQaSY0lFm97JITUXK%2FCnFktAT05J9EjZ4Cg6Q6sZp7gNLmb4%2BNtrBbTSxr7mxbAs%2BuXGY7X5f4YTwUTi8eJkfcZdQxNgzykgJnxNGRxz%2FytfH1UnsQ1Sg4FG%2Fgk553RHFro7zDM6tzzB%2FwUFU78FEla0%2F6liDBUuxx%2BfRWY0eqeyPKGJZJ34Yh7cK34L0nA6HzjPrdYgTMW7Qubh8ReVU%2F9k2Huec2Q%2B1T%2BJwkZZwMWMdb2FGsw09L73Dq%2F8VFknkEdmd1Il7G%2BufOO%2FbGmELtDp4hhQs2DjqgEA%3D%3D&union_lens=lensId:TAPI@1674460806@212ccf35_0bed_185dda43d7a_a840@01",
|
||||
"type": 1
|
||||
},
|
||||
"icon_name": "taobao",
|
||||
"jump_url": "https://s.click.taobao.com/t?e=m%3D2%26s%3DhRVW5Ol4GrZw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BdRAdhuF14FMcvdLjw%2BYA8F1aH1Hk3GeOgLhuv3v%2BUO0FVeaszYyErWfp5XqHpg%2Bfwn9kK7XrZu6WxZ8BPtnRZfqGXK58Jc1%2BhtJfOipEYQaSY0lFm97JITUXK%2FCnFktAT05J9EjZ4Cg6Q6sZp7gNLmb4%2BNtrBbTSxr7mxbAs%2BuXGY7X5f4YTwUTi8eJkfcZdQxNgzykgJnxNGRxz%2FytfH1UnsQ1Sg4FG%2Fgk553RHFro7zDM6tzzB%2FwUFU78FEla0%2F6liDBUuxx%2BfRWY0eqeyPKGJZJ34Yh7cK34L0nA6HzjPrdYgTMW7Qubh8ReVU%2F9k2Huec2Q%2B1T%2BJwkZZwMWMdb2FGsw09L73Dq%2F8VFknkEdmd1Il7G%2BufOO%2FbGmELtDp4hhQs2DjqgEA%3D%3D&union_lens=lensId:TAPI@1674460806@212ccf35_0bed_185dda43d7a_a840@01",
|
||||
"orig_text": "啊脑袋周边抱枕",
|
||||
"rid": "688066082845462528",
|
||||
"text": "啊脑袋周边抱枕",
|
||||
"type": "RICH_TEXT_NODE_TYPE_GOODS"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-06-26T07:02:47.615135239Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_BV
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_url | string | 跳转 URL | |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| rid | string | 视频 bvid | |
|
||||
| text | string | 显示文本 | 视频标题 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_BV` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"jump_url": "https://www.bilibili.com/video/BV1xx411c7mD/",
|
||||
"orig_text": "https://www.bilibili.com/video/BV1xx411c7mD/",
|
||||
"rid": "BV1xx411c7mD",
|
||||
"text": "字幕君交流场所",
|
||||
"type": "RICH_TEXT_NODE_TYPE_BV"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-06-26T08:32:48.72598344Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_EMOJI
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| emoji | object | 表情信息 | |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 一致 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_EMOJI` | |
|
||||
|
||||
`emoji` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| icon_url | string | 表情图片 URL | |
|
||||
| size | number | 表情尺寸 | 1: small<br />2: middle |
|
||||
| text | string | 表情的文字代码 | 一般与根对象的 `text` 一致 |
|
||||
| type | number | 表情类型 | `1` `2` `3` |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"emoji": {
|
||||
"icon_url": "https://i0.hdslb.com/bfs/emote/5ce649d5f716566db41dbf68c2e319517516d321.png",
|
||||
"size": 2,
|
||||
"text": "[热词系列_干杯]",
|
||||
"type": 1
|
||||
},
|
||||
"orig_text": "[热词系列_干杯]",
|
||||
"text": "[热词系列_干杯]",
|
||||
"type": "RICH_TEXT_NODE_TYPE_EMOJI"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-06-26T08:55:14.905420218Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_CV
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_url | string | 跳转 URL | 无协议名 |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| rid | string | 专栏 CV 号 | |
|
||||
| text | string | 显示文本 | |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_CV` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"jump_url": "//www.bilibili.com/read/cv1/",
|
||||
"orig_text": "1",
|
||||
"rid": "1",
|
||||
"text": "未知的光",
|
||||
"type": "RICH_TEXT_NODE_TYPE_CV"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-07-07T14:41:24.567461392Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_VIEW_PICTURE
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_url | string | | |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| pics | object[] | 图片信息 | |
|
||||
| rid | string | 本条动态 id | |
|
||||
| text | string | 显示文本 | 一般与 `orig_text` 一致 |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_VIEW_PICTURE ` | |
|
||||
|
||||
`pics[]` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| height | number | 高度 | |
|
||||
| size | number | 大小? | 单位为 K |
|
||||
| src | string | 图片 URL | |
|
||||
| width | number | 宽度 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"jump_url": "//www.bilibili.com/read/cv/",
|
||||
"orig_text": "查看图片",
|
||||
"pics": [
|
||||
{
|
||||
"height": 4000,
|
||||
"size": 4218.501,
|
||||
"src": "http://i0.hdslb.com/bfs/new_dyn/d13a5793f7101824e9c9181ebc4df1a936081646.png",
|
||||
"width": 6411
|
||||
}
|
||||
],
|
||||
"rid": "1069394178937454662",
|
||||
"text": "查看图片",
|
||||
"type": "RICH_TEXT_NODE_TYPE_VIEW_PICTURE"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-07-07T14:46:47.413456738Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_WEB
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| jump_url | string | 跳转 URL | |
|
||||
| orig_text | string | 原始文本 | |
|
||||
| style | object \| null | 样式信息 | |
|
||||
| text | string | 显示文本 | |
|
||||
| type | string | `RICH_TEXT_NODE_TYPE_WEB` | |
|
||||
|
||||
`style` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| font_level | string | 字体等级 | `regular` |
|
||||
| font_size | number | 字体大小 | `17` |
|
||||
|
||||
**示例:**
|
||||
|
||||
<details>
|
||||
<summary>查看示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"jump_url": "https://api.bilibili.com/x/web-interface/nav",
|
||||
"orig_text": "https://api.bilibili.com/x/web-interface/nav",
|
||||
"style": {
|
||||
"font_level": "regular",
|
||||
"font_size": 17
|
||||
},
|
||||
"text": "网页链接",
|
||||
"type": "RICH_TEXT_NODE_TYPE_WEB"
|
||||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"jump_url": "//www.bilibili.com/video/av1",
|
||||
"orig_text": "//www.bilibili.com/video/av1",
|
||||
"style": null,
|
||||
"text": "av1",
|
||||
"type": "RICH_TEXT_NODE_TYPE_WEB"
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-07-07T14:55:11.26399889Z -->
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_OGV_SEASON
|
||||
|
||||
参考 [RICH_TEXT_NODE_TYPE_BV](#rich-text-node-type-bv)
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_OGV_EP
|
||||
|
||||
参考 [RICH_TEXT_NODE_TYPE_BV](#rich-text-node-type-bv)
|
||||
|
||||
### RICH_TEXT_NODE_TYPE_AV
|
||||
|
||||
参考 [RICH_TEXT_NODE_TYPE_BV](#rich-text-node-type-bv)
|
||||
356
docs/opus/space.md
Normal file
356
docs/opus/space.md
Normal file
@ -0,0 +1,356 @@
|
||||
## 空间图文
|
||||
|
||||
## 获取用户空间图文
|
||||
|
||||
> https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/feed/space
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
注: 该接口**只能**获取图文信息, 无法获取如转发动态一类的内容, 如需获取参见 [获取用户空间动态](docs/dynamic/space.md)
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ------ | ---- | ------ | ---- |
|
||||
| host_mid | number | 被获取用户的 mid (UID) | 必要 | |
|
||||
| page | number | 假装自己是分页信息 | 不必要 | 以 `1` 开始 |
|
||||
| offset | number | 偏移信息 | 不必要 | 上一次返回的 `offset` (同时也是最后一条的 opus id), 默认为空 |
|
||||
| type | string | 类型 | 不必要 | all: 全部 (默认)<br />article: 专栏<br />dynamic: 动态 |
|
||||
| web_location | string | `333.1387` | 不必要 | |
|
||||
| w_rid | string | WBI 签名 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) |
|
||||
| wts | number | UNIX 秒级时间戳 | 不必要 | 参见 [WBI 签名](../misc/sign/wbi.md) |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功 |
|
||||
| data | object | 数据本体 | |
|
||||
| message | string | 错误信息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| has_more | boolean | 是否还有更多 | |
|
||||
| items | object[] | 信息本体 | |
|
||||
| offset | string | 偏移信息 | 下次翻页请求时传入的 `offest` (同时也是最后一条的 opus id) |
|
||||
| update_num | number | 更新数? | 0 |
|
||||
|
||||
`data.items[]` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| content | string | 文本内容 | |
|
||||
| cover | object? | 封面信息 | |
|
||||
| jump_url | string | 跳转 URL | |
|
||||
| opus_id | string | opus id | |
|
||||
| stat | object | 统计信息 | |
|
||||
|
||||
`data.items[].cover` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| height | number | 高度 | |
|
||||
| url | string | 图片 URL | |
|
||||
| width | number | 宽度 | |
|
||||
|
||||
`data.items[].stat` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| like | string | 点赞数 | 是个字符串 |
|
||||
| view | string | 浏览数 | 仅当获取登录状态下获取自己的时才存在, 也是个字符串 |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取 `645769214` 空间的最近几条全部图文
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/polymer/web-dynamic/v1/opus/feed/space' \
|
||||
--url-query 'host_mid=645769214'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"has_more": true,
|
||||
"items": [
|
||||
{
|
||||
"content": "我在 Google I/O 2025 的 puzzle 取得了获胜的优异成绩, 你也来试试吧",
|
||||
"cover": {
|
||||
"height": 1640,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/a48c47c07bf19f07c01b489eb6b42e63645769214.jpg",
|
||||
"width": 720
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/1057955152016703512",
|
||||
"opus_id": "1057955152016703512",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "通过 DevTools 绕过 SSR 抓包某站专栏正文接口",
|
||||
"cover": {
|
||||
"height": 430,
|
||||
"url": "http://i0.hdslb.com/bfs/article/9071997152b6fec0ae465fe2a86b580e645769214.jpg",
|
||||
"width": 768
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/1056353752004427792",
|
||||
"opus_id": "1056353752004427792",
|
||||
"stat": {
|
||||
"like": "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "今天也是看上 Minecraft 大电影 了, 看的人几乎没有, 虽然看的是中配, 总体上感觉剧情有趣甚至有点小感动, 音乐也感觉不错, 价格也实惠",
|
||||
"cover": {
|
||||
"height": 4080,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/408d4e2b2ad8df6873c303cf26f571db645769214.jpg",
|
||||
"width": 3060
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/1052711525276450824",
|
||||
"opus_id": "1052711525276450824",
|
||||
"stat": {
|
||||
"like": "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "糟了没注意, 自己成小丑了",
|
||||
"cover": {
|
||||
"height": 1640,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/6ebb3894cfab53966d6e440e4f5a905d645769214.jpg",
|
||||
"width": 720
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/1051313732437671938",
|
||||
"opus_id": "1051313732437671938",
|
||||
"stat": {
|
||||
"like": "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "好消息, 我免费了, 想玩的随时联系\nhttps://t.me/c/2148747379/77",
|
||||
"cover": {
|
||||
"height": 720,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/fbc2b38406099df0bdaea47d08daa6f1645769214.jpg",
|
||||
"width": 1640
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/1050579658107518984",
|
||||
"opus_id": "1050579658107518984",
|
||||
"stat": {
|
||||
"like": "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "认真的, 我的 Linux 发行版是 Android",
|
||||
"cover": {
|
||||
"height": 1080,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/3e512d84361323c319f79061d2f078d1645769214.jpg",
|
||||
"width": 1440
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/1032607998809210903",
|
||||
"opus_id": "1032607998809210903",
|
||||
"stat": {
|
||||
"like": "8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "于学校机房启动 QEMU 珍贵影像",
|
||||
"cover": {
|
||||
"height": 1080,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/2fdc7524449b029f8baf241d94663256645769214.jpg",
|
||||
"width": 1440
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/993403941079220225",
|
||||
"opus_id": "993403941079220225",
|
||||
"stat": {
|
||||
"like": "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "BAC 正处于历史以来最困难的时期 - 中秋考古有感",
|
||||
"cover": {
|
||||
"height": 188,
|
||||
"url": "https://i0.hdslb.com/bfs/article/0c9b5e20356e07f89a8bb7769fef8eeb645769214.jpg",
|
||||
"width": 640
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/985444108243828741",
|
||||
"opus_id": "985444108243828741",
|
||||
"stat": {
|
||||
"like": "7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "发送文件到手机的 N 种正确姿势",
|
||||
"cover": {
|
||||
"height": 420,
|
||||
"url": "http://i0.hdslb.com/bfs/article/56a4024abebf7ed1166a1d247bb5cf64645769214.jpg",
|
||||
"width": 750
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/971804623539011587",
|
||||
"opus_id": "971804623539011587",
|
||||
"stat": {
|
||||
"like": "8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "我在朝鲜?",
|
||||
"cover": {
|
||||
"height": 468,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/ea12cca6abd75fe3fb5ad1abd1f347d3645769214.png",
|
||||
"width": 474
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/971255284349534210",
|
||||
"opus_id": "971255284349534210",
|
||||
"stat": {
|
||||
"like": "5"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "一周没上 B 站就 99+ 了?",
|
||||
"cover": {
|
||||
"height": 284,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/9e3b889fd2dc75e9bae38a13e55fee26645769214.png",
|
||||
"width": 165
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/970197833343827970",
|
||||
"opus_id": "970197833343827970",
|
||||
"stat": {
|
||||
"like": "6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "今天因为Linux被骂, 决定放弃支持 Windows. 而且明天要开始军训了, 将停更若干时间, 遂发此动态, 望不知.",
|
||||
"cover": {
|
||||
"height": 1080,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/0f6f939334104ddc347566514fa4bfa7645769214.jpg",
|
||||
"width": 1440
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/967717348014293017",
|
||||
"opus_id": "967717348014293017",
|
||||
"stat": {
|
||||
"like": "73"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "我的萌ICP备案通过了!",
|
||||
"cover": {
|
||||
"height": 2712,
|
||||
"url": "http://i0.hdslb.com/bfs/new_dyn/0a9bb3e82bbefe499b10b7fd02f2a4f4645769214.jpg",
|
||||
"width": 1220
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/956241611959828547",
|
||||
"opus_id": "956241611959828547",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "新年第一个AP",
|
||||
"cover": {
|
||||
"height": 1220,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/ea5a39d37a4a1f20f32b25bfed466004645769214.jpg",
|
||||
"width": 2712
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/896448108088524805",
|
||||
"opus_id": "896448108088524805",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "新年快乐?",
|
||||
"cover": {
|
||||
"height": 605,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/dab5d3e2ff03027215e5bfd4933abe45645769214.jpg",
|
||||
"width": 1220
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/896342627995090966",
|
||||
"opus_id": "896342627995090966",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "我回苏州了",
|
||||
"cover": {
|
||||
"height": 1280,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/65c880f64997fab0c79527649d7fbe1b645769214.png",
|
||||
"width": 720
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/831507996405137432",
|
||||
"opus_id": "831507996405137432",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "Phigros RKS 12 纪念",
|
||||
"cover": {
|
||||
"height": 720,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/dab03003aee2166987428857acbf4ffb645769214.png",
|
||||
"width": 1280
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/830690195959447605",
|
||||
"opus_id": "830690195959447605",
|
||||
"stat": {
|
||||
"like": "0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "现在知道B站推荐机制有多烂了吧",
|
||||
"cover": {
|
||||
"height": 1280,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/05a5f769bed2705d2c8c3c69f60441df645769214.png",
|
||||
"width": 720
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/829284474633060387",
|
||||
"opus_id": "829284474633060387",
|
||||
"stat": {
|
||||
"like": "0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "求证: B站创始人们的成分\n证: [图片]",
|
||||
"cover": {
|
||||
"height": 1600,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/830a9bbc3d5179a6d33af97e5baac7c8645769214.jpg",
|
||||
"width": 720
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/828071498582327315",
|
||||
"opus_id": "828071498582327315",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"content": "如果排除掉可能的误差, 14=12.",
|
||||
"cover": {
|
||||
"height": 720,
|
||||
"url": "https://album.biliimg.com/bfs/new_dyn/79823dd0b617af6fc71126d6e042de3f645769214.png",
|
||||
"width": 1280
|
||||
},
|
||||
"jump_url": "//www.bilibili.com/opus/827727935543705620",
|
||||
"opus_id": "827727935543705620",
|
||||
"stat": {
|
||||
"like": "1"
|
||||
}
|
||||
}
|
||||
],
|
||||
"offset": "827727935543705620",
|
||||
"update_num": 0
|
||||
},
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-05-01T00:59:41.402217612Z -->
|
||||
85
docs/user/batch.md
Normal file
85
docs/user/batch.md
Normal file
@ -0,0 +1,85 @@
|
||||
# 批量查询
|
||||
|
||||
## 用户名查 mid
|
||||
|
||||
### 动态
|
||||
|
||||
> https://api.bilibili.com/x/polymer/web-dynamic/v1/name-to-uid
|
||||
|
||||
*请求方法: GET*
|
||||
|
||||
认证方式: Cookie (SESSDATA)
|
||||
|
||||
<!-- from #1300 -->
|
||||
|
||||
**URL 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ------ | ------ | ------ | ---- |
|
||||
| names | string | 用户名 | 必要 | 多个用户名以 `,` 分隔 |
|
||||
|
||||
**JSON 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />-400: 请求错误 |
|
||||
| data | object | 数据本体 | |
|
||||
| message | string | 错误信息 | 成功时为 `0` |
|
||||
| ttl | number | `1` | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| uid_list | object[] | UID 列表 | 套了个娃 |
|
||||
|
||||
`data.uid_list[]` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| name | string | 用户名 | |
|
||||
| uid | string | mid (UID) | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G 'https://api.bilibili.com/x/polymer/web-dynamic/v1/name-to-uid' \
|
||||
--url-query 'names=社会易姐qwq,session小胡,陈睿,洛天依' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"uid_list": [
|
||||
{
|
||||
"name": "社会易姐QwQ",
|
||||
"uid": "293793435"
|
||||
},
|
||||
{
|
||||
"name": "陈睿",
|
||||
"uid": "208259"
|
||||
},
|
||||
{
|
||||
"name": "Session小胡",
|
||||
"uid": "645769214"
|
||||
},
|
||||
{
|
||||
"name": "洛天依",
|
||||
"uid": "36081646"
|
||||
}
|
||||
]
|
||||
},
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- Generated by json-apidoc-gen @ 2025-07-20T07:26:44.13468349Z -->
|
||||
@ -36,8 +36,8 @@
|
||||
| 字段名 | 类型 | 内容 | 备注 |
|
||||
|---------------|------|-----------------------------------|-----|
|
||||
| allow_message | bool | `true` | |
|
||||
| input_text | str | `UP主加油!看好你噢` | |
|
||||
| input_title | str | `感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧 ` | |
|
||||
| input_text | str | `UP主加油!看好你噢~` | |
|
||||
| input_title | str | `感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧~ ` | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -59,8 +59,8 @@ curl --location --request POST 'https://api.bilibili.com/x/v1/contract/add_contr
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"allow_message": true,
|
||||
"input_text": "UP主加油!看好你噢",
|
||||
"input_title": "感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧 "
|
||||
"input_text": "UP主加油!看好你噢~",
|
||||
"input_title": "感谢你对UP主的特别支持,“老粉”可期!私信留言鼓励下TA吧~"
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -128,4 +128,4 @@ curl --location --request POST 'https://api.bilibili.com/x/v1/contract/add_messa
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
</details>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user