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

|
||||
|
||||

|
||||
|
||||

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

|
||||
|
||||

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

|
||||
|
||||

|
||||
|
||||

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

|
||||
|
||||

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