Merge branch 'SocialSisterYi:master' into master
This commit is contained in:
commit
73c5928d02
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
|
||||
|
||||
44
.github/workflows/vuepress-deploy.yml
vendored
44
.github/workflows/vuepress-deploy.yml
vendored
@ -1,18 +1,38 @@
|
||||
name: deploy and pubish
|
||||
name: deploy and publish
|
||||
|
||||
on: [push]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'SocialSisterYi/bilibili-API-collect'
|
||||
# if: github.repository == 'SocialSisterYi/bilibili-API-collect'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
|
||||
- name: vuepress-deploy
|
||||
uses: jenkey2011/vuepress-deploy@master
|
||||
env:
|
||||
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
|
||||
TARGET_REPO: SocialSisterYi/bilibili-API-collect
|
||||
TARGET_BRANCH: gh_pages
|
||||
BUILD_SCRIPT: yarn && yarn build
|
||||
BUILD_DIR: .vuepress/dist/
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4.0.3
|
||||
with:
|
||||
node-version: 22
|
||||
cache: yarn
|
||||
- name: Build with yarn
|
||||
run: yarn && yarn build
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v5
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: '.vuepress/dist/'
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,3 +6,6 @@
|
||||
.vscode/
|
||||
.DS_Store
|
||||
*.swp
|
||||
/*.*js
|
||||
/*.json
|
||||
/*.sh
|
||||
|
||||
@ -1,14 +1,19 @@
|
||||
import { defaultTheme, defineUserConfig } from "vuepress";
|
||||
import { defineUserConfig } from "vuepress";
|
||||
import { viteBundler } from '@vuepress/bundler-vite'
|
||||
import { defaultTheme } from "@vuepress/theme-default";
|
||||
import markdownItTaskLists from "markdown-it-task-lists";
|
||||
import { copyCodePlugin } from "vuepress-plugin-copy-code2";
|
||||
import { searchPlugin } from "@vuepress/plugin-search";
|
||||
import { shikiPlugin } from '@vuepress/plugin-shiki'
|
||||
|
||||
const base = "/bilibili-API-collect/";
|
||||
|
||||
export default defineUserConfig({
|
||||
base: "/bilibili-API-collect/",
|
||||
bundler: viteBundler(),
|
||||
base: base,
|
||||
lang: "zh-CN",
|
||||
title: "BAC Document",
|
||||
description: "社区开源的第三方哔哩哔哩 API 文档",
|
||||
head: [["link", { rel: "icon", href: "/logo2.jpg" }]],
|
||||
head: [["link", { rel: "icon", href: base + "logo2.jpg" }]],
|
||||
locales: {
|
||||
"/": {
|
||||
lang: "zh-CN",
|
||||
@ -34,19 +39,26 @@ export default defineUserConfig({
|
||||
],
|
||||
},
|
||||
],
|
||||
sidebar: "auto",
|
||||
repo: "https://github.com/SocialSisterYi/bilibili-API-collect",
|
||||
docsBranch: "master",
|
||||
editLinkText: "在 GitHub 上编辑此页",
|
||||
colorMode: "auto"
|
||||
colorMode: "auto",
|
||||
themePlugins: {
|
||||
prismjs: false
|
||||
}
|
||||
}),
|
||||
plugins: [copyCodePlugin({}), searchPlugin({})],
|
||||
markdown: {
|
||||
code: {
|
||||
lineNumbers: true,
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
searchPlugin({}),
|
||||
shikiPlugin({
|
||||
theme: 'dark-plus',
|
||||
langs: [
|
||||
'javascript', 'typescript', 'markdown', 'protobuf', 'json', 'jsonc',
|
||||
'shell', 'go', 'html', 'http', 'java', 'kotlin', 'python', 'rust', 'c',
|
||||
'c++', 'cs', 'php', 'swift', 'text'
|
||||
]
|
||||
})
|
||||
],
|
||||
extendsMarkdown: (md) => {
|
||||
md.use(markdownItTaskLists);
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
@ -13,6 +13,16 @@
|
||||
</ParentLayout>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
/* README.md */
|
||||
.shields a {
|
||||
margin: auto .25em;
|
||||
}
|
||||
.shields a::after {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script setup>
|
||||
import ParentLayout from '@vuepress/theme-default/layouts/Layout.vue';
|
||||
</script>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 贡献指南
|
||||
|
||||
欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向需要进行提交贡献文档内容的用户。
|
||||
欢迎来到 bilibili-API-collect 社区贡献指南,本文主要面向想要对本项目参与贡献的用户, 请务必认真阅读本文正文与潜在的注释
|
||||
|
||||
## 总则
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
## Issue、Discussion 与社群讨论
|
||||
|
||||
对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式添加 / 补充 / 更新文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。
|
||||
对文档内容存在**不理解**之处、以及发现文档内容有所**缺失**或**错误**,可直接提出,强烈建议以提交 **Issue** 的形式 添加 / 补充 / 更新 文档中的说明,以发起 **Discussion** 的形式提出问题、代码用例、情报分享,并希望关于本项目的各种交流都是**公开进行**的,因为这样才可以保证关键信息的一致性。
|
||||
|
||||
提交 Issue 请遵守以下原则:
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
- QQ 交流群:[邀请链接](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ympvb3LAPT-Ulu3ezhGqbkJ8zXMKImOX&authKey=z1KdkOdKO3wytN43m9K6On9nBtnDL4pAoD6VQHCipFBb9TasNDKuDHCmOE6TF3uc&noverify=0&group_code=191187164)
|
||||
- Telegram 交流群:[@bilibili_API_collect_community](https://t.me/bilibili_API_collect_community)
|
||||
|
||||
::: tip ✅提示
|
||||
::: tip 提示
|
||||
|
||||
QQ 交流群为综合技术交流群(兼 Owner 的粉丝群),可交流探讨任何技术,包括但不限于 [BAC 项目](https://github.com/SocialSisterYi/bilibili-API-collect)
|
||||
|
||||
@ -39,7 +39,7 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi
|
||||
|
||||
:::
|
||||
|
||||
::: warning ⚠️注意
|
||||
::: warning 注意
|
||||
|
||||
群内讨论同样需要遵守**公开交流**的原则,以及群内会定期清理不活跃成员。
|
||||
|
||||
@ -47,7 +47,7 @@ Telegram 交流群主要用作 [BAC 项目](https://github.com/SocialSisterYi/bi
|
||||
|
||||
:::
|
||||
|
||||
::: danger 🈲禁止
|
||||
::: danger 禁止
|
||||
|
||||
项目 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 后出现重复相同提交的问题
|
||||
|
||||
74
README.md
74
README.md
@ -37,7 +37,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
|
||||
小小的 Demo:~~av583785685~~ [视频失效原因](https://shakaianee.top/archives/56/) ([Youtube 备链](https://www.youtube.com/watch?v=nfF91Z6fqGk))
|
||||
|
||||
::: warning ⚠️声明
|
||||
::: warning 声明
|
||||
|
||||
1. 本项目遵守 CC-BY-NC 4.0 协议,禁止一切商业使用,如需转载请注明作者 ID
|
||||
2. **请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!请勿滥用,本项目仅用于学习和测试!**
|
||||
@ -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)~~
|
||||
@ -257,6 +265,9 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [ ] [直播心跳上报](docs/live/report.md)
|
||||
- [ ] [直播间弹幕](docs/live/danmaku.md)
|
||||
- [ ] [直播流水](docs/live/live_bill.md)
|
||||
- [ ] [礼物相关](docs/live/gift.md)
|
||||
- [ ] [大航海/粉丝团](docs/live/guard.md)
|
||||
- [ ] [直播回放](docs/live/live_replay.md)
|
||||
- [ ] [活动](docs/activity)
|
||||
- [ ] [活动列表](docs/activity/list.md)
|
||||
- [ ] [活动主题信息](docs/activity/info.md)
|
||||
@ -292,6 +303,7 @@ B站 API 采用 C/S 结构,大多数接口为 REST API 和 gRPC,少部分接
|
||||
- [x] [分区当日投稿数](docs/web_widget/zone_upload.md)
|
||||
- [x] [404 页漫画收集](docs/web_widget/404_manga.md)
|
||||
- [ ] [首页横幅头图](docs/web_widget/header.md)
|
||||
- [ ] [分区横幅轮播图](docs/web_widget/banner.md)
|
||||
- [ ] [APP 端组件](docs/APP_widget)
|
||||
- [x] [开屏图片 + 恰饭珍贵录像](docs/APP_widget/splash.md)
|
||||
- [ ] [获取最新 APP 版本](docs/APP_widget/ver.md)
|
||||
@ -390,9 +402,3 @@ OR Aifadian:[https://afdian.com/@ShakaiAneE](https://afdian.com/@ShakaiAneE)
|
||||
- [grpc/grpc](https://github.com/grpc/grpc): The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
|
||||
- [glideapps/quicktype](https://github.com/glideapps/quicktype): quicktype generates strongly-typed models and serializers from JSON, JSON Schema, TypeScript, and GraphQL queries, making it a breeze to work with JSON type-safely in many programming languages. 一键生成多种语言的JSON反序列化所需类,以便于快速反序列化,有网页版
|
||||
- [SessionHu/json-apidoc-gen](https://github.com/SessionHu/json-apidoc-gen): Simple CLI tool for generating BAC document template
|
||||
|
||||
<style scoped>
|
||||
.shields a {
|
||||
margin: auto .5em;
|
||||
}
|
||||
</style>
|
||||
|
||||
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
@ -5,6 +5,8 @@
|
||||
> https://api.bilibili.com/x/web-interface/zone
|
||||
>
|
||||
> https://api.live.bilibili.com/xlive/web-room/v1/index/getIpInfo
|
||||
>
|
||||
> https://app.bilibili.com/x/resource/ip
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
|
||||
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>
|
||||
@ -916,3 +916,173 @@ curl -G --url 'https://member.bilibili.com/x2/creative/web/season/section' \
|
||||
|
||||
</details>
|
||||
|
||||
## 编辑投稿视频合集
|
||||
|
||||
> https://member.bilibili.com/x2/creative/web/season/switch
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**正文参数(application/json):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| aid | num | 视频 ID | 必要 | |
|
||||
| season_id | num | null | 合集 ID | 必要 | null 表示从合集中移除 |
|
||||
| section_id | num | null | 小节 ID | 必要 | null 表示从小节中移除 |
|
||||
| title | str | 视频标题 | 必要 | |
|
||||
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 非必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| season_id | num | null | | |
|
||||
| section_id | num | null | | |
|
||||
| title | str | 标题 | |
|
||||
| aid | num | aid | |
|
||||
| csrf | num | CSRF Token (位于 Cookie 中 bili_jct) | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -X POST "https://member.bilibili.com/x2/creative/web/season/switch" \
|
||||
--url-query "csrf=xxxxxxxxxxxx" \
|
||||
-H "Content-Type: application/json" \
|
||||
--data '{
|
||||
"aid": 123456,
|
||||
"season_id": 654321,
|
||||
"section_id": 789012,
|
||||
"title": "新视频标题"
|
||||
}' \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"season_id": null,
|
||||
"section_id": null,
|
||||
"title": "标题",
|
||||
"aid": 123,
|
||||
"csrf": "eqweeqw"
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## aid反查合集id
|
||||
|
||||
> https://member.bilibili.com/x2/creative/web/season/aid
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| id | num | 视频 aid | 必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| season | obj | 合集信息 | |
|
||||
|
||||
|
||||
`season` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| id | num | 合集 ID | |
|
||||
| title | str | 合集标题 | |
|
||||
| cover | str | 合集封面 URL | |
|
||||
| desc | str | 合集描述 | |
|
||||
| isEnd | num | 是否已完结 | 0: 未完结<br />1: 已完结 |
|
||||
| mid | num | 合集作者 ID | |
|
||||
| isAct | num | 是否为活动合集 | 0: 否<br />1: 是 |
|
||||
| is_pay | num | 是否付费 | 0: 否<br />1: 是 |
|
||||
| state | num | 合集状态 | 0: 正常显示<br />-6: 正在审核 |
|
||||
| partState | num | 合集分段状态 | 0: 正常 |
|
||||
| signState | num | 合集签名状态 | 0: 正常 |
|
||||
| rejectReason | str | 合集拒绝原因 | |
|
||||
| ctime | num | 创建时间 | UNIX 时间戳 |
|
||||
| mtime | num | 修改时间 | UNIX 时间戳 |
|
||||
| no_section | num | 是否设小节 | 1: 不设小节 |
|
||||
| forbid | num | 合集是否禁止 | 0: 否<br />1: 是 |
|
||||
| protocol_id | str | 协议 ID | |
|
||||
| ep_num | num | 视频数量 | |
|
||||
| season_price | num | 合集价格 | 0: 免费 |
|
||||
| is_opened | num | 是否公开 | 1: 公开<br />0: 不公开 |
|
||||
| has_charging_pay | num | 是否充电付费 | 0: 否<br />1: 是 |
|
||||
| has_pugv_pay | num | 是否 PUGV 付费 | 0: 否<br />1: 是 |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/x2/creative/web/season/aid" \
|
||||
--data-urlencode "id=123456" \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"id": 12,
|
||||
"title": "合集标题",
|
||||
"desc": "",
|
||||
"cover": "",
|
||||
"isEnd": 0,
|
||||
"mid": 123,
|
||||
"isAct": 0,
|
||||
"is_pay": 0,
|
||||
"state": 0,
|
||||
"partState": 0,
|
||||
"signState": 0,
|
||||
"rejectReason": "",
|
||||
"ctime": 1667232000,
|
||||
"mtime": 1667232000,
|
||||
"no_section": 1,
|
||||
"forbid": 0,
|
||||
"protocol_id": "",
|
||||
"ep_num": 0,
|
||||
"season_price": 0,
|
||||
"is_opened": 1,
|
||||
"has_charging_pay": 0,
|
||||
"has_pugv_pay": 0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@ -75,6 +75,563 @@ JavaScript (Node.js) 请求[示例](https://gist.github.com/SessionHu/5e47a3a1a3
|
||||
|
||||
</details>
|
||||
|
||||
## 获取上传模板列表
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/tpls
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | array | 模板列表 | |
|
||||
|
||||
|
||||
|
||||
`data` 数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| tid | num | 模板 ID | |
|
||||
| name | str | 模板名称 | |
|
||||
| typeid | num | 分区 ID | |
|
||||
| title | str | 标题 | |
|
||||
| tags | str | 标签 | |
|
||||
| description | str | 描述 | |
|
||||
| copyright | num | 版权类型 | 1: 自制<br />2: 转载 |
|
||||
| attribute | num | 属性 | 0 或其他 |
|
||||
| is_default | num | 是否默认 | 0: 否<br />1: 是 |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/x/vupre/web/tpls" \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": [
|
||||
{
|
||||
"tid": 12,
|
||||
"name": "直播录像",
|
||||
"typeid": 173,
|
||||
"title": " 标题",
|
||||
"tags": "可爱",
|
||||
"description": "描述",
|
||||
"copyright": 1,
|
||||
"attribute": 0,
|
||||
"is_default": 0
|
||||
},
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 编辑上传模板
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/tpl/update
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
|
||||
**正文参数(application/json):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| tid | num | 模板 ID | 必要 | |
|
||||
| name | str | 模板名称 | 非必要 | |
|
||||
| title | str | 标题 | 非必要 | |
|
||||
| keywords | str | 标签 | 非必要 | 多个标签用 `,` 分隔 |
|
||||
| description | str | 描述 | 非必要 | |
|
||||
| typeid | num | 分区 ID | 非必要 | |
|
||||
| arctype | str | 版权类型 | 非必要 | "Original": 自制<br />"Copy": 转载 |
|
||||
| is_default | num | 是否默认 | 非必要 | 0: 否<br />1: 是 |
|
||||
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -X POST "https://member.bilibili.com/x/vupre/web/tpl/update" \
|
||||
--url-query "t=$(date +%s%3N)" \
|
||||
-H "Content-Type: application/json" \
|
||||
--data '{
|
||||
"tid": 12,
|
||||
"name": "新模板名称",
|
||||
"title": "新标题",
|
||||
"keywords": "标签1,标签2",
|
||||
"description": "新描述",
|
||||
"typeid": 173,
|
||||
"arctype": "Original",
|
||||
"is_default": 1,
|
||||
"csrf": "xxxxxxxxxxxx"
|
||||
}' \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 查询话题
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/topic/type
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | -------- | ------ | ---- |
|
||||
| type_id | num | 分区 ID | 非必要 | |
|
||||
| pn | num | 页码 | 必要 | 从 0 开始 |
|
||||
| ps | num | 每页个数 | 必要 | |
|
||||
| title | str | 视频标题 | 非必要 | |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | array | 话题列表 | |
|
||||
|
||||
|
||||
`data` 数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| topic_id | num | 话题 ID | |
|
||||
| topic_name | str | 话题名称 | |
|
||||
| description | str | 话题描述 | |
|
||||
| mission_id | num | 任务 ID | |
|
||||
| activity_text | str | 活动文本 | |
|
||||
| activity_description | str | 活动描述 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/x/vupre/web/topic/type" \
|
||||
--data-urlencode "pn=0" \
|
||||
--data-urlencode "ps=20" \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"topics": [
|
||||
{
|
||||
"topic_id": 1245317,
|
||||
"topic_name": "疯狂打游戏",
|
||||
"description": "疯狂于游戏的世界吧!愿你在这场虚拟的战斗中展现出你非凡的智慧与勇气,让每一个夜晚都充满了激情与荣耀!",
|
||||
"mission_id": 1742462,
|
||||
"activity_text": "有奖活动",
|
||||
"activity_description": "@神魂の魇 发起"
|
||||
}
|
||||
],
|
||||
"tags": null,
|
||||
"maxpage": 200,
|
||||
"request_id": "123"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 话题搜索
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/topic/search
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --------- | ---- | -------- | ------ | ---- |
|
||||
| page_size | num | 每页个数 | 非必要 | |
|
||||
| offset | num | 个数偏移 | 非必要 | 并非页数 |
|
||||
| keywords | str | 关键字 | 非必要 | |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| result | obj | 搜索结果 | |
|
||||
|
||||
|
||||
|
||||
`result` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| has_create_jurisdiction | bool | ? | |
|
||||
| is_new_topic | bool | 是否为新话题? | |
|
||||
| tips | str | 提示信息 | |
|
||||
| page_info | obj | 分页信息 | |
|
||||
| topics | array | 话题列表 | |
|
||||
|
||||
|
||||
|
||||
`page_info` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| has_more | bool | 是否有更多 | |
|
||||
| offset | num | 偏移量 | |
|
||||
| page_number | num | 页码 | |
|
||||
|
||||
|
||||
|
||||
`topics`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| act_protocol | str | ? | |
|
||||
| activity_sign | str | ? | |
|
||||
| description | str | 话题描述 | |
|
||||
| id | num | 话题 ID | |
|
||||
| mission_id | num | 任务 ID | |
|
||||
| name | str | 话题名称 | |
|
||||
| state | num | 状态? | |
|
||||
| uname | str | ? | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/x/vupre/web/topic/search" \
|
||||
--data-urlencode "page_size=20" \
|
||||
--data-urlencode "offset=0" \
|
||||
--data-urlencode "keywords=example" \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"result": {
|
||||
"topics": [
|
||||
{
|
||||
"id": 1200265,
|
||||
"name": "巴黎最前线",
|
||||
"uname": "",
|
||||
"state": 0,
|
||||
"description": "巴黎体育盛会前线速递!",
|
||||
"mission_id": 0,
|
||||
"activity_sign": "",
|
||||
"act_protocol": ""
|
||||
}
|
||||
],
|
||||
"page_info": {
|
||||
"page_num": 0,
|
||||
"offset": 1,
|
||||
"has_more": true
|
||||
},
|
||||
"is_new_topic": false,
|
||||
"has_create_jurisdiction": true,
|
||||
"tips": "该话题是UP主活动相关话题,您在话题下的稿件信息可能会被提供给发起话题的UP主,并可能被UP主用于二次创作"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 标签可用性检查
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/topic/tag/check
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| tag | str | 需要检查的标签 | 必要 | |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| code | num | 标签状态 | 0: 可用<br />其他: 不可用 |
|
||||
| content | str | 错误返回 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/x/vupre/web/topic/tag/check" \
|
||||
--data-urlencode "tag=example_tag" \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"code": 0,
|
||||
"content": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 16025,
|
||||
"message": "tag已经被封印了~",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"code": 1,
|
||||
"content": "服务器错误"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 获取简介相关信息
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/archive/desc/format
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | -------- | ------ | ---- |
|
||||
| typeid | num | 分区 ID | 必要 | |
|
||||
| copyright | num | 版权类型 | 必要 | 1:自制<br/>2:转载 |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | null | 信息本体 | |
|
||||
|
||||
注:某个时间点后,没有发现 data 为 null 的情况了,过去为 null 时简介上限250字
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| typeid | num | 分区 ID | |
|
||||
| id | num | ID | |
|
||||
| lang | num | 未知 | |
|
||||
| copyright | num | 版权类型| 1:自制<br/>2:转载 |
|
||||
| components | str | 简介输入框提示文字 | JSON 字符串 |
|
||||
|
||||
`components` 示例:
|
||||
`'[{"name":"相关游戏","index":1,"type":"text","required":"1","box":"请输入本视频所涉及的游戏名称,以顿号分隔,例:英雄联盟、塞尔达传说、刺客信条"},{"name":"简介补充","index":2,"type":"textarea","required":"1","box":""}]'`
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/x/vupre/web/archive/desc/format" \
|
||||
--data-urlencode "typeid=65" \
|
||||
--data-urlencode "copyright=1" \
|
||||
-b "SESSDATA=xxxxxxxxxxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"typeid": 65,
|
||||
"id": 1,
|
||||
"lang": 0,
|
||||
"copyright": 1,
|
||||
"components": "[{\"name\":\"相关游戏\",\"index\":1,\"type\":\"text\",\"required\":\"1\",\"box\":\"请输入本视频所涉及的游戏名称,以顿号分隔,例:英雄联盟、塞尔达传说、刺客信条\"},{\"name\":\"简介补充\",\"index\":2,\"type\":\"textarea\",\"required\":\"1\",\"box\":\"\"}]"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 获取上传线路
|
||||
|
||||
> https://member.bilibili.com/preupload?r=probe
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:无
|
||||
|
||||
**URL参数:**
|
||||
|
||||
无
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| OK | num | 返回值 | 1: 成功<br />其他: 失败 |
|
||||
| lines | array | 上传线路列表 | |
|
||||
| probe | obj | 未知 | |
|
||||
|
||||
probe 中的对象:
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | -------- | ----- |
|
||||
| post | float | 未知 | 固定0.1 |
|
||||
|
||||
lines 数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | -------- | ----- |
|
||||
| os | str | 操作系统 | |
|
||||
| query | str | 查询参数 | |
|
||||
| probe_url | str | 探测 URL | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://member.bilibili.com/preupload?r=probe"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"OK": 1,
|
||||
"lines": [
|
||||
{
|
||||
"os": "upos",
|
||||
"query": "probe_version=20221109&upcdn=tx&zone=cs",
|
||||
"probe_url": "//upos-cs-upcdntx.bilivideo.com/OK"
|
||||
},
|
||||
{
|
||||
"os": "upos",
|
||||
"query": "probe_version=20221109&upcdn=bldsa&zone=cs",
|
||||
"probe_url": "//upos-cs-upcdnbldsa.bilivideo.com/OK"
|
||||
},
|
||||
{
|
||||
"os": "upos",
|
||||
"query": "probe_version=20221109&upcdn=bda2&zone=cs",
|
||||
"probe_url": "//upos-cs-upcdnbda2.bilivideo.com/OK"
|
||||
}
|
||||
],
|
||||
"probe": {
|
||||
"post": 0.1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 预测稿件类型
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/archive/types/predict
|
||||
@ -136,6 +693,12 @@ JavaScript (Node.js) 请求[示例](https://gist.github.com/SessionHu/5e47a3a1a3
|
||||
| rank | num | 排序权重? | |
|
||||
| max_video_count | num | 最大视频数量? | |
|
||||
| request_id | str | 空 | |
|
||||
| human_type | obj\|null | 新分区ID,好像除第一个之外都是null |
|
||||
|
||||
`human_type` 参数
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------- | ---- |
|
||||
| id | num | 新分区id | 可在 [获取新分区ID](#获取新分区ID) 找到对应名称 |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -339,7 +902,7 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \
|
||||
|
||||
</details>
|
||||
|
||||
## 投递视频稿件
|
||||
## 投递视频稿件(Web)
|
||||
|
||||
> https://member.bilibili.com/x/vu/web/add/v3
|
||||
|
||||
@ -361,19 +924,21 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| videos | array | 视频信息 | 必要 | 若为分 P 视频, 请注意数组元素顺序 |
|
||||
| cover | str | 视频封面 URL | 必要 | 参见[上传视频封面](#上传视频封面) |
|
||||
| cover43 | str | 视频封面 URL (比例为 4:3) | 必要 | 可为空 |
|
||||
| cover | str | 视频封面 URL | 非必要 | 如果不传会自动取封面,参见[上传视频封面](#上传视频封面) |
|
||||
| cover43 | str | 视频封面 URL (比例为 4:3) | 非必要 | 可为空 |
|
||||
| title | str | 视频标题 | 必要 | 最多 80 字 |
|
||||
| copyright | num | 1: 自制<br />2: 转载 | 必要 | |
|
||||
| tid | num | 分类 ID | 必要 | |
|
||||
| tid | num | 分区 ID | 必要 | Web端此参数已无法手动设置,参数值为从[预测稿件类型](#预测稿件类型)中获取第一个固定id |
|
||||
| human_type2 | num | 新分区ID | 非必要| 从 [新分区ID](#获取新分区ID) 获取 |
|
||||
| tag | str | 视频标签 | 必要 | 多个标签用 `,` 分隔, 最多 10 个 |
|
||||
| desc_format_id | num | 简介格式 ID? | 必要 | 9999: 纯文本 |
|
||||
| desc | str | 视频简介 | 必要 | 最多 2000 字 |
|
||||
| desc | str | 视频简介 | 非必要 | 最多 2000 字 |
|
||||
| desc_v2 | str | 视频简介额外信息 | 非必要 | 比如有艾特操作时传递,见备注 |
|
||||
| recreate | num | 是否允许二创 | 必要 | -1: 允许(默认)<br />1: 不允许 |
|
||||
| dynamic | str | 粉丝动态 | 必要 | |
|
||||
| interactive | num | 互动视频? | 必要 | 0: 否 |
|
||||
| act_reserve_create | num | 活动预约? | 必要 | 0: 否 |
|
||||
| no_disturbance | num | 勿扰模式? | 必要 | 0: 否 |
|
||||
| no_disturbance | num | 是否推送到动态| 必要 | 0:不推送,1:推送|
|
||||
| no_reprint | num | 是否允许转载 | 必要 | 1: 允许<br />0: 不允许 |
|
||||
| subtitle | obj | 字幕信息 | 必要 | |
|
||||
| dolby | num | 杜比音效 | 必要 | 0: 否(默认)<br />1: 是 |
|
||||
@ -382,6 +947,11 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \
|
||||
| up_close_reply | bool | 关闭评论 | 必要 | |
|
||||
| up_close_danmu | bool | 关闭弹幕 | 必要 | |
|
||||
| web_os | num | 平台类型? | 必要 | 3 |
|
||||
| is_only_self | 可见性 | 非必要 | 0:公开<br/>1:仅自己可见 |
|
||||
| topic_id | 话题id | 非必要 | 可从[查询话题](./upload.md#查询话题)等相关接口获取 |
|
||||
| mission_id | 任务id | 非必要 | 可从[查询话题](./upload.md#查询话题)等相关接口获取 |
|
||||
| is_360 | num | 是否全景 | 非必要 | -1:非全景<br/>1:全景 |
|
||||
| neutral_mark | str | 创作者声明 | 非必要 | |
|
||||
|
||||
`videos` 数组中的对象:
|
||||
|
||||
@ -399,6 +969,32 @@ curl -G 'https://member.bilibili.com/x/vupre/web/tag/recommend' \
|
||||
| open | num | 是否启用字幕投稿 | 必要 | 0: 启用(默认)<br />1: 不启用 |
|
||||
| lan | str | 字幕投稿语言 | 必要 | 可为空 |
|
||||
|
||||
**desc_v2举例:**
|
||||
|
||||
```js
|
||||
{
|
||||
// 如果两者不一致,可能导致后续在web修改出现错误
|
||||
"desc": "前面@陈睿 后面",
|
||||
"desc_v2": [ // 纯文字type是1,艾特用户type是2,biz_id为用户uid
|
||||
{
|
||||
"biz_id": "",
|
||||
"raw_text": "前面",
|
||||
"type": 1
|
||||
},
|
||||
{
|
||||
"biz_id": "208259", // uid
|
||||
"raw_text": "陈睿", // 用户名
|
||||
"type": 2
|
||||
},
|
||||
{
|
||||
"biz_id": "",
|
||||
"raw_text": " 后面",
|
||||
"type": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**示例:**
|
||||
|
||||
假设已经把需要发送的数据存放在文件 `./data.json` 中:
|
||||
@ -469,6 +1065,250 @@ curl -X POST --url "https://member.bilibili.com/x/vu/web/add/v3" \
|
||||
|
||||
</details>
|
||||
|
||||
## 编辑视频稿件(Web)
|
||||
|
||||
> https://member.bilibili.com/x/vu/web/edit
|
||||
|
||||
*请求方式: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | |
|
||||
|
||||
**正文参数(application/json):**
|
||||
|
||||
绝大部分参数与上传一致,部分参数只有不对编辑生效
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| aid | num | 视频 ID | 必要 | |
|
||||
| videos | array | 视频信息 | 必要 | 若为分 P 视频, 请注意数组元素顺序 |
|
||||
| title | str | 视频标题 | 必要 | 最多 80 字 |
|
||||
| cover | str | 视频封面 URL | 非必要 | 如果不传会自动取封面,参见[上传视频封面](#上传视频封面) |
|
||||
| cover43 | str | 视频封面 URL (比例为 4:3) | 非必要 | 可为空 |
|
||||
| copyright | num | 1: 自制<br />2: 转载 | 必要 | |
|
||||
| tid | num | 分区 ID | 必要 | |
|
||||
| tag | str | 视频标签 | 必要 | 多个标签用 `,` 分隔, 最多 10 个 |
|
||||
| desc_format_id | num | 简介格式 ID? | 必要 | 9999: 纯文本 |
|
||||
| desc | str | 视频简介 | 非必要 | 最多 2000 字 |
|
||||
| desc_v2 | str | 视频简介额外信息 | 非必要 | 比如有艾特操作时传递,见上传视频 |
|
||||
| recreate | num | 是否允许二创 | 必要 | -1: 允许(默认)<br />1: 不允许 |
|
||||
| dynamic | str | 粉丝动态 | 必要 | |
|
||||
| interactive | num | 互动视频? | 必要 | 0: 否 |
|
||||
| act_reserve_create | num | 活动预约? | 必要 | 0: 否 |
|
||||
| no_disturbance | num | 是否推送到动态 | 必要 | 0:不推送<br />1:推送 |
|
||||
| no_reprint | num | 是否允许转载 | 必要 | 1: 允许<br />0: 不允许 |
|
||||
| subtitle | obj | 字幕信息 | 必要 | |
|
||||
| web_os | num | 操作系统 | 必要 | 1: Web |
|
||||
| mission_id | num | 任务 ID | 非必要 | 0: 无 |
|
||||
| csrf | str | CSRF Token (位于 Cookie 中 bili_jct) | 必要 | |
|
||||
| new_web_edit | num | 未知 | 非必要 | 未知 |
|
||||
| is_360 | num | 是否全景 | 非必要 | -1:非全景<br/>1:全景 |
|
||||
| is_only_self | 可见性 | 非必要 | 0:公开<br/>1:仅自己可见 |
|
||||
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"aid": 123456,
|
||||
"bvid": "BV1xx411c7mD"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 获取新分区ID
|
||||
|
||||
> https://member.bilibili.com/x/vupre/web/archive/human/type2/list
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | -------- | ------ | ---- |
|
||||
| t | num | 当前时间 | 非必要 | UNIX 毫秒时间戳 |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----- |
|
||||
| code | num | 返回值 | 0: 成功<br />其他: 失败 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| type_list | array | 信息本体 | |
|
||||
|
||||
`type_list` 对象:
|
||||
|
||||
| 参数名 | 类型 | 内容 | 备注 |
|
||||
| ------ | ---- | -------- | ---- |
|
||||
| id | num | 分区ID | |
|
||||
| name | str | 分区名 | |
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"type_list": [
|
||||
{
|
||||
"id": 1001,
|
||||
"name": "影视"
|
||||
},
|
||||
{
|
||||
"id": 1002,
|
||||
"name": "娱乐"
|
||||
},
|
||||
{
|
||||
"id": 1003,
|
||||
"name": "音乐"
|
||||
},
|
||||
{
|
||||
"id": 1004,
|
||||
"name": "舞蹈"
|
||||
},
|
||||
{
|
||||
"id": 1005,
|
||||
"name": "动画"
|
||||
},
|
||||
{
|
||||
"id": 1006,
|
||||
"name": "绘画"
|
||||
},
|
||||
{
|
||||
"id": 1007,
|
||||
"name": "鬼畜"
|
||||
},
|
||||
{
|
||||
"id": 1008,
|
||||
"name": "游戏"
|
||||
},
|
||||
{
|
||||
"id": 1009,
|
||||
"name": "资讯"
|
||||
},
|
||||
{
|
||||
"id": 1010,
|
||||
"name": "知识"
|
||||
},
|
||||
{
|
||||
"id": 1011,
|
||||
"name": "人工智能"
|
||||
},
|
||||
{
|
||||
"id": 1012,
|
||||
"name": "科技数码"
|
||||
},
|
||||
{
|
||||
"id": 1013,
|
||||
"name": "汽车"
|
||||
},
|
||||
{
|
||||
"id": 1014,
|
||||
"name": "时尚美妆"
|
||||
},
|
||||
{
|
||||
"id": 1015,
|
||||
"name": "家装房产"
|
||||
},
|
||||
{
|
||||
"id": 1016,
|
||||
"name": "户外潮流"
|
||||
},
|
||||
{
|
||||
"id": 1017,
|
||||
"name": "健身"
|
||||
},
|
||||
{
|
||||
"id": 1018,
|
||||
"name": "体育运动"
|
||||
},
|
||||
{
|
||||
"id": 1019,
|
||||
"name": "手工"
|
||||
},
|
||||
{
|
||||
"id": 1020,
|
||||
"name": "美食"
|
||||
},
|
||||
{
|
||||
"id": 1021,
|
||||
"name": "小剧场"
|
||||
},
|
||||
{
|
||||
"id": 1022,
|
||||
"name": "旅游出行"
|
||||
},
|
||||
{
|
||||
"id": 1023,
|
||||
"name": "三农"
|
||||
},
|
||||
{
|
||||
"id": 1024,
|
||||
"name": "动物"
|
||||
},
|
||||
{
|
||||
"id": 1025,
|
||||
"name": "亲子"
|
||||
},
|
||||
{
|
||||
"id": 1026,
|
||||
"name": "健康"
|
||||
},
|
||||
{
|
||||
"id": 1027,
|
||||
"name": "情感"
|
||||
},
|
||||
{
|
||||
"id": 1029,
|
||||
"name": "vlog"
|
||||
},
|
||||
{
|
||||
"id": 1030,
|
||||
"name": "生活兴趣"
|
||||
},
|
||||
{
|
||||
"id": 1031,
|
||||
"name": "生活经验"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 上传视频文件
|
||||
|
||||
注: 目前看来上传的视频文件似乎不会自动删除, 而且似乎不是视频也可以上传的样子, 但是下载认证字段有效期只有 5 天
|
||||
|
||||
@ -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
@ -12,7 +12,7 @@
|
||||
| DYNAMIC_TYPE_WORD | 纯文字动态 |动态本身id|17|| [718377531474968613](https://t.bilibili.com/718377531474968613) |
|
||||
| DYNAMIC_TYPE_DRAW | 带图动态 |相簿id|11|相簿id| [718384798557536290](https://t.bilibili.com/718384798557536290) |
|
||||
| DYNAMIC_TYPE_ARTICLE | 投稿专栏 |专栏cv号|12|专栏cv号| [718372214316990512](https://t.bilibili.com/718372214316990512) |
|
||||
| DYNAMIC_TYPE_MUSIC | 音乐 ||| ||
|
||||
| DYNAMIC_TYPE_MUSIC | 音乐 | 音频au号 | 14 | 音频au号 | [128788657410273954](https://t.bilibili.com/128788657410273954) |
|
||||
| DYNAMIC_TYPE_COMMON_SQUARE | 装扮<br/>剧集点评<br/>普通分享 ||17|| [551309621391003098](https://t.bilibili.com/551309621391003098)<br/>[716503778995470375](https://t.bilibili.com/716503778995470375)<br/>[716481612656672789](https://t.bilibili.com/716481612656672789) |
|
||||
| DYNAMIC_TYPE_COMMON_VERTICAL | ||| ||
|
||||
| DYNAMIC_TYPE_LIVE | 直播间分享 |动态本身id||直播间id| [216042859353895488](https://t.bilibili.com/216042859353895488) |
|
||||
@ -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
@ -408,10 +408,10 @@ curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig' \
|
||||
| bubble | num | (?) | 非必要 | 值为`0` |
|
||||
| room\_type | num | (?) | 非必要 | `0` |
|
||||
| jumpfrom | num | (?) | 非必要 | `0` |
|
||||
| reply\_mid | num | (?) | 非必要 | `0` |
|
||||
| reply\_mid | num | 要“@”的用户mid | 非必要 | 默认为`0` |
|
||||
| reply\_attr | num | (?) | 非必要 | `0` |
|
||||
| reply\_uname | str | (?) | 非必要 | `""` |
|
||||
| replay\_dmid | str | (?) | 非必要 | `""` |
|
||||
| reply\_uname | str | 要“@”的用户名称 | 非必要 | 默认为`""`,提供reply\_mid时不需要提供 |
|
||||
| replay\_dmid | str | 要回复的弹幕id | 非必要 | 默认为`""` |
|
||||
| statistics | str | (?) | 非必要 | `{"appId":100,"platform":5}` |
|
||||
| csrf_token | str | 同csrf | 非必要 | |
|
||||
|
||||
|
||||
191
docs/live/gift.md
Normal file
191
docs/live/gift.md
Normal file
@ -0,0 +1,191 @@
|
||||
## 获取直播间内礼物
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/roomGiftList
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无 (无需添加Cookie)
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------------- | ---- | ---------- | ------ | -------------------------------- |
|
||||
| platform | str | web | 必要 | |
|
||||
| room_id | num | 主播房间号 | 必要 | |
|
||||
| area_parent_id | num | 直播分区 | 非必要 | 不填写可能会获取不到部分活动礼物 |
|
||||
| area_id | num | 直播子分区 | 非必要 | 不填写可能会获取不到部分活动礼物 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data.gift_config.base_config.list` 数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------- | ---- | ------------------- | --------------------------- |
|
||||
| id | num | 礼物id | |
|
||||
| name | str | 礼物名字 | |
|
||||
| price | num | 该值/1000的单位为元 | |
|
||||
| type | num | | |
|
||||
| coin_type | str | 一般为gold,即电池 | |
|
||||
| effect | num | 特效类型? | 观察到可能出现的值为0,2,3 |
|
||||
| stay_time | num | 礼物展示的时间? | 均为3 |
|
||||
| animation_frame_num | num | 礼物动画帧数 | |
|
||||
| desc | str | 礼物描述 | |
|
||||
| img_basic | str | 礼物图片 | |
|
||||
| gif | str | 礼物gif动画 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
查询`room_id=23375552`的直播间礼物信息
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/web-room/v1/giftPanel/roomGiftList?platform=pc&room_id=23174842'
|
||||
```
|
||||
|
||||
## 获取盲盒概率
|
||||
|
||||
> https://api.live.bilibili.com/xlive/general-interface/v1/blindFirstWin/getInfo
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无 (无需添加Cookie)
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ---- | ---------------- | ---- |
|
||||
| gift_id | num | | 盲盒对应的礼物id | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ----- | -------- | ---- |
|
||||
| note_text | str | 描述 | |
|
||||
| blind_price | num | 盲盒价格 | |
|
||||
| blind_gift_name | str | 盲盒名字 | |
|
||||
| gifts | array | 盲盒价格 | |
|
||||
|
||||
`gifts数组`中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | -------------- | ---- |
|
||||
| gift_id | num | 爆出的礼物id | |
|
||||
| price | num | 爆出的礼物价格 | |
|
||||
| gift_name | str | 礼物名字 | |
|
||||
| gift_img | str | 礼物图片 | |
|
||||
| chance | str | 概率 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
查询`心动盲盒`的概率
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/general-interface/v1/blindFirstWin/getInfo?gift_id=32251'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"note_text": "每日1次机会,首次投喂盲盒时享首抽福利!",
|
||||
"blind_price": 15000,
|
||||
"gifts": [
|
||||
{
|
||||
"gift_id": 32125,
|
||||
"price": 2000,
|
||||
"gift_name": "电影票",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/20864a10beaea541c7dce264d5bbc56676d63e4f.png",
|
||||
"is_win_gift": 0,
|
||||
"chance": "6%"
|
||||
},
|
||||
{
|
||||
"gift_id": 32126,
|
||||
"price": 9000,
|
||||
"gift_name": "棉花糖",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/b555682af41551c28f8ad19dc5c4ed87943c84f4.png",
|
||||
"is_win_gift": 0,
|
||||
"chance": "44.5%"
|
||||
},
|
||||
{
|
||||
"gift_id": 32128,
|
||||
"price": 16000,
|
||||
"gift_name": "爱心抱枕",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/824714c830966d7bec381e35ef808b1f478e21ee.png",
|
||||
"is_win_gift": 1,
|
||||
"chance": "45.56%"
|
||||
},
|
||||
{
|
||||
"gift_id": 32281,
|
||||
"price": 40000,
|
||||
"gift_name": "绮彩权杖",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/5cecbf274a4205ef76ed3f11c6540f0c6743363c.png",
|
||||
"is_win_gift": 1,
|
||||
"chance": "3.7%"
|
||||
},
|
||||
{
|
||||
"gift_id": 32282,
|
||||
"price": 100000,
|
||||
"gift_name": "时空之站",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/9ee53aedda3c891fdf23d35c14b3bdc4e0504a97.png",
|
||||
"is_win_gift": 1,
|
||||
"chance": "0.12%"
|
||||
},
|
||||
{
|
||||
"gift_id": 34894,
|
||||
"price": 200000,
|
||||
"gift_name": "蛇形护符",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/2127dd998083a8981ef4e31a4e6787ce5a4d0f9f.png",
|
||||
"is_win_gift": 1,
|
||||
"chance": "0.08%"
|
||||
},
|
||||
{
|
||||
"gift_id": 32132,
|
||||
"price": 2233000,
|
||||
"gift_name": "浪漫城堡",
|
||||
"gift_img": "https://s1.hdslb.com/bfs/live/216fac597b3c5619d56ed332bcf5f880ea657e8e.png",
|
||||
"is_win_gift": 1,
|
||||
"chance": "0.04%"
|
||||
}
|
||||
],
|
||||
"friday_yq_id": 106472,
|
||||
"is_first": true,
|
||||
"ab_res": 1,
|
||||
"uid": 451537183,
|
||||
"conf_id": 51,
|
||||
"pre_imgs": [
|
||||
{
|
||||
"gift_id": 32132,
|
||||
"preview_url": "http://i0.hdslb.com/bfs/live/e40708d0c8ef9505027ac33ad2a17a23e8e01139.mp4"
|
||||
}
|
||||
],
|
||||
"blind_gift_name": "心动盲盒"
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
592
docs/live/guard.md
Normal file
592
docs/live/guard.md
Normal file
@ -0,0 +1,592 @@
|
||||
## 查询大航海成员
|
||||
> https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topListNew
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:无(无需Cookie)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --------- | ---- | -------- | ------ | --------------------------------------- |
|
||||
| roomid | num | 直播间号 | 必要 | |
|
||||
| page | num | 页数 | 必要 | |
|
||||
| ruid | num | 主播id | 必要 | |
|
||||
| page_size | num | 页大小 | 非必要 | 默认20,最大30,若超过则作为10处理 |
|
||||
| typ | num | 排序方式 | 非必要 | typ=3,4,5分别为按周/月/总航海亲密度排序 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ----- | -------------- | --------------------------------------- |
|
||||
| info | obj | 主播mid | |
|
||||
| top3 | array | 整个列表的top3 |
|
||||
| list | array | 大航海成员 | page=1时,list[0]得到的会是榜单的第四名 |
|
||||
|
||||
`list`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | -------- | ----- |
|
||||
| ruid | num | 主播UID | |
|
||||
| rank | num | 榜单排名 | |
|
||||
| accompany | num | 陪伴天数 | |
|
||||
| uinfo | obj | 用户信息 | |
|
||||
| score | num | 亲密度 | 恒为0 |
|
||||
|
||||
`list`对象的`uinfo`:
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ---- | ------------ | -------------------------------------------------------- |
|
||||
| uid | num | 用户UID | |
|
||||
| base | obj | 用户基本信息 | |
|
||||
| medal | obj | 粉丝牌 | 与[此处](/bilibili-API-collect/docs/user/medals)基本一致 |
|
||||
|
||||
`list`对象的`uinfo`的`base`:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ------ | -------- | ---- |
|
||||
| name | string | 用户名 | |
|
||||
| face | string | 用戶头像 | |
|
||||
|
||||
|
||||
**示例:**
|
||||
|
||||
查询`23174842`直播间的大航海成员
|
||||
|
||||
|
||||
```shell
|
||||
curl ' https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topListNew?ruid=504140200&roomid=23174842&page=1'
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"info": {
|
||||
"num": 23,
|
||||
"page": 10,
|
||||
"now": 1,
|
||||
"achievement_level": 1,
|
||||
"anchor_guard_achieve_level": 0,
|
||||
"achievement_icon_src": "",
|
||||
"buy_guard_icon_src": "https://i0.hdslb.com/bfs/live/4a481b491767f9d91165a4631252de4503d63a17.png",
|
||||
"rule_doc_src": "",
|
||||
"ex_background_src": "https://i0.hdslb.com/bfs/live/d0e938839a9dee733e8a7f9f6a3a132108ae22bc.png",
|
||||
"color_start": "",
|
||||
"color_end": "",
|
||||
"tab_color": [
|
||||
"#4DDDDBD5",
|
||||
"#26CFCBC0"
|
||||
],
|
||||
"title_color": [
|
||||
"#FFC9CCD0",
|
||||
"#FF9499A0"
|
||||
]
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"ruid": 504140200,
|
||||
"rank": 4,
|
||||
"accompany": 36,
|
||||
"uinfo": {
|
||||
"uid": 432911315,
|
||||
"base": {
|
||||
"name": "幻想乡的年华",
|
||||
"face": "https://i2.hdslb.com/bfs/face/5ddde7a8466aa2d60d082ccfc08a0267445b193b.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": null,
|
||||
"origin_info": {
|
||||
"name": "幻想乡的年华",
|
||||
"face": "https://i2.hdslb.com/bfs/face/5ddde7a8466aa2d60d082ccfc08a0267445b193b.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 25,
|
||||
"color_start": 398668,
|
||||
"color_end": 6850801,
|
||||
"color_border": 16771156,
|
||||
"color": 398668,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 2,
|
||||
"score": 0,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#4775EFCC",
|
||||
"v2_medal_color_end": "#4775EFCC",
|
||||
"v2_medal_color_border": "#58A1F8FF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#000B7099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": null,
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 2,
|
||||
"expired_str": ""
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
},
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"ruid": 504140200,
|
||||
"rank": 5,
|
||||
"accompany": 513,
|
||||
"uinfo": {
|
||||
"uid": 7816639,
|
||||
"base": {
|
||||
"name": "在这样的时光",
|
||||
"face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": null,
|
||||
"origin_info": {
|
||||
"name": "在这样的时光",
|
||||
"face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 30,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 6809855,
|
||||
"color": 2951253,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 3,
|
||||
"score": 0,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": null,
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": ""
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
},
|
||||
"score": 0
|
||||
}
|
||||
],
|
||||
"top3": [
|
||||
{
|
||||
"ruid": 504140200,
|
||||
"rank": 1,
|
||||
"accompany": 306,
|
||||
"uinfo": {
|
||||
"uid": 85743027,
|
||||
"base": {
|
||||
"name": "-小fa---",
|
||||
"face": "https://i0.hdslb.com/bfs/face/82b2d0fef27b7b69be0d121b3ef0491504bbaae8.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": null,
|
||||
"origin_info": {
|
||||
"name": "-小fa---",
|
||||
"face": "https://i0.hdslb.com/bfs/face/82b2d0fef27b7b69be0d121b3ef0491504bbaae8.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 30,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 16771156,
|
||||
"color": 2951253,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 2,
|
||||
"score": 0,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": null,
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 2,
|
||||
"expired_str": ""
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
},
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"ruid": 504140200,
|
||||
"rank": 2,
|
||||
"accompany": 1005,
|
||||
"uinfo": {
|
||||
"uid": 28601039,
|
||||
"base": {
|
||||
"name": "捏软软的上帝",
|
||||
"face": "https://i2.hdslb.com/bfs/face/1f2a9b20294452d5c6ce9f40c66b186ef57b92e5.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": null,
|
||||
"origin_info": {
|
||||
"name": "捏软软的上帝",
|
||||
"face": "https://i2.hdslb.com/bfs/face/1f2a9b20294452d5c6ce9f40c66b186ef57b92e5.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 29,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 16771156,
|
||||
"color": 2951253,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 2,
|
||||
"score": 0,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": null,
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 2,
|
||||
"expired_str": ""
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
},
|
||||
"score": 0
|
||||
},
|
||||
{
|
||||
"ruid": 504140200,
|
||||
"rank": 3,
|
||||
"accompany": 95,
|
||||
"uinfo": {
|
||||
"uid": 3546834244995088,
|
||||
"base": {
|
||||
"name": "老实逸流-恩师软软riu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/0b1f95d926acfb06c8d7d9c66d2e1fabf3e1a3c4.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": null,
|
||||
"origin_info": {
|
||||
"name": "老实逸流-恩师软软riu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/0b1f95d926acfb06c8d7d9c66d2e1fabf3e1a3c4.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 28,
|
||||
"color_start": 398668,
|
||||
"color_end": 6850801,
|
||||
"color_border": 16771156,
|
||||
"color": 398668,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 2,
|
||||
"score": 0,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#4775EFCC",
|
||||
"v2_medal_color_end": "#4775EFCC",
|
||||
"v2_medal_color_border": "#58A1F8FF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#000B7099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": null,
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 2,
|
||||
"expired_str": ""
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
},
|
||||
"score": 0
|
||||
}
|
||||
],
|
||||
"my_follow_info": {
|
||||
"accompany_days": 0,
|
||||
"auto_renew": 0,
|
||||
"renew_remind": {
|
||||
"content": "",
|
||||
"type": 0,
|
||||
"hint": ""
|
||||
},
|
||||
"rank": 0,
|
||||
"ruid": 0,
|
||||
"uinfo": null,
|
||||
"expired_time": ""
|
||||
},
|
||||
"guard_warn": {
|
||||
"is_warn": 0,
|
||||
"warn": "",
|
||||
"expired": 0,
|
||||
"will_expired": 0,
|
||||
"address": ""
|
||||
},
|
||||
"exist_benefit": false,
|
||||
"remind_benefit": "立即上船",
|
||||
"ab": {
|
||||
"guard_accompany_list": 1
|
||||
},
|
||||
"remind_msg": "头号粉丝大航海,上船后可上榜",
|
||||
"typ": 0,
|
||||
"extop": null,
|
||||
"guard_leader": null,
|
||||
"main_text": "",
|
||||
"sub_text": "",
|
||||
"btn_type": 1,
|
||||
"prompt_text": "头号粉丝大航海,等你来上船"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 查询粉丝团成员
|
||||
|
||||
|
||||
> https://api.live.bilibili.com/xlive/general-interface/v1/rank/getFansMembersRank
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
认证方式:无(无需Cookie)
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| --------- | ---- | -------------- | ------------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| page | num | 页数 | 必要 | |
|
||||
| ruid | num | 主播id | 必要 | |
|
||||
| page_size | num | 每页返回的数量 | 必要 | 最大30,若超过则作为10处理 |
|
||||
| rank_type | num | 排序方式 | 非必要 | 1:按照粉丝牌还亮着的粉丝团成员的亲密度排序<br> 2:按照**所有**没上过舰的粉丝团成员的亲密度排序 |
|
||||
| ts | num | 13位时间戳 | 当rank_type=2时必要 | 该值>=1000即可 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| message | str | 错误信息 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------ | ----- | -------------- | ---- |
|
||||
| item | array | 内容 | |
|
||||
| num | num | 粉丝团成员数量 |
|
||||
| medal_status | num | |
|
||||
|
||||
`list`对象
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------ | ---- | ---------------------------------------------------------------- | ---- |
|
||||
| user_rank | num | 排名 |
|
||||
| uid | num | 用户UID |
|
||||
| name | str | 用户名 |
|
||||
| face | str | 用户头像 |
|
||||
| score | num | 亲密度 |
|
||||
| medal_name | str | 粉丝牌名字 |
|
||||
| level | num | 粉丝牌等级 |
|
||||
| target_id | num | 主播UID |
|
||||
| guard_level | num | 大航海类型,1,2,3分别为总督,提督,舰长 |
|
||||
| medal_color_start | num | 粉丝牌渐变起始色 |
|
||||
| medal_color_end | num | 粉丝牌渐变结束色 |
|
||||
| medal_color_border | num | 粉丝牌边框颜色 |
|
||||
| guard_icon | str | 大航海图标URL |
|
||||
| uinfo_medal | obj | 粉丝牌,与[此处](/bilibili-API-collect/docs/user/medals)基本一致 |
|
||||
|
||||
|
||||
**示例:**
|
||||
|
||||
查询用户`504140200`的粉丝团成员
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/general-interface/v1/rank/getFansMembersRank?ruid=504140200&page_size=10&page=1'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"item": [
|
||||
{
|
||||
"user_rank": 1,
|
||||
"uid": 85743027,
|
||||
"name": "小软兔のfa",
|
||||
"face": "https://i0.hdslb.com/bfs/face/bdbcabf8d927844ae4f8f9c65862077e29afb989.jpg",
|
||||
"score": 50990540,
|
||||
"medal_name": "软饭兔",
|
||||
"level": 30,
|
||||
"target_id": 504140200,
|
||||
"special": "",
|
||||
"guard_level": 3,
|
||||
"medal_color_start": 2951253,
|
||||
"medal_color_end": 10329087,
|
||||
"medal_color_border": 6809855,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"uinfo_medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 30,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 6809855,
|
||||
"color": 0,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 3,
|
||||
"score": 50990540,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"tag": null,
|
||||
"is_pokeable": false
|
||||
},
|
||||
{
|
||||
"user_rank": 2,
|
||||
"uid": 7816639,
|
||||
"name": "在这样的时光",
|
||||
"face": "https://i1.hdslb.com/bfs/face/3b0091dda76e095351907e9c708b9571716aa3e1.jpg",
|
||||
"score": 50704568,
|
||||
"medal_name": "软饭兔",
|
||||
"level": 30,
|
||||
"target_id": 504140200,
|
||||
"special": "",
|
||||
"guard_level": 3,
|
||||
"medal_color_start": 2951253,
|
||||
"medal_color_end": 10329087,
|
||||
"medal_color_border": 6809855,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"uinfo_medal": {
|
||||
"name": "软饭兔",
|
||||
"level": 30,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 6809855,
|
||||
"color": 0,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 504140200,
|
||||
"guard_level": 3,
|
||||
"score": 50704568,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"tag": null,
|
||||
"is_pokeable": false
|
||||
}
|
||||
],
|
||||
"num": 89,
|
||||
"medal_status": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
@ -2135,6 +2135,7 @@ curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory' \
|
||||
| ptype | num | `8` | | |
|
||||
| dolby | num | `5` | | |
|
||||
| panorama | num | `1` | | |
|
||||
| only_audio | num | 是否为音频流 | 非必要 | 默认为视频流,`1` 为音频流 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
|
||||
1269
docs/live/live_replay.md
Normal file
1269
docs/live/live_replay.md
Normal file
File diff suppressed because it is too large
Load Diff
@ -11,6 +11,7 @@
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | -------------------- |
|
||||
| platform | str | 客户端? | 必要 | 默认值web |
|
||||
@ -270,12 +271,19 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | ------------------------ | ------ | ----------------------------------- |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
|
||||
| area_v2 | num | 直播分区id(子分区id) | 必要 | 详见[直播分区](live_area.md) |
|
||||
| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link<br />web在线直播:web_link<br />bililink:android_link |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间 id |
|
||||
| area_v2 | num | 直播分区id(子分区 id) | 必要 | 详见[直播分区](live_area.md) |
|
||||
| platform | str | 直播平台 | 必要 | 可选值:`pc`、`pc_link` (直播姬 PC), `android_link` (直播姬 Android) |
|
||||
| csrf | str | CSRF Token(位于 cookie) | 必要 | |
|
||||
| csrf_token | str | CSRF Token(位于 cookie) | 非必要 | |
|
||||
| version | str | 直播姬版本号 | 非必要 | 建议与 `build` 一同提供,详见下方说明。可从[直播姬版本号获取](#直播姬版本号获取)接口获得。 |
|
||||
| build | num | 直播姬构建号 | 非必要 | 建议与 `version` 一同提供。 |
|
||||
| appkey | str | APP密钥 | 条件性必要 | 特定情况下必要,详见下方说明。 |
|
||||
| sign | str | APP API签名得到的 sign | 条件性必要 | 特定情况下必要,详见下方说明。 |
|
||||
|
||||
**说明**: 截止至 2025 年 7 月 20 日,部分账户不提供 `version` `build` `appkey` `sign` 也可获取推流码,部分账户会返回 `60024` (需要人脸认证),此时请尝试提供 `version` `build`,目前似乎没有校验,提供了就可以。(比如 `version:1.0.0` `build:1234`) 如果仍然返回 `60024`,请尝试提供 `appkey` `sign` 参数。如果你的 `version` 和 `build` 为 `7.19.0.9432` 和 `9432`,必须提供 `appkey` `sign`。
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -283,10 +291,11 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />1:错误<br />60009:分区不存在<br />60024: 目标分区需要人脸认证<br />60013:非常抱歉,您所在的地区受实名认证限制无法开播<br />**(其他错误码有待补充)** |
|
||||
| msg | str | 错误信息 | 默认为空 |
|
||||
| message | str | 错误信息 | 默认为空 |
|
||||
| data | obj | 信息本体 | |
|
||||
| code | num | 返回值 | 0: 成功<br />-400: 请求错误<br />1: 错误<br />60009: 分区不存在<br />60013: 所在地区受实名认证限制无法开播<br />60024: 目标分区需要人脸认证<br />60034: 系统维护仅支持直播姬开播<br />60037: web在线开播已下线<br />65530: token错误 (登录失效)<br />**(其他错误码有待补充)** |
|
||||
| msg | str | 提示信息 | 默认为空 |
|
||||
| message | str | 提示信息 | 默认为空 |
|
||||
| data | obj | 信息本体 | 成功时返回 |
|
||||
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -296,7 +305,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
| status | str | 直播间状态 | `LIVE` |
|
||||
| room_type | num | 0 | 作用尚不明确 |
|
||||
| rtmp | obj | RTMP推流地址信息 | |
|
||||
| protocols | array | ??? | 作用尚不明确 |
|
||||
| protocols | array | 推流协议、地址、密钥等信息<br />其中地址、密钥与 `rtmp` 字段的内容是一致的 | 协议只见到过 `rtmp` |
|
||||
| try_time | str | ??? | 作用尚不明确 |
|
||||
| live_key | str | 标记直播场次的key | |
|
||||
| sub_session_key | str | 信息变动标识 | |
|
||||
@ -314,23 +323,23 @@ curl 'https://api.live.bilibili.com/room/v1/Room/update' \
|
||||
| addr | str | RTMP推流(发送)地址 | **重要** |
|
||||
| code | str | RTMP推流参数(密钥) | **重要** |
|
||||
| new_link | str | 获取CDN推流ip地址重定向信息的url | 没啥用 |
|
||||
| provider | str | ??? | 作用尚不明确 |
|
||||
| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 |
|
||||
|
||||
`data`中的`protocols`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------ | ------------ |
|
||||
| 0 | obj | ??? | 作用尚不明确 |
|
||||
| 0 | obj | 与 `rtmp` 字段在地址和密钥上相同的推流协议信息 | |
|
||||
|
||||
`data`中的`protocols`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | -------------------------------- | ------------ |
|
||||
| protocol | str | rtmp | 作用尚不明确 |
|
||||
| addr | str | RTMP推流(发送)地址 | |
|
||||
| code | str | RTMP推流参数(密钥) | |
|
||||
| protocol | str | rtmp | 推流协议 |
|
||||
| addr | str | RTMP推流(发送)地址 | 格式为 `rtmp://<推流节点>/live-bvc/` |
|
||||
| code | str | RTMP推流参数(密钥) | 格式为 `?streamname=live_<B站UID>_<未知数字>&key=<密钥>&schedule=rtmp&pflag=<开播平台标志>` |
|
||||
| new_link | str | 获取CDN推流ip地址重定向信息的url | |
|
||||
| provider | str | txy | 作用尚不明确 |
|
||||
| provider | str | 推流云服务节点厂商 | `txy`: 腾讯云 |
|
||||
|
||||
`data`中的`notice`对象:
|
||||
|
||||
@ -431,6 +440,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | -------------------- |
|
||||
| platform | str | 直播平台 | 必要 | 直播姬(pc):pc_link<br />直播姬(android):android_link |
|
||||
| room_id | num | 直播间id | 必要 | 必须为自己的直播间id |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
|
||||
@ -440,9 +450,9 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />-400:没有权限<br />**(其他错误码有待补充)** |
|
||||
| msg | str | 错误信息 | 默认为空 |
|
||||
| message | str | 错误信息 | 默认为空 |
|
||||
| code | num | 返回值 | 0:成功<br />65530:token错误(登录错误)<br />-400:没有权限<br />60034: 系统维护仅支持直播姬关播<br />**(其他错误码有待补充)** |
|
||||
| msg | str | 提示信息 | 默认为空 |
|
||||
| message | str | 提示信息 | 默认为空 |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
@ -458,6 +468,7 @@ curl 'https://api.live.bilibili.com/room/v1/Room/startLive' \
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \
|
||||
--data-urlencode 'platform=pc_link' \
|
||||
--data-urlencode 'room_id=10352053' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
@ -480,6 +491,121 @@ curl 'https://api.live.bilibili.com/room/v1/Room/stopLive' \
|
||||
|
||||
</details>
|
||||
|
||||
## 预更新直播间信息
|
||||
|
||||
> https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo
|
||||
|
||||
*请求方法: POST*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
鉴权方式:Cookie中`bili_jct`的值正确并与`csrf`相同
|
||||
|
||||
**正文参数( application/x-www-form-urlencoded ):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ----- | --- | ---- | ----- | --- |
|
||||
| csrf | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| csrf_token | str | CSRF Token(位于cookie) | 必要 | |
|
||||
| platform | str | 平台标识 | 必要 | 似乎可随意提供<br />网页端: web |
|
||||
| mobi_app | str | 平台标识? | 必要 | 似乎可随意提供<br />网页端: web |
|
||||
| build | num | 构建标识? | 必要 | 建议取`1`,似乎可随意提供 |
|
||||
| cover | str | 直播封面链接 | 非必要 | 图片链接需要在`.hdslb.com`域名下 |
|
||||
| title | str | 直播间标题 | 非必要 | 参见[更新直播间信息](#更新直播间信息)的title参数 |
|
||||
| coverVertical | str | (?) | 非必要 | 作用尚不明确 |
|
||||
| liveDirectionType | num | (?) | 非必要 | `1` |
|
||||
| visit_id | str | (?) | 非必要 | `""` |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| code | num | 返回值 | 0: 成功<br />1: 错误<br />100402: 图片地址不合法 |
|
||||
| message | str | 错误信息 | 成功时为`"0"` |
|
||||
| ttl | num | `1` | |
|
||||
| data | obj | 内容本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| audit_info | obj | 审核信息 | |
|
||||
|
||||
`data.audit_info`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| audit_title | str | 被审核的标题 | |
|
||||
| audit_title_status | num | 标题审核状态 | |
|
||||
| audit_title_reason | str | 标题审核提示 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
更新直播间封面
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \
|
||||
--data-urlencode 'platform=web' \
|
||||
--data-urlencode 'mobi_app=web' \
|
||||
--data-urlencode 'build=1' \
|
||||
--data-urlencode 'cover=https://i0.hdslb.com/bfs/live/59fc254c1f51a962dbf69ae85e4920f2f6fb8dcd.png' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data":{
|
||||
"audit_info":{
|
||||
"audit_title": "",
|
||||
"audit_title_status": 0,
|
||||
"audit_title_reason": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
使用此接口更新直播间标题
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-blink/v1/preLive/UpdatePreLiveInfo' \
|
||||
--data-urlencode 'platform=web' \
|
||||
--data-urlencode 'mobi_app=web' \
|
||||
--data-urlencode 'build=1' \
|
||||
--data-urlencode 'title=你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧' \
|
||||
--data-urlencode 'csrf=xxx' \
|
||||
-b 'SESSDATA=xxx;bili_jct=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data":{
|
||||
"audit_info":{
|
||||
"audit_title": "你好你好,我是花火~咱们来找点乐子吧?小灰毛,不要害羞嘛,要大胆的来,一起欢愉吧",
|
||||
"audit_title_status": 2,
|
||||
"audit_title_reason": "先发后审"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 更新直播间公告
|
||||
|
||||
@ -539,3 +665,78 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/index/updateRoomNews' \
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## PC直播姬版本号获取
|
||||
> https://api.live.bilibili.com/xlive/app-blink/v1/liveVersionInfo/getHomePageLiveVersion
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无
|
||||
|
||||
鉴权方式:无
|
||||
|
||||
**请求参数 (Query):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | ------------------------ | ------ | --------------------- |
|
||||
| appkey | str | APP密钥 | 不必要 |使用PC投稿工具的appkey和appsec|
|
||||
| sign | str | APP API签名得到的sign | 不必要 | |
|
||||
| system_version | num | 暂不清楚 | 必要 | 可以直接写2 |
|
||||
| ts | num | 10位时间戳 | 不必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ----- | -------- | ------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-400:请求错误 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | 作用尚不明确 |
|
||||
| data | obj | 内容本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | ------------------------ | ---------------------- |
|
||||
| curr_version | str | 直播姬最新版本号 | |
|
||||
| build | num | 直播姬构建号 | |
|
||||
| instruction | str | 更新说明(简要) | |
|
||||
| file_size | str | 文件大小(字节) | |
|
||||
| file_md5 | str | 安装包文件MD5 | |
|
||||
| content | str | HTML格式的更新内容 | |
|
||||
| download_url | str | 安装包下载链接 | |
|
||||
| hdiffpatch_switch | num | 增量更新开关? | |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取直播姬最新版本信息
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-blink/v1/liveVersionInfo/getHomePageLiveVersion?appkey=aae92bc66f3edfab&sign=49d289e3ad34c509cc66fbee1c0affec&system_version=2&ts=1752971145'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"curr_version": "7.19.0.9432",
|
||||
"build": 9432,
|
||||
"instruction": "\u3010\u65b0\u589e\u3011\u65b0\u589e\u7f8e\u989c\u8c03\u6574\u5165\u53e3\n\u3010\u4f18\u5316\u3011\u5df2\u77e5\u95ee\u9898\u4f18\u5316",
|
||||
"file_size": "300867136",
|
||||
"file_md5": "e1619a8e2603aa94b58a58121f94403f",
|
||||
"content": "<p>\u3010\u65b0\u589e\u3011\u65b0\u589e\u7f8e\u989c\u8c03\u6574\u5165\u53e3<br>\u3010\u4f18\u5316\u3011\u5df2\u77e5\u95ee\u9898\u4f18\u5316</p><p></p><p><br></p>",
|
||||
"download_url": "https://dl.hdslb.com/bili/bililive/win/Livehime-Win-beta-7.19.0.9432-x64.exe",
|
||||
"hdiffpatch_switch": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
# 直播间用户实用 API
|
||||
|
||||
## 获取用户持有的粉丝勋章信息
|
||||
## 获取自己持有的粉丝勋章信息
|
||||
|
||||
> ~~https://api.live.bilibili.com/fans_medal/v5/live_fans_medal/iApiMedal~~ (旧)
|
||||
> https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals
|
||||
@ -20,12 +20,12 @@
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-1002002:参数异常<br />-500:服务器异常 |
|
||||
| message | str | 错误信息 | 默认为 "0" |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | 默认为 "0" |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
| guard_level | num | | |
|
||||
| guard_medal_title | str | 加成状态 | |
|
||||
| intimacy | num | 当前已得亲密度 | |
|
||||
| is_lighted | num | 是否点亮 | 0:未点亮<br />1:点亮 |
|
||||
| is_lighted | num | 是否点亮 | 0:未点亮<br />1:点亮 |
|
||||
| level | num | 勋章等级 | |
|
||||
| medal_name | str | 勋章名 | |
|
||||
| medal_color_border | num | 勋章边框颜色信息 | 颜色数值为 10 进制的 16 进制值(下同) |
|
||||
@ -116,6 +116,7 @@ curl https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals?page=1&
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 佩戴勋章
|
||||
|
||||
> https://api.live.bilibili.com/xlive/web-room/v1/fansMedal/wear
|
||||
@ -193,12 +194,12 @@ _请求方式:GET_
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />1:参数错误 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为当日签到奖励内容 |
|
||||
| data | obj | 信息本体 | 默认为空 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为当日签到奖励内容 |
|
||||
| data | obj | 信息本体 | 默认为空 |
|
||||
|
||||
(目前已下线)
|
||||
|
||||
@ -229,29 +230,29 @@ _请求方式:GET_
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| ttl | num | 1 | |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| data | obj | 信息本体 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------------- | ----- | ---------------------------- | ---------------------- |
|
||||
| text | str | 今日签到奖励信息 | 默认为空 |
|
||||
| specialText | str | 连续签到奖励信息 | 默认为空 |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------------- | ----- | ---------------------------- | ------------------------ |
|
||||
| text | str | 今日签到奖励信息 | 默认为空 |
|
||||
| specialText | str | 连续签到奖励信息 | 默认为空 |
|
||||
| status | num | 签到状态 | 0:未签到<br />1:已签到 |
|
||||
| allDays | num | 当月天数 | |
|
||||
| curMonth | num | 当前月 | |
|
||||
| curYear | num | 当前年 | |
|
||||
| curDay | num | 当前日 | |
|
||||
| curData | str | 当前日期(格式化) | eg: 2023-2-19 |
|
||||
| hadSignDays | num | 当月已签到天数 | 默认为0 |
|
||||
| newTask | num | 作用未知 | 默认为0 |
|
||||
| signDaysList | array | 当月已签到日列表 | 默认为空 |
|
||||
| signBonusDaysList | array | 当月已签到且有特殊奖励日列表 | 默认为空 |
|
||||
| allDays | num | 当月天数 | |
|
||||
| curMonth | num | 当前月 | |
|
||||
| curYear | num | 当前年 | |
|
||||
| curDay | num | 当前日 | |
|
||||
| curData | str | 当前日期(格式化) | eg: 2023-2-19 |
|
||||
| hadSignDays | num | 当月已签到天数 | 默认为0 |
|
||||
| newTask | num | 作用未知 | 默认为0 |
|
||||
| signDaysList | array | 当月已签到日列表 | 默认为空 |
|
||||
| signBonusDaysList | array | 当月已签到且有特殊奖励日列表 | 默认为空 |
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
@ -308,12 +309,12 @@ _请求方式:GET_
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------- |
|
||||
| code | num | 返回值 | 0:成功 |
|
||||
| ttl | num | 1 | |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| data | obj | 信息本体 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -368,3 +369,880 @@ _请求方式:GET_
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 查询直播间贡献榜
|
||||
|
||||
> https://api.live.bilibili.com//xlive/general-interface/v1/rank/getOnlineGoldRank
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无
|
||||
|
||||
**url 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | -------------- | ------ | ------ |
|
||||
| roomId | num | 房间号 | 必要 | |
|
||||
| page | num | 返回结果页数 | 必要 | |
|
||||
| pageSize | num | 返回结果页大小 | 必要 | 最大50 |
|
||||
| ruid | num | 主播uid | 必要 | |
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---- |
|
||||
| code | num | 返回值 | |
|
||||
| message | str | 错误信息 | |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
`data`中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------------- | ----- | ------------ | ---- |
|
||||
| onlineNum | num | 在线观众数量 | |
|
||||
| OnlineRankItem | array | 结果 | | |
|
||||
|
||||
`OnlineRankItem`数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------ | ---- | ------------ | ---- |
|
||||
| userRank | num | 贡献值排名 | |
|
||||
| uid | num | 用户id | | |
|
||||
| name | str | 用户名字 | | |
|
||||
| face | str | 用户头像 | | |
|
||||
| score | num | 贡献值 | | |
|
||||
| medalInfo | obj | 粉丝牌对象 | | |
|
||||
| guard_level | num | 大航海类型 | | |
|
||||
| wealth_level | num | 荣耀等级 | | |
|
||||
| guard_level | num | 大航海类型 | | |
|
||||
| uinfo | obj | 用户详细信息 | | |
|
||||
|
||||
`uinfo`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ---- | ------------ | ---- |
|
||||
| uid | num | 用户uid | |
|
||||
| base | obj | 用户基本信息 | | |
|
||||
| medal | obj | 用户粉丝牌 | | |
|
||||
| face | str | 用户头像 | | |
|
||||
| guard | obj | 大航海 | | |
|
||||
|
||||
`guard`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ---- | -------------- | ---- |
|
||||
| level | num | 大航海类型 | |
|
||||
| expired_str | str | 大航海到期时间 | | |
|
||||
|
||||
|
||||
**示例:**
|
||||
|
||||
查询`23174842`直播间的大航海成员
|
||||
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com//xlive/general-interface/v1/rank/getOnlineGoldRank?roomId=26854650&ruid=3493118494116797&page=3&pageSize=20'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"onlineNum": 45,
|
||||
"OnlineRankItem": [
|
||||
{
|
||||
"userRank": 1,
|
||||
"uid": 36136895,
|
||||
"name": "四月hallu",
|
||||
"face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg",
|
||||
"score": 3768,
|
||||
"medalInfo": {
|
||||
"guardLevel": 3,
|
||||
"medalColorStart": 2951253,
|
||||
"medalColorEnd": 10329087,
|
||||
"medalColorBorder": 6809855,
|
||||
"medalName": "钢板鹿",
|
||||
"level": 29,
|
||||
"targetId": 3493118494116797,
|
||||
"isLight": 1
|
||||
},
|
||||
"guard_level": 3,
|
||||
"wealth_level": 41,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 36136895,
|
||||
"base": {
|
||||
"name": "四月hallu",
|
||||
"face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "四月hallu",
|
||||
"face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "四月hallu",
|
||||
"face": "https://i2.hdslb.com/bfs/face/5e5166ecc4c17d4dbc7a09dbb6bb749d9f537985.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "钢板鹿",
|
||||
"level": 29,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 6809855,
|
||||
"color": 2951253,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 3493118494116797,
|
||||
"guard_level": 3,
|
||||
"score": 50422604,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 41,
|
||||
"dm_icon_key": "ChronosWealth_4.png"
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-07-07 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 2,
|
||||
"uid": 1182882611,
|
||||
"name": "重生指令",
|
||||
"face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg",
|
||||
"score": 1546,
|
||||
"medalInfo": {
|
||||
"guardLevel": 0,
|
||||
"medalColorStart": 12632256,
|
||||
"medalColorEnd": 12632256,
|
||||
"medalColorBorder": 12632256,
|
||||
"medalName": "雪狐咕",
|
||||
"level": 24,
|
||||
"targetId": 477792,
|
||||
"isLight": 0
|
||||
},
|
||||
"guard_level": 3,
|
||||
"wealth_level": 22,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 1182882611,
|
||||
"base": {
|
||||
"name": "重生指令",
|
||||
"face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "重生指令",
|
||||
"face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "重生指令",
|
||||
"face": "https://i2.hdslb.com/bfs/face/6762c39b424e6de5bf0292fd12a019201a501fb9.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "雪狐咕",
|
||||
"level": 24,
|
||||
"color_start": 12632256,
|
||||
"color_end": 12632256,
|
||||
"color_border": 12632256,
|
||||
"color": 1725515,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 0,
|
||||
"ruid": 477792,
|
||||
"guard_level": 0,
|
||||
"score": 50010220,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#919298CC",
|
||||
"v2_medal_color_end": "#919298CC",
|
||||
"v2_medal_color_border": "#919298CC",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C6C7299",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 22,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-06-29 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 3,
|
||||
"uid": 35007043,
|
||||
"name": "_单推哈鹿halluの狐狸",
|
||||
"face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg",
|
||||
"score": 1543,
|
||||
"medalInfo": {
|
||||
"guardLevel": 2,
|
||||
"medalColorStart": 2951253,
|
||||
"medalColorEnd": 10329087,
|
||||
"medalColorBorder": 16771156,
|
||||
"medalName": "钢板鹿",
|
||||
"level": 29,
|
||||
"targetId": 3493118494116797,
|
||||
"isLight": 1
|
||||
},
|
||||
"guard_level": 2,
|
||||
"wealth_level": 40,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 35007043,
|
||||
"base": {
|
||||
"name": "_单推哈鹿halluの狐狸",
|
||||
"face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "_单推哈鹿halluの狐狸",
|
||||
"face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "_单推哈鹿halluの狐狸",
|
||||
"face": "https://i1.hdslb.com/bfs/face/6373a98189480661fc725494ab5ab68253522b8f.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "钢板鹿",
|
||||
"level": 29,
|
||||
"color_start": 2951253,
|
||||
"color_end": 10329087,
|
||||
"color_border": 16771156,
|
||||
"color": 2951253,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 3493118494116797,
|
||||
"guard_level": 2,
|
||||
"score": 50360413,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/98a201c14a64e860a758f089144dcf3f42e7038c.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#9660E5CC",
|
||||
"v2_medal_color_end": "#9660E5CC",
|
||||
"v2_medal_color_border": "#D47AFFFF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#6C00A099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 40,
|
||||
"dm_icon_key": "ChronosWealth_4.png"
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 2,
|
||||
"expired_str": "2025-07-30 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 7,
|
||||
"uid": 44152084,
|
||||
"name": "_柚_子_hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg",
|
||||
"score": 324,
|
||||
"medalInfo": {
|
||||
"guardLevel": 3,
|
||||
"medalColorStart": 398668,
|
||||
"medalColorEnd": 6850801,
|
||||
"medalColorBorder": 6809855,
|
||||
"medalName": "钢板鹿",
|
||||
"level": 26,
|
||||
"targetId": 3493118494116797,
|
||||
"isLight": 1
|
||||
},
|
||||
"guard_level": 3,
|
||||
"wealth_level": 32,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 44152084,
|
||||
"base": {
|
||||
"name": "_柚_子_hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "_柚_子_hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "_柚_子_hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/137498c2c6a3231e5b6047af12a64bbd19627dcb.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "钢板鹿",
|
||||
"level": 26,
|
||||
"color_start": 398668,
|
||||
"color_end": 6850801,
|
||||
"color_border": 6809855,
|
||||
"color": 398668,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 3493118494116797,
|
||||
"guard_level": 3,
|
||||
"score": 50057285,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#4775EFCC",
|
||||
"v2_medal_color_end": "#4775EFCC",
|
||||
"v2_medal_color_border": "#58A1F8FF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#000B7099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 32,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-06-27 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 8,
|
||||
"uid": 8242366,
|
||||
"name": "翟赧hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg",
|
||||
"score": 276,
|
||||
"medalInfo": {
|
||||
"guardLevel": 3,
|
||||
"medalColorStart": 398668,
|
||||
"medalColorEnd": 6850801,
|
||||
"medalColorBorder": 6809855,
|
||||
"medalName": "钢板鹿",
|
||||
"level": 28,
|
||||
"targetId": 3493118494116797,
|
||||
"isLight": 1
|
||||
},
|
||||
"guard_level": 3,
|
||||
"wealth_level": 35,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 8242366,
|
||||
"base": {
|
||||
"name": "翟赧hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "翟赧hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "翟赧hallu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/9b312f4146ca2c8a1d2e5468e345ecfb60be3874.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "钢板鹿",
|
||||
"level": 28,
|
||||
"color_start": 398668,
|
||||
"color_end": 6850801,
|
||||
"color_border": 6809855,
|
||||
"color": 398668,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 3493118494116797,
|
||||
"guard_level": 3,
|
||||
"score": 50208414,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#4775EFCC",
|
||||
"v2_medal_color_end": "#4775EFCC",
|
||||
"v2_medal_color_border": "#58A1F8FF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#000B7099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 35,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-08-05 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 9,
|
||||
"uid": 418232,
|
||||
"name": "lug7",
|
||||
"face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif",
|
||||
"score": 171,
|
||||
"medalInfo": {
|
||||
"guardLevel": 3,
|
||||
"medalColorStart": 398668,
|
||||
"medalColorEnd": 6850801,
|
||||
"medalColorBorder": 6809855,
|
||||
"medalName": "钢板鹿",
|
||||
"level": 26,
|
||||
"targetId": 3493118494116797,
|
||||
"isLight": 1
|
||||
},
|
||||
"guard_level": 3,
|
||||
"wealth_level": 28,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 418232,
|
||||
"base": {
|
||||
"name": "lug7",
|
||||
"face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "lug7",
|
||||
"face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "lug7",
|
||||
"face": "http://i2.hdslb.com/bfs/face/5d2c92beb774a4bb30762538bb102d23670ae9c0.gif"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "钢板鹿",
|
||||
"level": 26,
|
||||
"color_start": 398668,
|
||||
"color_end": 6850801,
|
||||
"color_border": 6809855,
|
||||
"color": 398668,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 3493118494116797,
|
||||
"guard_level": 3,
|
||||
"score": 50050050,
|
||||
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#4775EFCC",
|
||||
"v2_medal_color_end": "#4775EFCC",
|
||||
"v2_medal_color_border": "#58A1F8FF",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#000B7099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 28,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-06-15 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 10,
|
||||
"uid": 452228643,
|
||||
"name": "很糊的小龔鬱hallu",
|
||||
"face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg",
|
||||
"score": 35,
|
||||
"medalInfo": {
|
||||
"guardLevel": 0,
|
||||
"medalColorStart": 6126494,
|
||||
"medalColorEnd": 6126494,
|
||||
"medalColorBorder": 6126494,
|
||||
"medalName": "牧斯",
|
||||
"level": 6,
|
||||
"targetId": 3493087074585126,
|
||||
"isLight": 1
|
||||
},
|
||||
"guard_level": 3,
|
||||
"wealth_level": 35,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 452228643,
|
||||
"base": {
|
||||
"name": "很糊的小龔鬱hallu",
|
||||
"face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "很糊的小龔鬱hallu",
|
||||
"face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "很糊的小龔鬱hallu",
|
||||
"face": "https://i0.hdslb.com/bfs/face/996fa85fe42d582dd013dcb435de3f3ff4d33f6c.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": {
|
||||
"name": "牧斯",
|
||||
"level": 6,
|
||||
"color_start": 6126494,
|
||||
"color_end": 6126494,
|
||||
"color_border": 6126494,
|
||||
"color": 6126494,
|
||||
"id": 0,
|
||||
"typ": 0,
|
||||
"is_light": 1,
|
||||
"ruid": 3493087074585126,
|
||||
"guard_level": 0,
|
||||
"score": 3400,
|
||||
"guard_icon": "",
|
||||
"honor_icon": "",
|
||||
"v2_medal_color_start": "#5866C799",
|
||||
"v2_medal_color_end": "#5866C799",
|
||||
"v2_medal_color_border": "#5866C799",
|
||||
"v2_medal_color_text": "#FFFFFFFF",
|
||||
"v2_medal_color_level": "#000B7099",
|
||||
"user_receive_count": 0
|
||||
},
|
||||
"wealth": {
|
||||
"level": 35,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-06-19 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"userRank": 11,
|
||||
"uid": 164871173,
|
||||
"name": "奶浴-bllss",
|
||||
"face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg",
|
||||
"score": 26,
|
||||
"medalInfo": null,
|
||||
"guard_level": 3,
|
||||
"wealth_level": 36,
|
||||
"is_mystery": false,
|
||||
"uinfo": {
|
||||
"uid": 164871173,
|
||||
"base": {
|
||||
"name": "奶浴-bllss",
|
||||
"face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg",
|
||||
"name_color": 0,
|
||||
"is_mystery": false,
|
||||
"risk_ctrl_info": {
|
||||
"name": "奶浴-bllss",
|
||||
"face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg"
|
||||
},
|
||||
"origin_info": {
|
||||
"name": "奶浴-bllss",
|
||||
"face": "https://i2.hdslb.com/bfs/face/f48dd7c1e432eb91e5fd286757c4e2600930f4c5.jpg"
|
||||
},
|
||||
"official_info": {
|
||||
"role": 0,
|
||||
"title": "",
|
||||
"desc": "",
|
||||
"type": -1
|
||||
},
|
||||
"name_color_str": ""
|
||||
},
|
||||
"medal": null,
|
||||
"wealth": {
|
||||
"level": 36,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"title": null,
|
||||
"guard": {
|
||||
"level": 3,
|
||||
"expired_str": "2025-07-20 23:59:59"
|
||||
},
|
||||
"uhead_frame": null,
|
||||
"guard_leader": null
|
||||
}
|
||||
},
|
||||
],
|
||||
"ownInfo": {
|
||||
"uid": 0,
|
||||
"name": "",
|
||||
"face": "",
|
||||
"rank": -1,
|
||||
"needScore": 0,
|
||||
"score": 0,
|
||||
"guard_level": 0,
|
||||
"wealth_level": 0,
|
||||
"is_mystery": false,
|
||||
"uinfo": null
|
||||
},
|
||||
"tips_text": "投喂、点赞、发弹幕、持续观看均可上榜",
|
||||
"value_text": "贡献值",
|
||||
"ab": {
|
||||
"guard_accompany_list": 1
|
||||
},
|
||||
"onlineNumText": "45"
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
## 查询自己在某直播间观看时长
|
||||
|
||||
> https://api.live.bilibili.com/xlive/general-interface/v1/guard/GuardActive
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)或 APP
|
||||
|
||||
**url 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------- | ---- | ------- | ------ | ---- |
|
||||
| platform | str | android | 必要 | |
|
||||
| ruid | num | 主播uid | 必要 | |
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---- |
|
||||
| code | num | 返回值 | |
|
||||
| message | str | 错误信息 | |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
`data`中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----------- | ---- | -------------- | ----------------------------- |
|
||||
| ruid | num | 主播uid | |
|
||||
| rusername | str | 主播用户名 | |
|
||||
| rface | str | 主播头像 | |
|
||||
| username | str | 自己的用户名 | |
|
||||
| accomany | int | 大航海陪伴天数 | 似乎b站程序员把这个单词拼错了 |
|
||||
| rusername | str | 主播用户名 | |
|
||||
| watch_time | num | 观看时长 | 单位是秒 |
|
||||
| up_medal | obj | 粉丝牌 | |
|
||||
| guard_num_3 | num | 主播舰长数量 |
|
||||
| guard_num_2 | num | 主播提督数量 | |
|
||||
| guard_num_1 | num | 主播总督数量 | |
|
||||
| is_live | num | 直播状态 | |
|
||||
|
||||
|
||||
|
||||
## 查询用户在直播间的信息
|
||||
|
||||
> https://api.live.bilibili.com/xlive/app-ucenter/v2/card/user
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无
|
||||
|
||||
**url 参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ----------- | ------ | ---- |
|
||||
| uid | num | 目标用户uid | 必要 | |
|
||||
| ruid | num | 主播uid | 必要 | |
|
||||
|
||||
**json 回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---- |
|
||||
| code | num | 返回值 | |
|
||||
| message | str | 错误信息 | |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 |
|
||||
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------- | ---- | ------------------ | ------------------------------ |
|
||||
| uid | num | 目标用户id | |
|
||||
| uname | str | 目标用户名 | |
|
||||
| desc | str | 目标用户认证信息 | |
|
||||
| face | str | 目标用户头像 | |
|
||||
| follow_num | num | 目标用户粉丝数 | |
|
||||
| attention_num | num | 目标用户关注数 |
|
||||
| main_vip | num | 目标用户大会员状态 | 0:无 2:大会员 |
|
||||
| is_block | num | 是否被拉黑? | 始终为0? |
|
||||
| is_admin | num | 是否房管 | |
|
||||
| is_black | num | 是否被关小黑屋 | |
|
||||
| wealth_info | obj | 荣耀等级 | |
|
||||
| fans_medal | obj | 粉丝牌 | 如果目标用户隐藏粉丝牌则为null |
|
||||
|
||||
`wealth_info`对象:
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------ | ---- | -------------------------- | ---- |
|
||||
| level | num | 荣耀等级 | |
|
||||
| level_total_score | num | 下一等级的荣耀值 | |
|
||||
| cur_score | num | 当前荣耀值 | |
|
||||
| upgrade_need_score | num | 升到下一等级还差多少荣耀值 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://api.live.bilibili.com/xlive/app-ucenter/v2/card/user?ruid=504140200&uid=504140200'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"uid": 504140200,
|
||||
"uname": "软软riu",
|
||||
"face": "https://i1.hdslb.com/bfs/face/2d083d686b704eb7010e3d94595d47f5a89c8aef.jpg",
|
||||
"verify_type": 0,
|
||||
"desc": "bilibili UP主认证:bilibili 知名虚拟UP主、直播高能主播",
|
||||
"uname_color": 2171169,
|
||||
"room_id": 23174842,
|
||||
"pendant": "https://i1.hdslb.com/bfs/garb/open/8806f97581082d68edcf2207368290b3fb3491bb.png",
|
||||
"pendant_from": 2,
|
||||
"follow_num": 214882,
|
||||
"attention_num": 202,
|
||||
"relation_status": 1,
|
||||
"privilege_type": 3,
|
||||
"fans_medal": null,
|
||||
"title_sum": 10,
|
||||
"wearing_title": "",
|
||||
"main_vip": 0,
|
||||
"is_block": 0,
|
||||
"is_admin": 0,
|
||||
"fans_medal_list_url": "https://live.bilibili.com/p/html/live-fansmedal-wall/index.html?tId=504140200#/medal",
|
||||
"wearing": {},
|
||||
"is_black": 0,
|
||||
"admin_level": 0,
|
||||
"head_picture": "http://i0.hdslb.com/bfs/live/3f536f59e337a731c5367f623bca79b32197ddd5.png",
|
||||
"head_text": "大航海舰长",
|
||||
"head_url": "",
|
||||
"head_business": 1,
|
||||
"head_skin_icon": "http://i0.hdslb.com/bfs/live/d44e103f424f5ae01ef3d0133ef812f8241d15b0.png",
|
||||
"privilege_center": {},
|
||||
"is_nft": 0,
|
||||
"nft_dmark": "https://i0.hdslb.com/bfs/live/9f176ff49d28c50e9c53ec1c3297bd1ee539b3d6.gif",
|
||||
"is_real_fans": false,
|
||||
"wealth_info": {
|
||||
"uid": 504140200,
|
||||
"level": 35,
|
||||
"level_total_score": 6000000,
|
||||
"cur_score": 5012900,
|
||||
"upgrade_need_score": 987100,
|
||||
"status": 1,
|
||||
"dm_icon_key": ""
|
||||
},
|
||||
"guard": {
|
||||
"accompany": 0,
|
||||
"accompany_slake": 0
|
||||
},
|
||||
"chat_url_android": "activity://im/conversation/?conversation_type=1&reciveid=504140200",
|
||||
"chat_url_ios": "bilibili://link/chat?session_id=s504140200",
|
||||
"gift_star": null,
|
||||
"is_mystery": false,
|
||||
"text_control": null,
|
||||
"uinfo_medal": null,
|
||||
"guard_attire": {},
|
||||
"flash_buy": 0,
|
||||
"flash_buy_url": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
@ -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`:不记住登录 |
|
||||
|
||||
|
||||
@ -714,7 +714,7 @@ curl 'https://api.bilibili.com/x/member/web/sign/update' \
|
||||
|
||||
```shell
|
||||
curl -G "https://api.bilibili.com/x/member/web/exp/log" \
|
||||
-b "SESSDATA=xxx
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
@ -829,13 +829,18 @@ curl -G "https://api.bilibili.com/x/member/web/exp/log" \
|
||||
|
||||
`list`数组中的对象:
|
||||
|
||||
*表现良好暂时没有记录, 欢迎封号斗罗前来补充*
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ------ | ---------------- | ---- |
|
||||
| time | string | 时间 | |
|
||||
| delta | number | 变化 | |
|
||||
| origin | string | 原因 | |
|
||||
| reason | string | 说明 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl -G "https://api.bilibili.com/x/member/web/moral/log" \
|
||||
-b "SESSDATA=xxx
|
||||
-b "SESSDATA=xxx"
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
@ -32,20 +32,20 @@
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------- | ---- | ------------------ | -------------------------- |
|
||||
| at | num | 未读at数 | |
|
||||
| chat | num | 0 | 仅旧接口,**作用尚不明确** |
|
||||
| coin | num | 未读投币数 | |
|
||||
| danmu | num | 未读弹幕数 | |
|
||||
| favorite | num | 未读收藏数 | |
|
||||
| like | num | 未读点赞数 | |
|
||||
| recv_like | num | 未读点赞数 | 同 `like` |
|
||||
| recv_reply | num | 未读回复数 | 同 `reply` |
|
||||
| reply | num | 未读回复数 | |
|
||||
| sys_msg | num | 未读系统通知数 | |
|
||||
| sys_msg_style | num | 1 | 仅新接口, **作用尚不明确** |
|
||||
| up | num | 未读UP主助手信息数 | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | -------------------- | --------------------------- |
|
||||
| at | num | 未读at数(旧) | |
|
||||
| chat | num | 0 | 仅旧接口,**作用尚不明确** |
|
||||
| coin | num | 未读投币数 | |
|
||||
| danmu | num | 未读弹幕数 | |
|
||||
| favorite | num | 未读收藏数 | |
|
||||
| like | num | 未读点赞数(旧) | |
|
||||
| recv\_like | num | 未读收到喜欢数(新) | 同 `like` |
|
||||
| recv\_reply | num | 未读回复与@数(新) | 即 `reply` 与 `at` 的值之和 |
|
||||
| reply | num | 未读回复数(旧) | |
|
||||
| sys\_msg | num | 未读系统通知数 | |
|
||||
| sys\_msg\_style | num | 1 | 仅新接口, **作用尚不明确** |
|
||||
| up | num | 未读UP主助手信息数 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -82,3 +82,177 @@ curl 'https://api.vc.bilibili.com/x/im/web/msgfeed/unread' \
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 获取"回复我的"信息
|
||||
|
||||
> <https://api.bilibili.com/x/msgfeed/reply>
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:Cookie(SESSDATA)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------ | ---- | ---------------- | ------ | ------------- |
|
||||
| build | num | 客户端内部版本号 | 非必要 | 默认为 `0` |
|
||||
| mobi_app | str | 平台标识 | 非必要 | 可为 `web` 等 |
|
||||
| id | num | 起始 id | 非必要 | 详情见返回 |
|
||||
| reply_time | num | 起始时间 | 非必要 | 详情见返回 |
|
||||
| platform | str | 平台标识 | 非必要 | 可为 `web` 等 |
|
||||
| web_location | str | 暂时不知道是啥 | 非必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------ | ----- | ----------- | ------------------------------ |
|
||||
| cursor | obj | 光标 | 下一次查询的指针 |
|
||||
| items | array | 通知列表 | 数组,每个元素代表一条回复通知 |
|
||||
| last_view_at | num | unix 时间戳 | 上次查看的时间 |
|
||||
|
||||
`cursor` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------ | ---- | ----------- | ---------------------------------------------- |
|
||||
| is_end | bool | 是否结束 | `false` 表示还有更多数据 |
|
||||
| id | num | 通知 id | 最后(旧)一条通知的 id,用作下次查询的起始 id |
|
||||
| time | num | unix 时间戳 | 最后一条通知的时间 |
|
||||
|
||||
`items` 数组中的对象(每条通知):
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ---- | -------------------- | ---------------------------- |
|
||||
| id | num | 通知 id | |
|
||||
| user | obj | **回复者**的用户信息 | |
|
||||
| item | obj | 通知详情 | |
|
||||
| counts | num | 通知计数 | 固定为 `1`,可能表示单条通知 |
|
||||
| is_multi | num | 是否多回复 | 固定为 `0`,可能表示单条回复 |
|
||||
| reply_time | num | unix 时间戳 | 回复时间 |
|
||||
|
||||
`user` 对象(回复者信息):
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | -------------- | ------------------------------ |
|
||||
| mid | num | 用户 mid | |
|
||||
| fans | num | 粉丝数 | 固定为 `0`,可能不返回实际数据 |
|
||||
| nickname | str | 用户昵称 | |
|
||||
| avatar | str | 头像 URL | |
|
||||
| mid_link | str | 用户主页链接 | 固定为空字符串 |
|
||||
| follow | bool | 是否关注该用户 | `false` 表示未关注 |
|
||||
|
||||
`item` 对象(通知详情):
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------------------- | ----- | ---------------- | ----------------------------- |
|
||||
| subject_id | num | 主体 id | |
|
||||
| root_id | num | 根评论 id | 最顶层的评论 ID |
|
||||
| source_id | num | 源评论 id | 直接回复的评论 ID |
|
||||
| target_id | num | 目标评论 id | 被回复的评论 ID |
|
||||
| type | str | 通知类型 | 固定为 `"reply"`(回复类型) |
|
||||
| business_id | num | 业务类型 id | `1`=视频评论,`11`=动态评论 |
|
||||
| business | str | 业务名称 | `"评论"` 或 `"视频"` |
|
||||
| title | str | 通知标题 | 摘要文本 |
|
||||
| desc | str | 描述 | 固定为空字符串 |
|
||||
| image | str | 图片 URL | 固定为空字符串 |
|
||||
| uri | str | 跳转链接 | web 端跳转链接 |
|
||||
| native_uri | str | 客户端跳转链接 | 客户端专用跳转链接 |
|
||||
| detail_title | str | 详细标题 | 固定为空字符串 |
|
||||
| root_reply_content | str | 根评论内容 | 最顶层评论的文本内容 |
|
||||
| source_content | str | 源评论内容 | 直接回复的评论内容 |
|
||||
| target_reply_content | str | 目标评论内容 | 被回复的评论内容 |
|
||||
| at_details | array | @的用户列表 | 数组,每个元素是被@的用户对象 |
|
||||
| topic_details | array | 话题详情 | 固定为空数组 |
|
||||
| hide_reply_button | bool | 是否隐藏回复按钮 | |
|
||||
| hide_like_button | bool | 是否隐藏点赞按钮 | |
|
||||
| like_state | num | 点赞状态 | `0`=未点赞 |
|
||||
| danmu | null | 弹幕信息 | 固定为 `null` |
|
||||
| message | str | 消息内容 | 固定为空字符串 |
|
||||
|
||||
`at_details` 数组中的对象(被@的用户):
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -------- | ---- | -------------- | ------------------ |
|
||||
| mid | num | 用户 mid | |
|
||||
| fans | num | 粉丝数 | 固定为 `0` |
|
||||
| nickname | str | 用户昵称 | |
|
||||
| avatar | str | 头像 URL | |
|
||||
| mid_link | str | 用户主页链接 | 固定为空字符串 |
|
||||
| follow | bool | 是否关注该用户 | `false` 表示未关注 |
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://api.bilibili.com/x/msgfeed/reply' \
|
||||
-b 'SESSDATA=xxx'
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"data": {
|
||||
"cursor": {
|
||||
"is_end": true,
|
||||
"id": 823260581625886,
|
||||
"time": 1749474709
|
||||
},
|
||||
"items": [{
|
||||
"id": 823260581625886,
|
||||
"user": {
|
||||
"mid": 3546910497441845,
|
||||
"fans": 0,
|
||||
"nickname": "佘总累了",
|
||||
"avatar": "https://i2.hdslb.com/bfs/face/e45c62bd47729e07dd01a788988be865ed3d210e.jpg",
|
||||
"mid_link": "",
|
||||
"follow": false
|
||||
},
|
||||
"item": {
|
||||
"subject_id": 1073543151725051921,
|
||||
"root_id": 0,
|
||||
"source_id": 265141324256,
|
||||
"target_id": 0,
|
||||
"type": "dynamic",
|
||||
"business_id": 17,
|
||||
"business": "动态",
|
||||
"title": "我已成为哔哩哔哩第245743680位转正会员,挑战转正答题考试获得60分。",
|
||||
"desc": "",
|
||||
"image": "",
|
||||
"uri": "https://www.bilibili.com/opus/1073543151725051921#reply265141324256",
|
||||
"native_uri": "bilibili://opus/detail/1073543151725051921?comment_root_id=265141324256&comment_on=1",
|
||||
"detail_title": "",
|
||||
"root_reply_content": "",
|
||||
"source_content": "60",
|
||||
"target_reply_content": "",
|
||||
"at_details": [],
|
||||
"topic_details": [],
|
||||
"hide_reply_button": false,
|
||||
"hide_like_button": false,
|
||||
"like_state": 0,
|
||||
"danmu": null,
|
||||
"message": ""
|
||||
},
|
||||
"counts": 1,
|
||||
"is_multi": 0,
|
||||
"reply_time": 1749474709
|
||||
}],
|
||||
"last_view_at": 1749474724
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
| recommend_followed_reply | num | 被关注时自动推送作品 | 0:关闭<br />1:开启 |
|
||||
| ai_intercept | num | 私信智能拦截 | 0:关闭<br />1:开启 |
|
||||
| anti_harassment | null | 防骚扰和互动人群设置 | 此接口恒返回 `null` |
|
||||
| set_recv_reply | num | 收到回复提醒(新) | 0:所有人<br />1:关注的人<br />2:不接受任何消息提醒 |
|
||||
| set_recv_reply | num | 回复与@提醒(新) | 0:所有人<br />1:关注的人<br />2:不接受任何消息提醒 |
|
||||
| set_recv_like | num | 收到喜欢提醒(新) | 0:接收<br />2:不接收 |
|
||||
| set_new_follow | num | 新增粉丝提醒(新) | 0:接收<br />2:不接收 |
|
||||
|
||||
|
||||
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*
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
| 4409e2ce8ffd12b8 | 59b43e04ad6965f34319062b478f83dd | `android` | 云视听小电视(TV版) | `9`? | `android_tv_yst`? | |
|
||||
| 37207f2beaebf8d7 | e988e794d4d4b6dd43bc0e89d6e90c43 | `android` | BiliLink | ? | ? | |
|
||||
| 9a75abf7de2d8947 | 35ca1c82be6c2c242ecc04d88c735f31 | `android` | BiliScan | ? | ? | |
|
||||
| aae92bc66f3edfab | af125a0d5279fd576c1b4418a3e8276d | ? | PC 投稿工具 | - | ? | |
|
||||
| aae92bc66f3edfab | af125a0d5279fd576c1b4418a3e8276d | ? | PC 投稿工具&PC直播姬| - | ? | |
|
||||
| bca7e84c2d947ac6 | 60698ba2f68e01ce44738920a0ffe768 | ? | login | - | ? | |
|
||||
| h9Ejat5tFh81cq8V | BdiI92bjmZ9QRcjJBWv2EEssyjekAGKt | | | | | bilibili游戏 web端 游戏详情页API |
|
||||
|
||||
|
||||
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>
|
||||
|
||||
1087
docs/user/info.md
1087
docs/user/info.md
File diff suppressed because it is too large
Load Diff
@ -8,33 +8,33 @@
|
||||
|
||||
以下说明中的 “目标用户” 指被查询的用户,“对方” 指返回的关系列表中的用户。
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ------------------------------------------- | -------------------------- | ------------------------------------------------------------ |
|
||||
| mid | num | 用户 mid | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ------------------------------------------- | -------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| mid | num | 用户 mid | |
|
||||
| attribute | num | 对方对于**自己**的关系属性 | 0:未关注<br />~~1:悄悄关注(现已下线)~~<br />2:已关注<br />6:已互粉<br />128:已拉黑 |
|
||||
| mtime | num | 对方关注目标用户时间 | 秒级时间戳<br />互关后刷新 |
|
||||
| tag | 默认分组:null<br />存在至少一个分组:array | 目标用户将对方分组到的 id | |
|
||||
| special | num | 目标用户特别关注对方标识 | 0:否<br />1:是 |
|
||||
| contract_info | obj | 契约计划相关信息 | |
|
||||
| uname | str | 用户昵称 | |
|
||||
| face | str | 用户头像url | |
|
||||
| sign | str | 用户签名 | |
|
||||
| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像<br />1:NFT 头像 |
|
||||
| official_verify | obj | 认证信息 | |
|
||||
| vip | obj | 会员信息 | |
|
||||
| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | |
|
||||
| nft_icon | str | (?) | |
|
||||
| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` |
|
||||
| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` |
|
||||
| follow_time | str | (?) | |
|
||||
| mtime | num | 对方关注目标用户时间 | 秒级时间戳<br />互关后刷新 |
|
||||
| tag | 默认分组:null<br />存在至少一个分组:array | 目标用户将对方分组到的 id | |
|
||||
| special | num | 目标用户特别关注对方标识 | 0:否<br />1:是 |
|
||||
| contract_info | obj | 契约计划相关信息 | |
|
||||
| uname | str | 用户昵称 | |
|
||||
| face | str | 用户头像url | |
|
||||
| sign | str | 用户签名 | |
|
||||
| face_nft | num | 是否为 NFT 头像 | 0:非 NFT 头像<br />1:NFT 头像 |
|
||||
| official_verify | obj | 认证信息 | |
|
||||
| vip | obj | 会员信息 | |
|
||||
| name_render | 有效时:obj<br />无效时:null | 昵称渲染信息 | |
|
||||
| nft_icon | str | (?) | |
|
||||
| rec_reason | str | 推荐该用户的原因 | 大多数情况下为空;如:`xxx关注了TA`、`xx粉丝 xx视频` |
|
||||
| track_id | str | 内部记录id | 大多数情况下为空;如:`up_rec_0.router-main-2021485-5f84c987cf-dv8fg.1746380060327.607` |
|
||||
| follow_time | str | (?) | |
|
||||
|
||||
`list`中的对象中的`tag`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------------------ | ---- |
|
||||
| 0 | num | 位于分组 1 的分组 id | |
|
||||
| n | num | 位于分组(n+1)的分组 id | |
|
||||
| …… | num | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ------------------------ | ---- |
|
||||
| 0 | num | 位于分组 1 的分组 id | |
|
||||
| n | num | 位于分组(n+1)的分组 id | |
|
||||
| …… | num | …… | …… |
|
||||
|
||||
`list`中的对象中的`contract_info`对象:
|
||||
|
||||
@ -47,10 +47,10 @@
|
||||
|
||||
`list`中的对象中的`official_verify`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ----------------------------------------- |
|
||||
| type | num | 用户认证类型 | -1:无<br />0:UP 主认证<br />1:机构认证 |
|
||||
| desc | str | 用户认证信息 | 无为空 |
|
||||
| desc | str | 用户认证信息 | 无为空 |
|
||||
|
||||
`list`中的对象中的`vip`对象:
|
||||
|
||||
@ -81,50 +81,47 @@
|
||||
|
||||
本接口只有登录、标头 `referer` 为 `bilibili.com` 下的子域名、UA 不含 `python` 时才会返回列表
|
||||
|
||||
由于接口实现不同,本接口的返回可能出现以下三种情况:
|
||||
|
||||
1. 返回列表按关注时间排序,此时当前用户**仅返回前 1000 名粉丝**,其他用户仅返回前 100 名粉丝,若继续往后查询则返回空列表
|
||||
2. 返回列表按粉丝 mid 的**文本形式**排序,此时对于任意用户均可返回全部粉丝
|
||||
3. 返回列表按照**智能推荐算法**排序,此时请求参数 `from=main` 且目标用户为自己,**仅返回前 1000 名粉丝**
|
||||
- 当请求参数 `from=main` 且目标用户为自己时,返回列表按照**智能推荐算法**排序,**仅返回前 1000 名粉丝**,且返回的列表中不含 `mtime` 字段
|
||||
- 否则,返回列表按关注时间排序,此时**当前用户仅返回前 1000 名粉丝,其他用户仅返回前 100 名粉丝**,若继续往后查询则返回空列表
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------------- | ---- | ---------------------- | ------------ | ------------------------------------------------------------------- |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1 |
|
||||
| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取<br />此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` |
|
||||
| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取<br />当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 |
|
||||
| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| -------------- | ---- | ---------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1 |
|
||||
| offset | str | 偏移量 | 非必要 | 从上次请求的响应数据中的 `data.offset` 获取<br />此项有效且不为 `rcmd` 时会从此偏移量开始返回粉丝列表,忽略参数 `pn` |
|
||||
| last_access_ts | num | 上次访问粉丝列表的时间 | 非必要 | 秒级时间戳,从[获取自己粉丝列表的未读状态](#获取自己粉丝列表的未读状态)接口获取<br />当按照**智能推荐算法**排序时,会优先展示此时间后关注的粉丝 |
|
||||
| from | str | 请求来源 | 非必要 | 当为 `main` 且目标用户为自己时,粉丝列表按照**智能推荐算法**排序,此时响应数据中的 `data.list` 的成员中的 `rec_reason` 与 `track_id` 为非空 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----------------------------------------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-352:请求被拦截<br />-400:请求错误<br />22118:由于该用户隐私设置,粉丝列表不可见 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ----- | -------- | ---- |
|
||||
| list | array | 明细列表 | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ----- | -------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| list | array | 明细列表 | |
|
||||
| offset | str | 偏移量 | 供下次请求使用<br />普通:`{列表最后的粉丝的 mtime}:{列表最后的粉丝的 mid}`<br />智能推荐算法:`rcmd` |
|
||||
| re_version | num | (?) | |
|
||||
| total | num | 粉丝总数 | |
|
||||
| re_version | num | (?) | |
|
||||
| total | num | 粉丝总数 | |
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ---------------------------------- |
|
||||
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 粉丝 (n+1) | |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ------------ | ---------------------------------- |
|
||||
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 粉丝 (n+1) | |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -256,23 +253,23 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | -------------- | ------------ | ------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 1000 名粉丝 |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | -------------- | ------------ | ------------------------------------ |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 1000 名粉丝 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ----------------------------------------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-352:请求被拦截<br />-400:请求错误<br />22118:由于该用户隐私设置,粉丝列表不可见 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -284,11 +281,11 @@ curl -G 'https://api.bilibili.com/x/relation/fans' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ---------------------------------- |
|
||||
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 粉丝 (n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ------------ | ---------------------------------- |
|
||||
| 0 | obj | 粉丝 1 | 详见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 粉丝 (n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -405,6 +402,85 @@ curl -G 'https://api.bilibili.com/x/relation/followers' \
|
||||
|
||||
</details>
|
||||
|
||||
### 查询用户粉丝明细
|
||||
|
||||
> <https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list>
|
||||
|
||||
*请求方式:GET*
|
||||
|
||||
认证方式:无
|
||||
|
||||
返回目标用户前100个粉丝
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------ | ------ | --------- |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 20 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | -------- |
|
||||
| code | num | 返回值 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| ts | num | 时间戳 | |
|
||||
|
||||
`data.list`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ---- | ------- | ---- |
|
||||
| mid | num | 用户mid | |
|
||||
| uname | str | 用户名 | |
|
||||
| face | str | 头像 | |
|
||||
| attribute | num | | |
|
||||
|
||||
|
||||
**示例:**
|
||||
|
||||
```shell
|
||||
curl 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationship/follower_list?vmid=504140200&pn=5&ps=21'
|
||||
```
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"list": [
|
||||
{
|
||||
"mid": "3493078644034173",
|
||||
"attribute": 0,
|
||||
"uname": "雨天下小雪啦",
|
||||
"face": "//i0.hdslb.com/bfs/face/28ad110baa58db9265eca657fcba501589981555.jpg",
|
||||
"attestation_display": {
|
||||
"type": 0,
|
||||
"desc": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"mid": "1356049904",
|
||||
"attribute": 0,
|
||||
"uname": "一埋子",
|
||||
"face": "//i2.hdslb.com/bfs/face/84356fd3b183284bc11b011b676432badb4096bf.jpg",
|
||||
"attestation_display": {
|
||||
"type": 0,
|
||||
"desc": ""
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
"ts": 1748829553371,
|
||||
"request_id": "0684785391344bdc85e4e701bed41b1c"
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
### 获取自己粉丝列表的未读状态
|
||||
|
||||
> <https://api.bilibili.com/x/relation/followers/unread/count>
|
||||
@ -471,24 +547,24 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | -------------- | ------------ | ------------------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | -------------- | ------------ | ----------------------------------------------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| order_type | str | 排序方式 | 非必要 | 当目标用户为自己时有效<br />按照关注顺序排列:留空<br />按照最常访问排列:attention |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1<br />其他用户仅可查看前 100 个 |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1<br />其他用户仅可查看前 100 个 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ---------------------------------------------------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-352:请求被拦截<br />-400:请求错误<br />22115:用户已设置隐私,无法查看 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -500,11 +576,11 @@ curl 'https://api.bilibili.com/x/relation/followers/unread/count' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | -------------------------------- |
|
||||
| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 关注(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ----------- | -------------------------------- |
|
||||
| 0 | obj | 关注1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 关注(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -615,12 +691,12 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------ | ------ | ----------------------------- |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------ | ------ | ----------------------------------------------------------- |
|
||||
| vmid | num | 目标用户 mid | 必要 | |
|
||||
| order | str | 排序方式 | 非必要 | 按照降序排列:desc<br />按照升序排列:asc<br />默认降序排列 |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 5 页 |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1<br />仅可查看前 5 页 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -643,42 +719,42 @@ curl -G 'https://api.bilibili.com/x/relation/followings' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | --------------------------------------------- |
|
||||
| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** |
|
||||
| n | obj | 关注(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ----------- | ------------------------------------------------- |
|
||||
| 0 | obj | 关注 1 | 与 [关系列表对象](#关系列表对象) 数据结构**不同** |
|
||||
| n | obj | 关注(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
数组`list`中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---------------------------------------- | ------------ | --------------------------------------- |
|
||||
| mid | num | 用户 mid | |
|
||||
| attribute | num | 关注属性 | 0:未关注<br />2:已关注<br />6:已互粉 |
|
||||
| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 |
|
||||
| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | |
|
||||
| special | num | 特别关注标志 | 0:否<br />1:是 |
|
||||
| uname | str | 用户昵称 | |
|
||||
| face | str | 用户头像 url | |
|
||||
| sign | str | 用户签名 | |
|
||||
| official_verify | obj | 认证信息 | |
|
||||
| vip | obj | 会员信息 | |
|
||||
| live | num | 是否直播 | 0:未直播<br />1:直播中 |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ------------------------------------------- | ------------ | --------------------------------------- |
|
||||
| mid | num | 用户 mid | |
|
||||
| attribute | num | 关注属性 | 0:未关注<br />2:已关注<br />6:已互粉 |
|
||||
| mtime | num | 关注对方时间 | 时间戳<br />互关后刷新 |
|
||||
| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | |
|
||||
| special | num | 特别关注标志 | 0:否<br />1:是 |
|
||||
| uname | str | 用户昵称 | |
|
||||
| face | str | 用户头像 url | |
|
||||
| sign | str | 用户签名 | |
|
||||
| official_verify | obj | 认证信息 | |
|
||||
| vip | obj | 会员信息 | |
|
||||
| live | num | 是否直播 | 0:未直播<br />1:直播中 |
|
||||
|
||||
数组`list`中的对象中的`tag`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------------------ | ---- |
|
||||
| 0 | num | 位于分组 1 的分组 id | |
|
||||
| n | num | 位于分组(n+1)的分组 id | |
|
||||
| …… | num | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ------------------------ | ---- |
|
||||
| 0 | num | 位于分组 1 的分组 id | |
|
||||
| n | num | 位于分组(n+1)的分组 id | |
|
||||
| …… | num | …… | …… |
|
||||
|
||||
`list`中的对象中的`official_verify`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ---------------------------------------- |
|
||||
| type | num | 用户认证类型 | -1:无<br />0:UP主认证<br />1:机构认证 |
|
||||
| desc | str | 用户认证信息 | 无为空 |
|
||||
| desc | str | 用户认证信息 | 无为空 |
|
||||
|
||||
`list`中的对象中的`vip`对象:
|
||||
|
||||
@ -790,11 +866,11 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ------------ | ----------- | -------- |
|
||||
| vmid | num | 目标用户mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为20 |
|
||||
| pn | num | 页码 | 非必要 | 默认为1 |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------ | ---- | ----------- | ------ | -------- |
|
||||
| vmid | num | 目标用户mid | 必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为20 |
|
||||
| pn | num | 页码 | 非必要 | 默认为1 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -810,17 +886,17 @@ curl -G 'https://app.biliapi.net/x/v2/relation/followings' \
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ----- | -------- | ------------ |
|
||||
| list | array | 明细列表 | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ----- | -------- | ---- |
|
||||
| list | array | 明细列表 | |
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------- | ---------------- |
|
||||
| 0 | obj | 关注1 | |
|
||||
| n | obj | 关注(n+1) | 按照关注顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------- | ---------------- |
|
||||
| 0 | obj | 关注1 | |
|
||||
| n | obj | 关注(n+1) | 按照关注顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
数组`list`中的对象:
|
||||
|
||||
@ -915,11 +991,11 @@ curl -G 'https://line3-h5-mobile-api.biligame.com/game/center/h5/user/relationsh
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------------- | -------------------------------- |
|
||||
| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 匹配项目(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------------- | -------------------------------- |
|
||||
| 0 | obj | 匹配项目 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 匹配项目(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1016,11 +1092,11 @@ curl -G 'https://api.bilibili.com/x/relation/followings/search' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------------- | -------------------------------- |
|
||||
| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 共同关注(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------------- | -------------------------------- |
|
||||
| 0 | obj | 共同关注 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 共同关注(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1139,11 +1215,11 @@ curl -G 'https://api.bilibili.com/x/relation/same/followings' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------------- | -------------------------------- |
|
||||
| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 悄悄关注(n+1) | 按照操作顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------------- | -------------------------------- |
|
||||
| 0 | obj | 悄悄关注 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 悄悄关注(n+1) | 按照操作顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1232,11 +1308,11 @@ curl -G 'https://api.bilibili.com/x/relation/whispers' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | -------------------------------- |
|
||||
| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 互关(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ----------- | -------------------------------- |
|
||||
| 0 | obj | 互关 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 互关(n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1430,11 +1506,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
|
||||
|
||||
**url参数:**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | -------------- | ------------ | --------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | -------------- | ------------ | --------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| ps | num | 每页项数 | 非必要 | 默认为 50,且最多为50,大于50则按50输出 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1 |
|
||||
| pn | num | 页码 | 非必要 | 默认为 1 |
|
||||
|
||||
**json回复:**
|
||||
|
||||
@ -1457,11 +1533,11 @@ curl -G 'https://api.bilibili.com/x/relation/friends' \
|
||||
|
||||
`data`中的`list`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------------- | -------------------------------- |
|
||||
| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 黑名单 (n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | -------------- | -------------------------------- |
|
||||
| 0 | obj | 黑名单 1 | 见 [关系列表对象](#关系列表对象) |
|
||||
| n | obj | 黑名单 (n+1) | 按照添加顺序排列 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1559,35 +1635,35 @@ curl -G 'https://api.bilibili.com/x/relation/blacks' \
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | -------------------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fid | num | 目标用户mid | 必要 | |
|
||||
| act | num | 操作代码 | 必要 | **操作代码见下表** |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fid | num | 目标用户mid | 必要 | |
|
||||
| act | num | 操作代码 | 必要 | **操作代码见下表** |
|
||||
| re_src | num | 关注来源代码 | 非必要 | 包月充电:1<br />个人空间:11<br />视频:14<br />评论区:15<br />视频播放器结束页面:17<br />H5推荐关注:58<br />H5关注列表:106<br />H5粉丝列表:107<br />专栏:115<br />私信:118<br />搜索:120<br />视频播放器左上角关注按钮:164<br />H5共同关注:167<br />创作激励计划:192<br />活动页面:222<br />联合投稿视频:229<br />消息中心点赞详情:235<br />视频播放器关注弹幕:245 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
|
||||
操作代码`act`:
|
||||
|
||||
| 代码 | 含义 | 备注 |
|
||||
| ---- | ------------ | ------------------------------------------------ |
|
||||
| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 |
|
||||
| 2 | 取关 | |
|
||||
| 代码 | 含义 | 备注 |
|
||||
| ---- | ------------ | ---------------------------------------------------- |
|
||||
| 1 | 关注 | 无法对已注销或不存在的用户进行此操作 |
|
||||
| 2 | 取关 | |
|
||||
| 3 | 悄悄关注 | **现已下线**,使用本操作代码请求接口会提示“请求错误” |
|
||||
| 4 | 取消悄悄关注 | |
|
||||
| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 |
|
||||
| 6 | 取消拉黑 | |
|
||||
| 7 | 踢出粉丝 | |
|
||||
| 4 | 取消悄悄关注 | |
|
||||
| 5 | 拉黑 | 无法对已注销或不存在的用户进行此操作 |
|
||||
| 6 | 取消拉黑 | |
|
||||
| 7 | 踢出粉丝 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />22001:不能对自己进行此操作<br />22002:因对方隐私设置,你还不能关注<br />22003:关注失败,请将该用户移除黑名单之后再试<br />22008:黑名单达到上限<br />22009:关注失败,已达关注上限<br />22013:账号已注销,无法完成操作<br />22014:已经关注用户,无法重复关注<br />22120:重复加入黑名单<br />40061:用户不存在 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1627,24 +1703,24 @@ curl 'https://api.bilibili.com/x/relation/modify' \
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | ------------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | ----------------------------------------------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fids | nums | 目标用户 mid 列表 | 必要 | 每个成员之间用 `,` 间隔,最多 50 个成员,不能包含自己的 mid |
|
||||
| act | num | 操作代码 | 必要 | 同上<br />仅可为 1 或 5,故只能进行批量关注和拉黑 |
|
||||
| re_src | num | 关注来源代码 | 非必要 | 同上 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
| act | num | 操作代码 | 必要 | 同上<br />仅可为 1 或 5,故只能进行批量关注和拉黑 |
|
||||
| re_src | num | 关注来源代码 | 非必要 | 同上 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />22003:用户位于黑名单 |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 数据本体 | |
|
||||
| message | str | 错误信息 | 默认为0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 数据本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -1654,11 +1730,11 @@ curl 'https://api.bilibili.com/x/relation/modify' \
|
||||
|
||||
`data`中的`failed_fids`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------------------- | ---- |
|
||||
| 0 | num | 操作失败的 mid 1 | |
|
||||
| n | num | 操作失败的 mid(n+1) | |
|
||||
| …… | num | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------------------- | ---- |
|
||||
| 0 | num | 操作失败的 mid 1 | |
|
||||
| n | num | 操作失败的 mid(n+1) | |
|
||||
| …… | num | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -1693,21 +1769,21 @@ curl 'https://api.bilibili.com/x/relation/batch/modify' \
|
||||
|
||||
### 关系属性对象
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | --------------------------------------- | ------------ | -------------------------------------------------------- |
|
||||
| mid | num | 目标用户 mid | |
|
||||
| attribute | num | 关系属性 | 0:未关注<br />~~1:悄悄关注(已弃用)~~<br />2:已关注<br />6:已互粉<br />128:已拉黑 |
|
||||
| mtime | num | 关注对方时间 | 时间戳<br />未关注为 0 |
|
||||
| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | |
|
||||
| special | num | 特别关注标志 | 0:否<br />1:是 |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------- | ------------------------------------------- | ------------ | --------------------------------------------------------------------------------------- |
|
||||
| mid | num | 目标用户 mid | |
|
||||
| attribute | num | 关系属性 | 0:未关注<br />~~1:悄悄关注(已弃用)~~<br />2:已关注<br />6:已互粉<br />128:已拉黑 |
|
||||
| mtime | num | 关注对方时间 | 时间戳<br />未关注为 0 |
|
||||
| tag | 默认分组:null<br />存在至少一个分组:array | 分组 id | |
|
||||
| special | num | 特别关注标志 | 0:否<br />1:是 |
|
||||
|
||||
`tag`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------------------- | ---- |
|
||||
| 0 | num | 位于分组 1 的分组 | |
|
||||
| n | num | 位于分组(n+1)的分组 | |
|
||||
| …… | num | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------------------- | ---- |
|
||||
| 0 | num | 位于分组 1 的分组 | |
|
||||
| n | num | 位于分组(n+1)的分组 | |
|
||||
| …… | num | …… | …… |
|
||||
|
||||
### 查询用户与自己关系(仅关注)
|
||||
|
||||
@ -1925,10 +2001,10 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \
|
||||
|
||||
分组 id 特殊值:
|
||||
|
||||
| id | 含义 |
|
||||
| ---- | -------- |
|
||||
| 0 | 默认分组 |
|
||||
| -10 | 特别关心 |
|
||||
| id | 含义 |
|
||||
| --- | -------- |
|
||||
| 0 | 默认分组 |
|
||||
| -10 | 特别关心 |
|
||||
|
||||
### 查询关注分组列表
|
||||
|
||||
@ -1948,29 +2024,29 @@ curl -G 'https://api.bilibili.com/x/relation/relations' \
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ------ | -------- | ----------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ----- | -------- | ----------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | array | 分组列表 | |
|
||||
|
||||
`data`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ----------- | ---- |
|
||||
| 0 | obj | 分组 1 | |
|
||||
| n | obj | 分组(n+1) | |
|
||||
| …… | num | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | ----------- | ---- |
|
||||
| 0 | obj | 分组 1 | |
|
||||
| n | obj | 分组(n+1) | |
|
||||
| …… | num | …… | …… |
|
||||
|
||||
数组`data`中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ---- | ---------- | ---- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ----- | ---- | ---------- | ------------------------------ |
|
||||
| tagid | num | 分组 id | -10:特别关注<br />0:默认分组 |
|
||||
| name | str | 分组名称 | |
|
||||
| count | num | 分组成员数 | |
|
||||
| tip | str | 提示信息 | |
|
||||
| name | str | 分组名称 | |
|
||||
| count | num | 分组成员数 | |
|
||||
| tip | str | 提示信息 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -2045,48 +2121,48 @@ curl 'https://api.bilibili.com/x/relation/tags' \
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ----- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ----- | -------- | -------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误<br />22104:该分组不存在 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | array | 成员列表 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | array | 成员列表 | |
|
||||
|
||||
`data`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | --------------- | --------------------------------------- |
|
||||
| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** |
|
||||
| n | obj | 成员信息(n+1) | 按照添加顺序排序 |
|
||||
| …… | obj | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | --------------- | --------------------------------------- |
|
||||
| 0 | obj | 成员信息 1 | 与[关系列表对象](#关系列表对象)**不同** |
|
||||
| n | obj | 成员信息(n+1) | 按照添加顺序排序 |
|
||||
| …… | obj | …… | …… |
|
||||
|
||||
`data` 数组中的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | --------------- | -------------- |
|
||||
| mid | num | 用户mid | |
|
||||
| attribute | num | 关系属性 | 恒为 `0` |
|
||||
| tag | null | 关注分组id | 恒为 `null` |
|
||||
| special | num | 是否特别关注 | 恒为 `0` |
|
||||
| contract_info | obj | 契约计划信息 | |
|
||||
| uname | str | 用户昵称 | |
|
||||
| face | str | 用户头像url | |
|
||||
| sign | str | 用户签名 | |
|
||||
| face_nft | num | 是否为 NFT 头像 | |
|
||||
| official_verify | obj | 认证信息 | 具体见下 |
|
||||
| vip | obj | 会员信息 | |
|
||||
| live | obj | 直播状态 | 具体见下 |
|
||||
| nft_icon | str | (?) | |
|
||||
| rec_reason | str | (?) | |
|
||||
| track_id | str | (?) | |
|
||||
| follow_time | str | (?) | |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | --------------- | ----------- |
|
||||
| mid | num | 用户mid | |
|
||||
| attribute | num | 关系属性 | 恒为 `0` |
|
||||
| tag | null | 关注分组id | 恒为 `null` |
|
||||
| special | num | 是否特别关注 | 恒为 `0` |
|
||||
| contract_info | obj | 契约计划信息 | |
|
||||
| uname | str | 用户昵称 | |
|
||||
| face | str | 用户头像url | |
|
||||
| sign | str | 用户签名 | |
|
||||
| face_nft | num | 是否为 NFT 头像 | |
|
||||
| official_verify | obj | 认证信息 | 具体见下 |
|
||||
| vip | obj | 会员信息 | |
|
||||
| live | obj | 直播状态 | 具体见下 |
|
||||
| nft_icon | str | (?) | |
|
||||
| rec_reason | str | (?) | |
|
||||
| track_id | str | (?) | |
|
||||
| follow_time | str | (?) | |
|
||||
|
||||
`data`中的对象中的`official_verify`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ------------------- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ------------ | ----------------------------------------- |
|
||||
| type | num | 用户认证类型 | -1:无<br />0:UP 主认证<br />1:机构认证 |
|
||||
| desc | str | 用户认证信息 | 无为空 |
|
||||
| desc | str | 用户认证信息 | 无为空 |
|
||||
|
||||
`data`中的对象中的`vip`对象:
|
||||
|
||||
@ -2214,10 +2290,10 @@ curl -G 'https://api.bilibili.com/x/relation/tag' \
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------- | ---- | --------- | ---- |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | -------- | ---------------------------------- |
|
||||
| {加入的分组 id} | str | 分组名称 | 若目标用户存在默认分组中,则不显示 |
|
||||
| …… | str | …… | 下同 |
|
||||
| …… | str | …… | 下同 |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -2273,11 +2349,11 @@ curl -G 'https://api.bilibili.com/x/relation/tag/user' \
|
||||
|
||||
`data`数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | -------------- | ---- |
|
||||
| 0 | num | 成员 1 mid | |
|
||||
| n | num | 成员(n+1)mid | |
|
||||
| …… | num | …… | …… |
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| --- | ---- | -------------- | ---- |
|
||||
| 0 | num | 成员 1 mid | |
|
||||
| n | num | 成员(n+1)mid | |
|
||||
| …… | num | …… | …… |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -2341,12 +2417,12 @@ curl 'https://api.bilibili.com/x/relation/tag/special' \
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22101:分组名称存在不允许的字符<br />22102:分组数量超过限制<br />22103:分组名过长<br />22106:该分组已经存在 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
@ -2402,11 +2478,11 @@ curl 'https://api.bilibili.com/x/relation/tag/create' \
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22101:分组名称存在不允许的字符<br />22103:分组名过长<br />22104:该分组不存在 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -2455,11 +2531,11 @@ curl 'https://api.bilibili.com/x/relation/tag/update' \
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
示例:
|
||||
|
||||
@ -2499,22 +2575,22 @@ curl 'https://api.bilibili.com/x/relation/tag/del' \
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------ | -------------- | ------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | ----------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fids | nums | 目标用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| tagids | nums | 分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22104:分组不存在<br />22105:未关注 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -2551,22 +2627,22 @@ curl 'https://api.bilibili.com/x/relation/tags/addUsers' \
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------ | -------------- | ------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ---------- | ---- | ------------------------- | --------------- | ----------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| fids | nums | 待复制的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| tagids | nums | 目标分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22104:分组不存在<br />22105:未关注 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
@ -2603,23 +2679,23 @@ curl 'https://api.bilibili.com/x/relation/tags/copyUsers' \
|
||||
|
||||
**正文参数(application/x-www-form-urlencoded):**
|
||||
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------ | ---- | ------------------------ | -------------- | ------------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------------ | ---- | ------------------------- | --------------- | ----------------- |
|
||||
| access_key | str | APP 登录 Token | APP 方式必要 | |
|
||||
| beforeTagids | nums | 原分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| afterTagids | nums | 新分组 id 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| fids | nums | 待移动的用户 mid 列表 | 必要 | 每个之间用`,`间隔 |
|
||||
| csrf | str | CSRF Token(位于 Cookie) | Cookie 方式必要 | |
|
||||
|
||||
**json回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------ |
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | -------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| code | num | 返回值 | 0:成功<br />-111:csrf校验失败<br />-101:账号未登录<br />-400:请求错误<br />22104:分组不存在<br />22105:未关注 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | num | 1 | |
|
||||
|
||||
**示例:**
|
||||
|
||||
|
||||
@ -260,7 +260,7 @@
|
||||
| id | num | 视频合集分部中视频id(以下简称视频) | |
|
||||
| aid | num | 视频aid | |
|
||||
| cid | num | 视频cid | |
|
||||
| title | str | 视频标题 | |
|
||||
| title | str | 视频标题 | 合集列表中展示的标题。默认视频真实标题,在[创作中心-合集管理-单集标题](https://member.bilibili.com/platform/upload-manager/ep)修改后则以修改后为准 |
|
||||
| ~~attribute~~(已经弃用) | ~~num~~ | ~~稿件属性位配置~~ | 详情见[属性数据文档](attribute_data.md#attribute字段值(稿件属性位)) |
|
||||
| arc | obj | 视频详细信息 | 基本同「[获取视频详细信息(web端)](#获取视频详细信息(web端))」中的data对象 |
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@
|
||||
| 512 | 是否需求杜比视界 | 需求 DASH 格式<br />大会员认证 |
|
||||
| 1024 | 是否需求 8K 分辨率 | 需求 DASH 格式<br />需要`qn=127`<br />大会员认证 |
|
||||
| 2048 | 是否需求 AV1 编码 | 需求 DASH 格式 |
|
||||
| 4048 | 所有可用 DASH 视频流 | 即一次性返回所有可用 DASH 格式视频流 |
|
||||
|
||||
例如:请求 DASH 格式,且需要 HDR 的视频流,则`fnval=16|64=80`
|
||||
|
||||
@ -109,6 +110,8 @@
|
||||
| avid | num | 稿件 avid | 必要(可选) | avid 与 bvid 任选一个 |
|
||||
| bvid | str | 稿件 bvid | 必要(可选) | avid 与 bvid 任选一个 |
|
||||
| cid | num | 视频 cid | 必要 | |
|
||||
| gaia_source | str | view-card<br />pre-load | 必要(非必要) | 有Cookie(SESSDATA)时无需此参数<br />暂未找到两个内容值区别 |
|
||||
| isGaiaAvoided| bool| true/false| 非必要|未知作用 |
|
||||
| qn | num | 视频清晰度选择 | 非必要 | 未登录默认 32(480P),登录后默认 64(720P)<br />含义见 [上表](#qn视频清晰度标识)<br />**DASH 格式时无效** |
|
||||
| fnval | num | 视频流格式标识 | 非必要 | 默认值为`1`(MP4 格式)<br />含义见 [上表](#fnval视频流格式标识) |
|
||||
| fnver | num | 0 | 非必要 | |
|
||||
@ -135,6 +138,7 @@
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------------------ | ----- | ----------------------------------------------- | ----------------------------------------------- |
|
||||
| v_voucher | str | (?) | 需要参数`gaia_source` |
|
||||
| from | str | `local`? | |
|
||||
| result | str | `suee`? | |
|
||||
| message | str | 空? | |
|
||||
|
||||
124
docs/web_widget/banner.md
Normal file
124
docs/web_widget/banner.md
Normal file
@ -0,0 +1,124 @@
|
||||
# 横幅轮播图
|
||||
|
||||
## 获取各分区的轮播图_web端
|
||||
|
||||
> https://api.bilibili.com/x/web-show/region/banner
|
||||
|
||||
*请求方式: GET*
|
||||
|
||||
需要请求头参数 User-Agent
|
||||
|
||||
鉴权方式:Wbi 签名 (可选)
|
||||
|
||||
**URL参数:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 必要性 | 备注 |
|
||||
| ------- | ---- | -------- | ------- | -------------- |
|
||||
| region_id | num | 目标分区id | 必要 | 参见[视频分区一览v2](../video/video_zone_v2.md) |
|
||||
| w_rid | str | Wbi 签名 | 非必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) |
|
||||
| wts | num | 当前时间戳 | 非必要 | 详见 [Wbi 签名](../misc/sign/wbi.md) |
|
||||
|
||||
**JSON回复:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -- | -- | -- | -- |
|
||||
| code | num | 返回值 | 0: 成功 |
|
||||
| message | str | 错误信息 | 默认为 0 |
|
||||
| ttl | str | 1 | |
|
||||
| data | obj | 信息本体 | |
|
||||
|
||||
`data` 对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -- | -- | -- | -- |
|
||||
| region_banner_list | array | 存储轮播图的对象 | |
|
||||
|
||||
`data` 对象里的 `region_banner_list` 数组:
|
||||
|
||||
| 项 | 类型 | 内容 | 备注 |
|
||||
| -- | -- | -- | -- |
|
||||
| 0 | obj | 第一个轮播图对象 | |
|
||||
| n | obj | 第 (n+1) 轮播图对象 | |
|
||||
| …… | obj | …… | |
|
||||
|
||||
`region_banner_list` 数组里的对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| -- | -- | -- | -- |
|
||||
| image | str | 封面资源路径 | |
|
||||
| title | str | 封面标题 | |
|
||||
| sub_title | str | 封面子标题 | 空 |
|
||||
| url | str | 点击封面后指向的链接 | 可能为视频地址,也有可能是活动地址 |
|
||||
| rid | num | 分区参见[视频分区一览v2](../video/video_zone_v2.md) | |
|
||||
|
||||
**示例:**
|
||||
|
||||
获取 `音乐区` 时刻为 `Wed, 06 Aug 2025 01:41:35 GMT` 的 B 站轮播图 [音乐区地址](https://www.bilibili.com/c/music/)
|
||||
|
||||
```shell
|
||||
curl -G "https://api.bilibili.com/x/web-show/region/banner" \
|
||||
--data-urlencode "region_id=1003" \
|
||||
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko Chrome/58.0.3029.110 Safari/537.36"
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>查看响应示例:</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"message": "0",
|
||||
"ttl": 1,
|
||||
"data": {
|
||||
"region_banner_list": [
|
||||
{
|
||||
"image": "http://i0.hdslb.com/bfs/app/61e4bf3bba74f7d975342ae9d6ec7b0a2ea7c83f.jpg",
|
||||
"title": "舞力全开派对首测共创活动上线啦!",
|
||||
"sub_title": "",
|
||||
"url": "https://www.bilibili.com/blackboard/era/wzjckpevcdCgf4Rv.html",
|
||||
"rid": 1003
|
||||
},
|
||||
{
|
||||
"image": "http://i0.hdslb.com/bfs/app/a7d63dc78d10f769bd80c6c27ba6cc337b00d9d9.jpg",
|
||||
"title": "玛莎拉达带着他的一系列爆款术曲来了!",
|
||||
"sub_title": "",
|
||||
"url": "https://www.bilibili.com/video/BV1Tbtjz1Ehv",
|
||||
"rid": 1003
|
||||
},
|
||||
{
|
||||
"image": "http://i0.hdslb.com/bfs/app/01beb60c493f98eea6844cc2efcbde7315ce6224.jpg",
|
||||
"title": "陶喆Alin合作曲MV首播!",
|
||||
"sub_title": "",
|
||||
"url": "https://www.bilibili.com/video/BV1w1tnznEMw/?spm_id_from=333.337.search-card.all.click",
|
||||
"rid": 1003
|
||||
},
|
||||
{
|
||||
"image": "http://i0.hdslb.com/bfs/app/64060527172b03292b860e43532ff56faabdbe2d.jpg",
|
||||
"title": "四种语言版《AMANI》:愿世界和平",
|
||||
"sub_title": "",
|
||||
"url": "https://www.bilibili.com/video/BV1WTgVzHE2S/",
|
||||
"rid": 1003
|
||||
},
|
||||
{
|
||||
"image": "http://i0.hdslb.com/bfs/app/cbc4469b10c041702c49e847552301afeea323cd.jpg",
|
||||
"title": "孙亦航来B站啦!",
|
||||
"sub_title": "",
|
||||
"url": "https://www.bilibili.com/video/BV1RHtFzLEUA",
|
||||
"rid": 1003
|
||||
},
|
||||
{
|
||||
"image": "http://i0.hdslb.com/bfs/app/134cede692acbbe3080dc2a2ecc920db1f4f7498.jpg",
|
||||
"title": "潘玮柏狂爱《Yes I Do》",
|
||||
"sub_title": "",
|
||||
"url": "https://www.bilibili.com/video/BV1RAtcz7EJX/?spm_id_from=333.337.search-card.all.click",
|
||||
"rid": 1003
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
* Tip: 可以使用 [图片格式化](../misc/picture.md)中 获取主色调的方式获取轮播图封面的主色调
|
||||
16
package.json
16
package.json
@ -4,17 +4,17 @@
|
||||
"repository": "https://github.com/SocialSisterYi/bilibili-API-collect.git",
|
||||
"author": "SocialSisterYi <1440239038@qq.com>",
|
||||
"license": "CC-BY-NC-4.0",
|
||||
"dependencies": {
|
||||
"markdown-it-task-lists": "^2.1.1"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "vuepress dev",
|
||||
"build": "vuepress build"
|
||||
"build": "NODE_OPTIONS='--max-old-space-size=8192' vuepress build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vuepress": "2.0.0-beta.67",
|
||||
"vuepress-plugin-copy-code2": "2.0.0-beta.237",
|
||||
"vuepress-vite": "2.0.0-beta.67",
|
||||
"@vuepress/plugin-search": "^2.0.0-beta.67"
|
||||
"@vuepress/bundler-vite": "^2.0.0-rc.24",
|
||||
"@vuepress/plugin-search": "^2.0.0-rc.110",
|
||||
"@vuepress/plugin-shiki": "^2.0.0-rc.110",
|
||||
"@vuepress/theme-default": "^2.0.0-rc.110",
|
||||
"markdown-it-task-lists": "^2.1.1",
|
||||
"sass-embedded": "^1.89.2",
|
||||
"vuepress": "^2.0.0-rc.24"
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user