返回提交历史
Modified
docs/dynamic/publish.md
+217
-218
XFEstudio/bilibili-API-collect
style(dynamic/publish.md): 初步规范化
867395b
代码差异
1 个文件
+217
-218
@@ -4,42 +4,42 @@
4
4
5
5
> https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs
6
6
7
*请求方式:POST*
7
*请求方法: POST*
8
8
9
认证方式:Cookie(SESSDATA)
9
认证方式: Cookie (SESSDATA)
10
10
11
注意:非日常类型像素宽高必须大于420
11
注意: 非日常类型像素宽高必须大于 420
12
12
13
**正文参数 (multipart/form-data):**
13
**正文参数 (multipart/form-data):**
14
14
15
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
16
| -------- | ---- | ------------------------ | ------ | ------------------------------------------------------------ |
17
| file_up | file | 需要上传的图片文件 | 必要 | 格式仅支持jpg png gif |
18
| category | str | 图片类型 | 必要 | daily:日常(动态)<br />draw:绘画(画友)<br />cos:摄影(COSPLAY) |
19
| biz | str | | | |
20
| csrf | str | CSRF Token(位于cookie) | 必要 | |
15
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
16
| -------- | ---- | --------------------- | ------ | ---- |
17
| file_up | file | 需要上传的图片文件 | 必要 | 格式仅支持 `jpg` `png` `gif` |
18
| category | string | 图片类型 | 必要 | daily: 日常 (动态)<br />draw: 绘画 (画友)<br />cos: 摄影 (COSPLAY) |
19
| biz | string | | 不必要 | |
20
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
21
21
22
**json回复:**
22
**JSON 回复:**
23
23
24
24
根对象:
25
25
26
| 字段 | 类型 | 内容 | 备注 |
27
| ------- | ---- | -------- | ------------------------------------------------------------ |
28
| code | num | 返回值 | 0:成功 <br />-1:未添加图片<br />-2:参数错误<br />-3:图片尺寸过小<br />-4:账号未登录<br />-7:图片信息错误 |
29
| message | str | 错误信息 | 默认为success |
30
| data | obj | 信息本体 | 仅在正确时既`code=0`时为有效信息 |
26
| 字段 | 类型 | 内容 | 备注 |
27
| ------- | ---- | -------- | ---- |
28
| code | number | 返回值 | 0: 成功<br />-1: 未添加图片<br />-2: 参数错误<br />-3: 图片尺寸过小<br />-4: 账号未登录<br />-7: 图片信息错误 |
29
| message | string | 错误信息 | 默认为 `success` |
30
| data | object | 信息本体 | 成功时为有效信息 |
31
31
32
`data`对象:
32
`data` 对象:
33
33
34
34
| 字段 | 类型 | 内容 | 备注 |
35
35
| ------------ | ---- | -------------- | ---- |
36
| image_url | str | 已上传图片url | |
37
| image_width | num | 已上传图片宽度 | 像素 |
38
| image_height | num | 已上传图片高度 | 像素 |
36
| image_url | string | 已上传图片 URL | |
37
| image_width | number | 已上传图片宽度 | 像素 |
38
| image_height | number | 已上传图片高度 | 像素 |
39
39
40
**示例:**
40
**示例:**
41
41
42
上传了一张图片`test.png`类型为`日常`
42
上传图片 `test.png` 类型为 `日常`
43
43
44
44
```shell
45
45
curl 'https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs' \
@@ -49,67 +49,66 @@ curl 'https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs' \
49
49
```
50
50
51
51
<details>
52
<summary>查看响应示例:</summary>
52
<summary>查看响应示例:</summary>
53
53
54
54
```json
55
55
{
56
"code":0,
57
"message":"success",
58
"data":{
59
"image_url":"http:\/\/i0.hdslb.com\/bfs\/album\/13f9523efe186a8066b2d72e80283cea2437eb62.png",
60
"image_width":1225,
61
"image_height":850
62
}
56
"code": 0,
57
"message": "success",
58
"data": {
59
"image_url": "http://i0.hdslb.com/bfs/album/13f9523efe186a8066b2d72e80283cea2437eb62.png",
60
"image_width": 1225,
61
"image_height": 850
62
}
63
63
}
64
64
```
65
65
66
66
</details>
67
67
68
69
68
## 创建投票
70
69
71
70
> https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote
72
71
73
*请求方式:POST*
72
*请求方法: POST*
74
73
75
认证方式:Cookie(SESSDATA)
74
认证方式: Cookie (SESSDATA)
76
75
77
注意: options最少两个,下标n从0开始
76
注意: `options` 最少两个, 下标 `n` 从 `0` 开始
78
77
79
78
**正文参数 (multipart/form-data):**
80
79
81
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
82
| ---------------------------- | ---- | ------------------------ | ------ | -------------------------------------------------------- |
83
| info[title] | str | 投票标题 | 必要 | |
84
| info[desc] | str | 投票描述 | 非必要 | 可为空 |
85
| info[type] | num | 投票类型 | 必要 | 0:文字投票 1:图片投票 |
86
| info[choice_cnt] | num | 最多选几项 | 必要 | |
87
| info[duration] | num | 投票持续秒数 | 必要 | 常用:<br/>三天:259200<br/>七天:604800<br/>三十天:2592000 |
88
| info[options]\[ n ][desc] | str | 第n项选项文字内容 | 必要 | |
89
| info[options]\[ n ][img_url] | str | 第n项选项投票图片 | 非必要 | |
90
| csrf | str | CSRF Token(位于cookie) | 非必要 | 头次见非必要的csrf |
80
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
81
| -------------------------- | ---- | ---- | ------ | ---- |
82
| info[title] | string | 投票标题 | 必要 | |
83
| info[desc] | string | 投票描述 | 非必要 | 可为空 |
84
| info[type] | number | 投票类型 | 必要 | 0: 文字投票<br />1: 图片投票 |
85
| info[choice_cnt] | number | 最多选几项 | 必要 | |
86
| info[duration] | number | 投票持续秒数 | 必要 | 常用:<br/>三天: 259200<br/>七天: 604800<br/>三十天: 2592000 |
87
| info[options]\[ n ][desc] | string | 第 n 项选项文字内容 | 必要 | |
88
| info[options]\[ n ][img_url] | strin | 第 n 项选项投票图片 | 非必要 ||
89
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
91
90
92
**json回复:**
91
**JSON 回复:**
93
92
94
93
根对象:
95
94
96
95
| 字段 | 类型 | 内容 | 备注 |
97
96
| ------- | ---- | -------- | -------------------------------- |
98
| code | num | 返回值 | 0:成功 <br />5100001: 参数错误 |
99
| msg | str | 错误信息 | 成功为空 |
100
| message | str | 错误信息 | 跟上面那个一模一样 |
101
| data | obj | 信息本体 | 仅在正确时既`code=0`时为有效信息 |
97
| code | number | 返回值 | 0:成功 <br />5100001: 参数错误 |
98
| msg | string | 错误信息 | 成功为空 |
99
| message | string | 错误信息 | 跟上面那个一模一样 |
100
| data | object | 信息本体 | 仅在正确时既`code=0`时为有效信息 |
102
101
103
`data`对象:
102
`data` 对象:
104
103
105
104
| 字段 | 类型 | 内容 | 备注 |
106
105
| ------------ | ---- | -------------- | ---- |
107
| vote_id | num | 投票id | |
108
| \_gt\_ | num | 0 | |
106
| vote_id | number | 投票 id | |
107
| \_gt\_ | number | 0 | |
109
108
110
**示例:**
109
**示例:**
111
110
112
创建一个标题为`是否自愿开学`持续七天的纯文本投票
111
创建一个标题为 `是否自愿开学` 持续七天的纯文本投票
113
112
114
113
```shell
115
114
curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \
@@ -124,17 +123,17 @@ curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \
124
123
```
125
124
126
125
<details>
127
<summary>查看响应示例:</summary>
126
<summary>查看响应示例:</summary>
128
127
129
128
```json
130
129
{
131
"code": 0,
132
"msg": "",
133
"message": "",
134
"data": {
135
"vote_id": 4947171,
136
"_gt_": 0
137
}
130
"code": 0,
131
"msg": "",
132
"message": "",
133
"data": {
134
"vote_id": 4947171,
135
"_gt_": 0
136
}
138
137
}
139
138
```
140
139
@@ -144,83 +143,87 @@ curl -X POST 'https://api.vc.bilibili.com/vote_svr/v1/vote_svr/create_vote' \
144
143
145
144
> https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create
146
145
147
*请求方式:POST*
146
*请求方法: POST*
148
147
149
认证方式:Cookie (SESSDATA)
148
认证方式: Cookie (SESSDATA)
150
149
151
**正文参数(multipart/form-data):**
150
**正文参数 (multipart/form-data):**
152
151
153
152
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
154
153
| --- | --- | --- | --- | --- |
155
| dynamic_id | num | 0 | 必要 | |
156
| type | num | 4 | 必要 | |
157
| rid | num | 0 | 必要 | |
158
| content | str | 动态内容 | 必要 | |
159
| up_choose_comment | num | 0 | 非必要 | |
160
| up_close_comment | num | 0 | 非必要 | |
154
| dynamic_id | number | 0 | 必要 | |
155
| type | number | 4 | 必要 | |
156
| rid | number | 0 | 必要 | |
157
| content | string | 动态内容 | 必要 | |
158
| up_choose_comment | number | 0 | 非必要 | |
159
| up_close_comment | number | 0 | 非必要 | |
161
160
| extension | json | 位置信息 | 非必要 | |
162
| at_uids | str | 动态中 at 到的用户的 uid | 非必要 | 使用逗号`,`分隔 |
161
| at_uids | string | 动态中 at 到的用户的 uid | 非必要 | 使用逗号`,`分隔 |
163
162
| ctrl | array | 特殊格式控制 (如 at 别人时的蓝字体和链接) | 非必要 | |
164
| csrf_token | str | CSRF Token (位于 cookie) | 非必要 | |
165
| csrf | str | CSRF Token (位于 cookie) | 非必要 | |
163
| csrf_token | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
164
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
166
165
167
extension参数值:
168
```json
166
`extension` 参数值:
167
168
```jsonc
169
169
{
170
"emoji_type": 1,
171
"lbs_cfg": {
172
"title": "**市",
173
"poi": "156330200",
174
"show_title": "**市",
175
"type": 1,
176
"address": "**市",
177
"location": {
178
"lng":显示的经度数值,
179
"lat":显示的纬度数值
180
},
181
"distance": 0
170
"emoji_type": 1,
171
"lbs_cfg": {
172
"title": "**市",
173
"poi": "156330200",
174
"show_title": "**市",
175
"type": 1,
176
"address": "**市",
177
"location": {
178
"lng": //显示的经度数值,
179
"lat": //显示的纬度数值
182
180
},
183
"flag_cfg": {},
184
"from_cfg": {
185
"location": {
186
"lat":用户实际纬度数值,
187
"lng":用户实际经度数值
188
}
181
"distance": 0
182
},
183
"flag_cfg": {},
184
"from_cfg": {
185
"location": {
186
"lat": //用户实际纬度数值,
187
"lng": //用户实际经度数值
189
188
}
189
}
190
190
}
191
191
```
192
192
193
ctrl单个对象(注意用的时候是数组出现):
194
| 参数名 | 类型 | 内容 |
195
| --- | --- | --- |
196
| location | num | 从全文第几个字开始变蓝 |
197
| type | num | 1 (可能1代表链接到用户uid) |
198
| length | num | 这一段变蓝多少字 |
199
| data | str | 链接目标(被at人的uid) |
193
`ctrl` 数组中的对象:
194
195
| 参数名 | 类型 | 内容 | 备注 |
196
| --- | --- | --- | --- |
197
| location | number | 从全文第几个字开始变蓝 | |
198
| type | number | 1 | 可能 1 代表链接到用户 mid |
199
| length | number | 这一段变蓝多少字 | |
200
| data | string | 链接目标 | 被 at 人的 mid |
200
201
201
**json回复:**
202
**JSON 回复:**
202
203
203
根对象:
204
根对象:
204
205
205
206
| 字段 | 类型 | 内容 | 备注 |
206
207
| --- | --- | --- | --- |
207
| code | num | 返回值 | 0:成功 |
208
| message | str | 错误信息 | 成功为空 |
209
| data | obj | 数据本体 | |
208
| code | number | 返回值 | 0: 成功 |
209
| message | string | 错误信息 | 成功为空 |
210
| data | object | 数据本体 | |
210
211
211
`data`对象:
212
`data` 对象:
212
213
213
214
| 字段 | 类型 | 内容 | 备注 |
214
215
| --- | --- | --- | --- |
215
| result | num | 0 | |
216
| errmsg | str | 像是服务器日志一样的东西 | |
217
| dynamic_id | num | 动态 id | |
218
| create_result | num | 1 | |
219
| dynamic_id_str | str | 动态 id | 字符串格式 |
220
| \_gt_ | num | 0 | |
216
| result | number | 0 | |
217
| errmsg | string | 像是服务器日志一样的东西 | |
218
| dynamic_id | number | 动态 id | |
219
| create_result | number | 1 | |
220
| dynamic_id_str | string | 动态 id | 字符串格式 |
221
| \_gt_ | number | 0 | |
222
223
**示例:**
221
224
222
225
<details>
223
<summary>查看示例(纯文本)</summary>
226
<summary>纯文本:</summary>
224
227
225
228
```bash
226
229
curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
@@ -252,13 +255,12 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
252
255
"_gt_": 0
253
256
}
254
257
}
255
256
258
```
257
259
258
260
</details>
259
261
260
262
<details>
261
<summary>查看示例(at两个人)</summary>
263
<summary>at 两个人:</summary>
262
264
263
265
动态正文
264
266
```
@@ -297,67 +299,65 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
297
299
298
300
</details>
299
301
300
301
302
302
## 发表复杂动态
303
303
304
305
306
304
> https://api.bilibili.com/x/dynamic/feed/create/dyn
307
305
308
*请求方式:POST*
306
*请求方法:POST*
309
307
310
308
认证方式:Cookie (SESSDATA)
311
309
312
**URL参数**
310
**URL 参数:**
313
311
314
312
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
315
313
| ------ | ---- | ------------------------ | ------ | ---- |
316
| csrf | str | CSRF Token(位于cookie) | 必要 | |
314
| csrf | string | CSRF Token (即 Cookie 中 bili_jct) | 必要 | |
317
315
318
**正文参数(application/json):**
316
**正文参数 (application/json):**
319
317
320
318
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
321
319
| --- | --- | --- | --- | --- |
322
| dyn_req | obj | 请求本体 | 必要 | |
320
| dyn_req | object | 请求本体 | 必要 | |
323
321
324
`dyn_req`对象:
322
`dyn_req` 对象:
325
323
326
324
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
327
325
| --- | --- | --- | --- | --- |
328
| attach_card | obj | 特殊卡片 | 非必要 | 如直播预约等 |
329
| content | obj | 动态内容 | 必要 | |
330
| meta | obj | 元信息 | 非必要 | 大概是来源信息 |
331
| scene | num | 动态类型? | 必要 | 纯文本: 1<br/>带图: 2 |
326
| attach_card | object | 特殊卡片 | 非必要 | 如直播预约等 |
327
| content | object | 动态内容 | 必要 | |
328
| meta | object | 元信息 | 非必要 | 大概是来源信息 |
329
| scene | number | 动态类型? | 必要 | 纯文本: 1<br/>带图: 2 |
332
330
| pics | array | 携带图片 | 非必要 | 最多九个 |
333
| topic | obj | 话题 | 非必要 | |
334
| option | obj | 互动设置 | 非必要 | 没有此项时默认开启评论区 |
335
| upload_id | str | 客户端生成的 | 非必要 | 内容为`发送人mid`+`当前秒级时间戳`+`四位随机整数`,中间用`_`隔开 |
331
| topic | object | 话题 | 非必要 | |
332
| option | object | 互动设置 | 非必要 | 没有此项时默认开启评论区 |
333
| upload_id | string | 客户端生成的 | 非必要 | 内容为`发送人mid`+`当前秒级时间戳`+`四位随机整数`,中间用`_`隔开 |
334
335
`dyn_req` 对象的 `meta` 对象:
336
336
337
`dyn_req`对象的`meta`对象,大概是来源信息,很简单就不详细列表了:
337
大概是来源信息, 示例见下
338
338
339
339
```json
340
340
{
341
"app_meta": {
342
"from": "create.dynamic.web",
343
"mobi_app": "web"
344
}
341
"app_meta": {
342
"from": "create.dynamic.web",
343
"mobi_app": "web"
344
}
345
345
}
346
346
```
347
347
348
`dyn_req`对象的`content`对象:
348
`dyn_req` 对象的 `content` 对象:
349
349
350
350
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
351
351
| -------- | ----- | -------------------- | ------ | ---- |
352
352
| contents | array | 动态组件对象有序数组 | 必要 | |
353
353
354
`contents`数组内每一个动态组件对象:
354
`contents` 数组内每一个动态组件对象:
355
355
356
```json
356
```jsonc
357
357
{
358
"raw_text": "ui上直接显示的字符串",
359
"type": 组件类型id,
360
"biz_id": "动态组件的内容id转字符串,比如投票id"
358
"raw_text": "ui上直接显示的字符串",
359
"type": 组件类型id,
360
"biz_id": "动态组件的内容id转字符串,比如投票id"
361
361
}
362
362
```
363
363
@@ -370,49 +370,49 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
370
370
| 表情 | 9 | 空 |
371
371
| 投票 | 4 | 投票id |
372
372
373
`dyn_req`对象的`topic`对象
373
`dyn_req` 对象的 `topic` 对象:
374
374
375
375
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
376
376
| ------------- | ---- | ------- | ------ | -------------------------- |
377
| from_source | str | 来源id? | 必要 | 网页版直接选为dyn.web.list |
378
| from_topic_id | num | 0 | 必要 | |
379
| id | num | 话题id | 必要 | |
380
| name | str | 话题名 | 必要 | |
377
| from_source | string | 来源id? | 必要 | 网页版直接选为 `dyn.web.list` |
378
| from_topic_id | number | 0 | 必要 | |
379
| id | number | 话题id | 必要 | |
380
| name | string | 话题名 | 必要 | |
381
381
382
`dyn_req`对象的`pics`数组的每一项对象:
382
`dyn_req` 对象的 `pics` 数组的每一项对象:
383
383
384
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
384
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
385
385
| ---------- | ----- | ---------------- | ------ | ------------------------------------------------------------ |
386
| img_height | num | 图片高 | 非必要 | 这个东西会直接原封不动传到前端,比如你都写0在网页上就看不见了,但是还会加载 |
387
| img_width | num | 图片宽 | 非必要 | 同上 |
386
| img_height | number | 图高 | 非必要 | 这个东西会直接原封不动传到前端,比如你都写 0 在网页上就看不见了, 但是还会加载 |
387
| img_width | number | 图宽 | 非必要 | 同上 |
388
388
| img_size | float | 图片文件大小(KB) | 非必要 | |
389
| img_src | str | 图片bfs链接 | 必要 | |
389
| img_src | string | 图片 URL | 必要 | |
390
390
391
391
`dyn_req`对象的`option`对象:
392
392
393
393
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
394
394
| ----------------- | ---- | ------------ | ------ | --------------- |
395
| up_choose_comment | num | 精选评论flag | 非必要 | 1: 开启 |
396
| close_comment | num | 关闭评论flag | 非必要 | 同上,与上二选一 |
395
| up_choose_comment | number | 精选评论flag | 非必要 | 1: 开启 |
396
| close_comment | number | 关闭评论flag | 非必要 | 同上, 上二选一 |
397
397
398
398
`dyn_req`对象的`topic`对象:
399
399
400
400
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
401
401
| ------------- | ---- | ------------ | ------ | -------- |
402
| from_source | str | dyn.web.list | 非必要 | 作用不明 |
403
| from_topic_id | num | 0 | 非必要 | 作用不明 |
404
| id | num | 话题id | 必要 | |
405
| name | str | 话题名 | 非必要 | |
402
| from_source | string | `dyn.web.list` | 非必要 | 作用不明 |
403
| from_topic_id | number | 0 | 非必要 | 作用不明 |
404
| id | number | 话题id | 必要 | |
405
| name | string | 话题名 | 非必要 | |
406
406
407
**json回复:**
407
**JSON 回复:**
408
408
409
409
根对象:
410
410
411
411
| 字段 | 类型 | 内容 | 备注 |
412
412
| --- | --- | --- | --- |
413
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />4126021:你没有绑定手机,无法发布动态 |
414
| message | str | 错误信息 | 成功为空 |
415
| data | obj | 数据本体 | |
413
| code | number | 返回值 | 0: 成功<br />-101: 账号未登录<br />4126021: 你没有绑定手机,无法发布动态 |
414
| message | string | 错误信息 | 成功为空 |
415
| data | object | 数据本体 | |
416
416
417
417
`data`对象:
418
418
@@ -420,12 +420,12 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
420
420
421
421
| 字段 | 类型 | 内容 | 备注 |
422
422
| --- | --- | --- | --- |
423
| result | num | 0 | |
424
| message | str | 错误信息 | |
425
| dyn_id | num | 动态 id | |
426
| dyn_id_str | str | 动态 id | 字符串格式 |
427
| dyn_type | num | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 get_dynamic_detail.md |
428
| \_gt_ | num | 0 | |
423
| result | number | 0 | |
424
| message | string | 错误信息 | |
425
| dyn_id | number | 动态 id | |
426
| dyn_id_str | string | 动态 id | 字符串格式 |
427
| dyn_type | number | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 get_dynamic_detail.md |
428
| \_gt_ | number | 0 | |
429
429
430
430
**警告:下面的内容又乱又杂,而且绝大多数情况用不到,我建议大家用这个接口的时候随便带一个buvid3的cookie屏蔽掉它们算了.**
431
431
@@ -433,22 +433,22 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
433
433
434
434
| 字段 | 类型 | 内容 | 备注 |
435
435
| --------- | ---- | ---- | ------------ |
436
| fake_card | obj | 0 | 又多又乱又杂 |
436
| fake_card | object | 0 | 又多又乱又杂 |
437
437
438
438
`fake_card`对象:
439
439
440
440
| 字段 | 类型 | 内容 | 备注 |
441
441
| --------- | ----- | ------------ | ------------------------------------------------------------ |
442
| card_type | num | 卡片类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 [获取特定动态卡片信息](get_dynamic_detail.md) |
442
| card_type | number | 卡片类型 | 不带图片: 4<br/>带图片: 2<br/>其他请参考 [获取特定动态卡片信息](get_dynamic_detail.md) |
443
443
| modules | array | 卡片组件列表 | |
444
| extend | obj | 其他杂项信息 | |
444
| extend | object | 其他杂项信息 | |
445
445
446
446
`fake_card`对象的`modules`数组中每一项对象:
447
447
448
448
| 字段 | 类型 | 内容 | 备注 |
449
449
| ----------- | ---- | -------- | -------------------------------------------- |
450
| module_type | num | 组件类型 | 1: 作者信息<br/>3: 动态内容<br/>其他有待发现 |
451
| ModuleItem | obj | 卡片组件 | |
450
| module_type | number | 组件类型 | 1: 作者信息<br/>3: 动态内容<br/>其他有待发现 |
451
| ModuleItem | object | 卡片组件 | |
452
452
453
453
`ModuleItem`对象与`module_type`对应关系:
454
454
@@ -463,40 +463,40 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
463
463
464
464
| 字段 | 类型 | 内容 | 备注 |
465
465
| ---------------- | ---- | -------------------------------- | ------------------------------------------------ |
466
| mid | num | 发送者mid | |
467
| ptime_label_text | str | 发送时间(人类可读形式)肯定是刚刚 | |
468
| author | obj | 作者详细信息 | 请参考[用户基本信息](../user/info.md),不再赘述.. |
466
| mid | number | 发送者mid | |
467
| ptime_label_text | string | 发送时间(人类可读形式)肯定是刚刚 | |
468
| author | object | 作者详细信息 | 请参考[用户基本信息](../user/info.md),不再赘述.. |
469
469
470
470
`ModuleItem`内`module_desc`:
471
471
472
472
| 字段 | 类型 | 内容 | 备注 |
473
473
| ---- | ----- | -------------- | ---- |
474
474
| desc | array | 动态组件列表 | |
475
| text | str | 动态纯文本形式 | |
475
| text | string | 动态纯文本形式 | |
476
476
477
477
`module_desc`的`desc`数组:
478
478
479
479
| 项 | 类型 | 备注 |
480
480
| ---- | ---- | ------------------- |
481
| 0 | obj | 第0个动态组件 |
482
| n | obj | 第n+1个动态组件组件 |
483
| ... | obj | ... |
481
| 0 | object | 第0个动态组件 |
482
| n | object | 第n+1个动态组件组件 |
483
| ... | object | ... |
484
484
485
485
`desc`数组的每一项:
486
486
487
487
| 字段 | 类型 | 内容 | 备注 |
488
488
| ---- | ---- | ------------------------------------------------ | ----------------------------- |
489
| text | str | 该组件对外显示的纯文本 | 对应请求时该组件的`raw_text` |
490
| type | num | 组件类型 | 对应请求时该组件的`type` |
491
| rid | str | 组件内容的id,例如@人的mid | 根据需要出现,比如纯文本就没有 |
492
| uri | str | b站自定义`bilibili://`协议链接,用于@人点击跳转等 | 根据需要出现,比如纯文本就没有 |
489
| text | string | 该组件对外显示的纯文本 | 对应请求时该组件的`raw_text` |
490
| type | number | 组件类型 | 对应请求时该组件的`type` |
491
| rid | string | 组件内容的id,例如@人的mid | 根据需要出现,比如纯文本就没有 |
492
| uri | string | b站自定义`bilibili://`协议链接,用于@人点击跳转等 | 根据需要出现,比如纯文本就没有 |
493
493
494
494
`ModuleItem`内`module_dynamic`:
495
495
496
496
| 字段 | 类型 | 内容 | 备注 |
497
497
| ---------- | ---- | ------------------ | -------------------- |
498
| type | num | 不知道是什么的类型 | 5: 图片<br/>其他未知 |
499
| ModuleItem | obj | 组件? | 怎么还有套娃的? |
498
| type | number | 不知道是什么的类型 | 5: 图片<br/>其他未知 |
499
| ModuleItem | object | 组件? | 怎么还有套娃的? |
500
500
501
501
当`module_dynamic`的`type`字段为`5`时:
502
502
@@ -505,33 +505,35 @@ curl 'https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/create' \
505
505
| 字段 | 类型 | 内容 | 备注 |
506
506
| ----- | ----- | -------------------------------- | ------------------------------------------------ |
507
507
| items | array | 图片数组 | 与请求部分`dyn_req.pics`一致 |
508
| id | num | 这条图片动态所对应的相簿`doc_id` | 可以参考本文档的[相簿基本信息](../album/info.md) |
508
| id | number | 这条图片动态所对应的相簿`doc_id` | 可以参考本文档的[相簿基本信息](../album/info.md) |
509
509
510
510
`fake_card`的`extend`对象:
511
511
512
512
| 字段 | 类型 | 内容 | 备注 |
513
513
| ------------- | ----- | ---------------------------------------------- | ---------------------------------------- |
514
| dyn_id_str | str | 动态id字符串形式 | |
515
| business_id | str | 未知 | 根据情况出现 |
516
| orif_img_url | str | 封面图url(如果有) | |
517
| share_type | str | 一般为3 | 未知 |
518
| share_scene | str | 一般为dynamic | 未知 |
514
| dyn_id_str | string | 动态id字符串形式 | |
515
| business_id | string | 未知 | 根据情况出现 |
516
| orif_img_url | string | 封面图url(如果有) | |
517
| share_type | string | 一般为3 | 未知 |
518
| share_scene | string | 一般为dynamic | 未知 |
519
519
| is_fast_share | bool | 一般为true | 未知 |
520
| dyn_type | num | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他待探索 |
521
| uid | num | 发送者mid | |
522
| card_url | str | b站自定义`bilibili://`协议链接,指向该条动态 | |
520
| dyn_type | number | 动态类型 | 不带图片: 4<br/>带图片: 2<br/>其他待探索 |
521
| uid | number | 发送者mid | |
522
| card_url | string | b站自定义`bilibili://`协议链接,指向该条动态 | |
523
523
| desc | array | 动态组件列表,重复了一遍`module_desc`的desc数组 | |
524
| reply | obj | 评论区相关 | |
524
| reply | object | 评论区相关 | |
525
525
526
526
`extend`的`reply`对象:
527
527
528
528
| 字段 | 类型 | 内容 | 备注 |
529
529
| ------ | ----- | ------------------------------------------------- | ---- |
530
| uri | str | b站自定义`bilibili://`协议链接,指向该条动态评论区 | |
530
| uri | string | b站自定义`bilibili://`协议链接,指向该条动态评论区 | |
531
531
| params | array | 未知 | |
532
532
533
**示例:**
534
533
535
<details>
534
<summary>查看示例(不带`buvid3`)</summary>
536
<summary>Cookie 不带 `buvid3`:</summary>
535
537
536
538
```bash
537
539
curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \
@@ -744,7 +746,7 @@ curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \
744
746
</details>
745
747
746
748
<details>
747
<summary>查看示例(带`buvid3`)</summary>
749
<summary>Cookie 带 `buvid3`:</summary>
748
750
749
751
动态正文
750
752
```
@@ -817,35 +819,33 @@ curl -X POST 'https://api.bilibili.com/x/dynamic/feed/create/dyn?csrf=xxxxx' \
817
819
}
818
820
```
819
821
820
821
822
822
</details>
823
823
824
824
## 立即发布定时动态
825
825
826
826
> https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/publish_now
827
827
828
*请求方式:POST*
828
*请求方法: POST*
829
829
830
认证方式:Cookie(SESSDATA)
830
认证方式: Cookie (SESSDATA)
831
831
832
**正文参数 (application/x-www-form-urlencoded):**
832
**正文参数 (application/x-www-form-urlencoded):**
833
833
834
834
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
835
835
| -------- | ---- | ------------------------ | ------ | ---- |
836
836
| draft_id | file | 定时动态(草稿)id | 必要 | |
837
| csrf | str | CSRF Token(位于cookie) | 必要 | |
837
| csrf | string | CSRF Token(即 Cookie 中 bili_jct) | 必要 | |
838
838
839
**json回复:**
839
**JSON 回复:**
840
840
841
根对象:
841
根对象:
842
842
843
843
| 字段 | 类型 | 内容 | 备注 |
844
844
| ------- | ---- | -------- | ------------ |
845
| code | num | 返回值 | 0:成功 |
846
| data | obj | 信息本体 | 正常为空对象 |
847
| message | str | 错误消息 | 正常为"0" |
848
| ttl | num | 1 | 不明 |
845
| code | number | 返回值 | 0: 成功 |
846
| data | object | 信息本体 | 正常为空对象 |
847
| message | string | 错误消息 | 正常为 `0` |
848
| ttl | number | 1 | |
849
849
850
850
<details>
851
851
<summary>查看示例</summary>
@@ -861,12 +861,11 @@ curl -X POST 'https://api.vc.bilibili.com/dynamic_draft/v1/dynamic_draft/publish
861
861
862
862
```json
863
863
{
864
"code":0,
865
"message":"0",
866
"ttl":1,
867
"data":{}
864
"code": 0,
865
"message": "0",
866
"ttl": 1,
867
"data": {}
868
868
}
869
869
```
870
870
871
871
</details>
872