返回提交历史
Modified
danmaku/action.md
+43
-0
Added
history&toview/play_history.md
+373
-0
Modified
video/info.md
+8
-8
XFEstudio/bilibili-API-collect
添加撤回弹幕与视频历史记录
cec0afe
代码差异
3 个文件
+424
-8
@@ -67,3 +67,46 @@ curl -b "SESSDATA=xxx" -d "type=1&oid=62131&msg=%e5%89%8d%e6%9d%a5%e8%80%83%e5%8
67
67
}
68
68
```
69
69
70
71
72
## 撤回弹幕
73
74
> http://api.bilibili.com/x/dm/recall
75
76
*方式:POST*
77
78
仅能撤回自己两分钟内的弹幕,且每天只有3次机会
79
80
需要登录(SESSDATA)
81
82
**参数( application/x-www-form-urlencoded ):**
83
84
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
85
| ------ | ---- | ------------------- | ------ | ---- |
86
| dmid | data | 弹幕ID | 必要 | |
87
| cid | data | 视频CID | 必要 | |
88
| csrf | data | cookies中的bili_jct | 必要 | |
89
90
**json回复:**
91
92
根对象:
93
94
| 字段 | 类型 | 内容 | 备注 |
95
| ------- | ---- | -------- | ------------------------------------------------------------ |
96
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />36301:撤回失败,弹幕发送已过2分钟<br />36302:撤回失败,弹幕已经被删除或撤回<br />36303:撤回失败,今天撤回的机会已经用完<br />**(其他错误码有待补充)** |
97
| message | str | 错误信息 | 成功后显示剩余次数 |
98
| ttl | num | 1 | 作用尚不明确 |
99
100
**示例:**
101
102
撤回视频CID为`168901231`弹幕ID为`32310301474947077`的弹幕
103
104
curl -b "SESSDATA=xxx" -d "dmid=32310301474947077&cid=168901231&csrf=xxx" "http://api.bilibili.com/x/dm/recall"
105
106
```json
107
{
108
"code": 0,
109
"message": "撤回成功,你还有3次撤回机会"
110
}
111
```
112
@@ -0,0 +1,373 @@
1
# 播放历史
2
3
## 查询视频播放历史
4
5
> http://api.bilibili.com/x/v2/history
6
7
*方式:GET*
8
9
需要登录(SESSDATA)
10
11
**参数:**
12
13
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
14
| ------ | ---- | -------- | ------ | --------- |
15
| pn | url | 页码 | 非必要 | 默认为1 |
16
| ps | url | 每页项数 | 非必要 | 默认为100 |
17
18
**json回复:**
19
20
根对象:
21
22
| 字段 | 类型 | 内容 | 备注 |
23
| ------- | ------ | ------------ | ------------------------------------------------- |
24
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误 |
25
| message | str | 错误信息 | 默认为0 |
26
| ttl | num | 1 | 作用尚不明确 |
27
| data | arrary | 历史记录列表 | |
28
29
`data`数组:
30
31
| 项 | 类型 | 内容 | 备注 |
32
| ---- | ---- | ------------- | ------------------------------------------ |
33
| 0 | obj | 历史观看1 | |
34
| n | obj | 历史观看(n+1) | 按照观看顺序排列<br />项数为总计观看视频数 |
35
| …… | obj | …… | …… |
36
37
`data`数组中的对象:
38
39
| 字段 | 类型 | 内容 | 备注 |
40
| ------------- | ---- | ------------------------------ | ------------------------------------------------------------ |
41
| aid | num | 视频avID | |
42
| videos | num | 视频分P总数 | 默认为1 |
43
| tid | num | 分区ID | |
44
| tname | str | 子分区名称 | |
45
| copyright | num | 版权标志 | 1:自制<br />2:转载 |
46
| pic | str | 视频封面图片url | |
47
| title | str | 视频标题 | |
48
| pubdate | num | 视频上传时间 | 时间戳 |
49
| ctime | num | 视频审核通过时间 | 时间戳 |
50
| desc | str | 视频简介 | |
51
| state | num | 0 | 作用尚不明确 |
52
| attribute | num | ??? | 作用尚不明确 |
53
| duration | num | 视频总计持续时长(所有分P) | 单位为秒 |
54
| rights | obj | 视频属性标志 | |
55
| owner | obj | 视频UP主信息 | |
56
| stat | obj | 视频状态数 | |
57
| dynamic | str | 视频同步发布的的动态的文字内容 | 无为空 |
58
| cid | num | 视频1P CID | |
59
| dimension | obj | 视频1P分辨率 | |
60
| bangumi | obj | 番剧/影视信息 | 非番剧/影视无此项 |
61
| cheese | obj | 课程信息 | 非课程无此项 |
62
| favorite | bool | 是否已收藏 | true:已收藏<br />false:未收藏 |
63
| type | num | 视频属性 | 3:普通视频<br />4:番剧/影视<br />10:课程 |
64
| sub_type | num | 附视频属性 | 0:普通视频<br />1:番剧<br />2:电影<br />3:纪录片<br />4:国创<br />5:电视剧<br />7:综艺 |
65
| device | num | 观看设备 | 1 3 5 7:手机端<br />2:PC端<br />4 6:PAD端<br />33:TV端<br />0:其他 |
66
| page | obj | 分P信息 | |
67
| count | num | 分P数 | 非投稿视频无此项 |
68
| progress | num | 观看进度 | 单位为秒 |
69
| view_at | num | 观看时间 | 时间戳 |
70
| kid | num | 视频avID | |
71
| business | str | 视频类型标识 | archive:用户投稿视频<br />pgc:番剧/影视<br />cheese:课程 |
72
| redirect_link | str | 重定向url | |
73
| bvid | str | 视频bvID | |
74
75
`data`数组中的对象中的`rights`对象:
76
77
| 字段 | 类型 | 内容 | 备注 |
78
| --------------- | ---- | ---------------- | ---------------------------------------- |
79
| bp | num | 0 | 作用尚不明确 |
80
| elec | num | 0 | 作用尚不明确 |
81
| download | num | 允许下载标志 | 0:不允许<br />1:允许 |
82
| movie | num | 视频时电影标志 | 0:否<br />1:是 |
83
| pay | num | 仅会员可观看标志 | 0:无<br />1:有 |
84
| hd5 | num | 有高码率标志 | 0:无<br />1:有 |
85
| no_reprint | num | 禁止转载标志 | 0:无<br />1:禁止 |
86
| autoplay | num | 可自动播放标志 | 0:无<br />1:有 区别影视番剧与普通视频 |
87
| ugc_pay | num | 0 | 作用尚不明确 |
88
| is_cooperation | num | 视频合作标志 | 0:无<br />1:是 |
89
| ugc_pay_preview | num | 0 | 作用尚不明确 |
90
| no_background | num | 0 | 作用尚不明确 |
91
92
`data`数组中的对象中的`owner`对象:
93
94
| 字段 | 类型 | 内容 | 备注 |
95
| ---- | ---- | -------- | ---- |
96
| mid | num | UP主UID | |
97
| name | str | UP主昵称 | |
98
| face | str | UP主头像 | |
99
100
`data`数组中的对象中的`stat`对象:
101
102
| 字段 | 类型 | 内容 | 备注 |
103
| ---------- | ---- | ------------------------------ | ------------ |
104
| aid | num | 视频avID | |
105
| view | num | 普通:观看次数<br />屏蔽时:-1 | |
106
| danmaku | num | 弹幕条数 | |
107
| reply | num | 评论条数 | |
108
| favorite | num | 收藏人数 | |
109
| coin | num | 投币枚数 | |
110
| share | num | 分享次数 | |
111
| now_rank | num | 0 | 作用尚不明确 |
112
| his_rank | num | 历史最高排行 | |
113
| like | num | 获赞次数 | |
114
| dislike | num | 0 | 作用尚不明确 |
115
| evaluation | str | 视频评分 | 默认为空 |
116
117
`data`数组中的对象中的`pages`数组:
118
119
| 项 | 类型 | 内容 | 备注 |
120
| ---- | ---- | ---------- | ------------- |
121
| 0 | obj | 1P内容 | 无分P仅有此项 |
122
| n | obj | (n+1)P内容 | |
123
| …… | obj | …… | …… |
124
125
`pages`数组中的对象:
126
127
| 字段 | 类型 | 内容 | 备注 |
128
| --------- | ---- | --------------- | ------------------------------------ |
129
| cid | num | 当前分P CID | |
130
| page | num | 当前分P | |
131
| from | str | 视频来源 | vupload:用户上传<br />hunan:芒果TV |
132
| part | str | 当前分P标题 | |
133
| duration | num | 当前分P持续时间 | 单位为秒 |
134
| vid | str | 空 | 作用尚不明确 |
135
| weblink | str | 空 | 作用尚不明确 |
136
| dimension | obj | 当前分P分辨率 | |
137
138
`pages`数组中的对象中的`dimension`对象(同`data`数组中的对象中的`dimension`对象):
139
140
| 字段 | 类型 | 内容 | 备注 |
141
| ------ | ---- | ------------ | ------------ |
142
| width | num | 当前分P 宽度 | 可能为0 |
143
| height | num | 当前分P 高度 | 可能为0 |
144
| rotate | num | 0 | 作用尚不明确 |
145
146
`data`数组中的对象`bangumi`对象:
147
148
| 字段 | 类型 | 内容 | 备注 |
149
| -------------- | ---- | --------------- | ------------ |
150
| cover | str | 番剧封面图片url | |
151
| ep_id | num | 番剧epID | |
152
| episode_status | num | ??? | |
153
| follow | num | 0 | 作用尚不明确 |
154
| long_title | str | 单集标题 | |
155
| season | obj | 剧集信息 | |
156
| title | str | 集数 | |
157
158
`bangumi`中的`season`对象:
159
160
| 字段 | 类型 | 内容 | 备注 |
161
| --------------- | ---- | ------------ | ---------------------- |
162
| is_finish | num | 是否完结 | 0:连载中<br />1:完结 |
163
| newest_ep_id | num | 最细一话epID | |
164
| newest_ep_index | str | 最细一话集数 | |
165
| season_id | num | 番剧ssID | |
166
| season_status | num | ??? | |
167
| season_type | num | ??? | |
168
| title | str | 番剧标题 | |
169
| total_count | num | 总集数 | |
170
171
`data`数组中的对象`cheese`对象:
172
173
| 字段 | 类型 | 内容 | 备注 |
174
| ----------- | ---- | --------------- | ---- |
175
| cover | str | 课程封面图片url | |
176
| long_title | str | 完整标题 | |
177
| number | str | 本集数 | |
178
| season_id | num | 课程ssID | |
179
| update_info | str | 总集数 | |
180
181
**示例:**
182
183
查询当前视频历史记录列表
184
185
http://api.bilibili.com/x/v2/history?ps=5&pn=1
186
187
```json
188
{
189
"code": 0,
190
"message": "0",
191
"ttl": 1,
192
"data": [
193
{
194
"aid": 96523832,
195
"videos": 1,
196
"tid": 33,
197
"tname": "连载动画",
198
"copyright": 2,
199
"pic": "http://i0.hdslb.com/bfs/archive/dfc29be381565ee041a0ec9cfc7a32f8a63f76cd.jpg",
200
"title": "【1月】异度侵入 ID:INVADED 12【独家正版】",
201
"pubdate": 1584289800,
202
"ctime": 1584289800,
203
"desc": "#12",
204
"state": 0,
205
"attribute": 338688,
206
"duration": 1481,
207
"redirect_url": "https://www.bilibili.com/bangumi/play/ep307457",
208
"rights": {
209
"bp": 0,
210
"elec": 0,
211
"download": 0,
212
"movie": 0,
213
"pay": 1,
214
"hd5": 1,
215
"no_reprint": 0,
216
"autoplay": 0,
217
"ugc_pay": 0,
218
"is_cooperation": 0,
219
"ugc_pay_preview": 0,
220
"no_background": 0
221
},
222
"owner": {
223
"mid": 928123,
224
"name": "哔哩哔哩番剧",
225
"face": "http://i1.hdslb.com/bfs/face/7a8412cbacb9fd18f40ddbbf0ad183e45afc1365.jpg"
226
},
227
"stat": {
228
"aid": 96523832,
229
"view": 4772927,
230
"danmaku": 108890,
231
"reply": 48584,
232
"favorite": 46,
233
"coin": 61768,
234
"share": 290,
235
"now_rank": 0,
236
"his_rank": 0,
237
"like": 1241,
238
"dislike": 0
239
},
240
"dynamic": "",
241
"cid": 164789275,
242
"dimension": {
243
"width": 1920,
244
"height": 1080,
245
"rotate": 0
246
},
247
"favorite": false,
248
"type": 4,
249
"sub_type": 1,
250
"device": 3,
251
"page": {
252
"cid": 164789275,
253
"page": 1,
254
"from": "vupload",
255
"part": "ID_INVADED_112.encoded",
256
"duration": 1481,
257
"vid": "",
258
"weblink": "",
259
"dimension": {
260
"width": 1920,
261
"height": 1080,
262
"rotate": 0
263
}
264
},
265
"bangumi": {
266
"ep_id": 307457,
267
"title": "12",
268
"long_title": "CHANNELED",
269
"episode_status": 13,
270
"follow": 0,
271
"cover": "http://i0.hdslb.com/bfs/archive/dfc29be381565ee041a0ec9cfc7a32f8a63f76cd.jpg",
272
"season": {
273
"season_id": 29310,
274
"title": "异度侵入 ID:INVADED",
275
"season_status": 13,
276
"is_finish": 1,
277
"total_count": 13,
278
"newest_ep_id": 307774,
279
"newest_ep_index": "13",
280
"season_type": 1
281
}
282
},
283
"progress": 277,
284
"view_at": 1588831600,
285
"kid": 29310,
286
"business": "pgc",
287
"redirect_link": "https://www.bilibili.com/bangumi/play/ep307457",
288
"bvid": "BV1K7411f7uu"
289
},
290
{
291
"aid": 497899395,
292
"videos": 1,
293
"tid": 189,
294
"tname": "电脑装机",
295
"copyright": 1,
296
"pic": "http://i0.hdslb.com/bfs/archive/fd4e0893b234ee729cf15198065eced98367ebfe.jpg",
297
"title": "600元的2007款iMac,如今过时了吗?",
298
"pubdate": 1587727345,
299
"ctime": 1587708111,
300
"desc": "苹果东西是真的保值,酷睿2现在都还能卖的这么贵。第一次使用4K画质进行拍摄,应该比以前清楚一些。如有问题请在评论区指出,谢谢!",
301
"state": 0,
302
"attribute": 16768,
303
"duration": 389,
304
"mission_id": 13106,
305
"rights": {
306
"bp": 0,
307
"elec": 0,
308
"download": 0,
309
"movie": 0,
310
"pay": 0,
311
"hd5": 1,
312
"no_reprint": 1,
313
"autoplay": 1,
314
"ugc_pay": 0,
315
"is_cooperation": 0,
316
"ugc_pay_preview": 0,
317
"no_background": 0
318
},
319
"owner": {
320
"mid": 3391089,
321
"name": "数字云糕Official",
322
"face": "http://i2.hdslb.com/bfs/face/238dfbca5dda5de2d5ba95ee4e99804714e2b5e2.jpg"
323
},
324
"stat": {
325
"aid": 497899395,
326
"view": 23325,
327
"danmaku": 92,
328
"reply": 115,
329
"favorite": 195,
330
"coin": 132,
331
"share": 23,
332
"now_rank": 0,
333
"his_rank": 0,
334
"like": 555,
335
"dislike": 0
336
},
337
"dynamic": "#IMAC##APPLE##MAC# 苹果东西是真的保值,酷睿2现在都还能卖的这么贵。第一次使用4K画质进行拍摄,应该比以前清楚一些。",
338
"cid": 182570131,
339
"dimension": {
340
"width": 1920,
341
"height": 1080,
342
"rotate": 0
343
},
344
"favorite": false,
345
"type": 3,
346
"sub_type": 0,
347
"device": 3,
348
"page": {
349
"cid": 182570131,
350
"page": 1,
351
"from": "vupload",
352
"part": "iMac",
353
"duration": 389,
354
"vid": "",
355
"weblink": "",
356
"dimension": {
357
"width": 1920,
358
"height": 1080,
359
"rotate": 0
360
}
361
},
362
"count": 1,
363
"progress": -1,
364
"view_at": 1588828357,
365
"kid": 497899395,
366
"business": "archive",
367
"redirect_link": "https://www.bilibili.com/video/av497899395",
368
"bvid": "BV1NK41157EF"
369
}
370
]
371
}
372
```
373
@@ -42,7 +42,7 @@
42
42
| ctime | num | 视频审核通过时间 | 时间戳 |
43
43
| desc | str | 视频简介 | |
44
44
| state | num | 0 | 作用尚不明确 |
45
| attribute | num | | 作用尚不明确 |
45
| attribute | num | ??? | 作用尚不明确 |
46
46
| duration | num | 视频总计持续时长(所有分P) | 单位为秒 |
47
47
| mission_id | num | 视频参与的活动ID | 无为0 |
48
48
| redirect_url | str | 重定向url | 用于番剧&影视的av->ep |
@@ -107,7 +107,7 @@
107
107
| n | obj | (n+1)P内容 | |
108
108
| …… | obj | …… | …… |
109
109
110
数组`pages`中的对象:
110
`pages`数组中的对象:
111
111
112
112
| 字段 | 类型 | 内容 | 备注 |
113
113
| --------- | ---- | --------------- | ------------------------------------ |
@@ -120,7 +120,7 @@
120
120
| weblink | str | 空 | 作用尚不明确 |
121
121
| dimension | obj | 当前分P分辨率 | |
122
122
123
数组`pages`中的对象中的`dimension`对象:(同`data`中的`dimension`对象)
123
`pages`数组中的对象中的`dimension`对象(同`data`中的`dimension`对象):
124
124
125
125
| 字段 | 类型 | 内容 | 备注 |
126
126
| ------ | ---- | ------------ | ------------ |
@@ -143,7 +143,7 @@
143
143
| n | obj | 字幕(n+1) | |
144
144
| …… | obj | …… | …… |
145
145
146
数组`list`中的对象:
146
`list`数组中的对象:
147
147
148
148
| 字段 | 类型 | 内容 | 备注 |
149
149
| ------------ | ---- | ------------------- | ---- |
@@ -155,7 +155,7 @@
155
155
| subtitle_url | str | json格式字幕文件url | |
156
156
| author | obj | 字幕上传者信息 | |
157
157
158
数组`list`中的对象中的`author`对象:
158
`list`数组中的对象中的`author`对象:
159
159
160
160
| 字段 | 类型 | 内容 | 备注 |
161
161
| --------------- | ---- | ----------------- | ------------ |
@@ -177,7 +177,7 @@
177
177
| n | obj | 合作成员(n+1) | |
178
178
| …… | obj | …… | …… |
179
179
180
数组`staff`中的对象:
180
`staff`数组中的对象:
181
181
182
182
| 字段 | 类型 | 内容 | 备注 |
183
183
| -------- | ---- | -------------- | ---- |
@@ -189,7 +189,7 @@
189
189
| official | obj | 成员认证信息 | |
190
190
| follower | num | 成员粉丝数 | |
191
191
192
数组`staff`中的对象中的`vip`对象:
192
`staff`数组中的对象中的`vip`对象:
193
193
194
194
| 字段 | 类型 | 内容 | 备注 |
195
195
| ---------- | ---- | ------------ | ----------------------------------- |
@@ -197,7 +197,7 @@
197
197
| status | num | 会员状态 | 0:无<br />1:有 |
198
198
| theme_type | num | 0 | |
199
199
200
数组`staff`中的对象中的`official`对象:
200
`staff`数组中的对象中的`official`对象:
201
201
202
202
| 字段 | 类型 | 内容 | 备注 |
203
203
| ----- | ---- | ------------ | ----------------------------------------------- |