返回提交历史
Modified
comment/action.md
+1
-1
Modified
comment/list.md
+1
-1
Modified
electric/charge_list.md
+133
-0
Modified
electric/charge_msg.md
+247
-0
Modified
fav/action.md
+2
-2
Modified
manga/ClockIn.md
+131
-9
Modified
message/private_msg.md
+22
-0
Modified
user/info.md
+62
-2
Modified
user/vip.md
+58
-28
Modified
video/videostream_url.md
+37
-4
XFEstudio/bilibili-API-collect
添加Java获取dev_id的示例 (#353)
* 添加漫画签到接口 * 添加积分商城相关接口 * 添加基本兑换状态码 * fix format * 添加新项 * 链接勘误 * 添加Java获取dev_id的示例 * Revert "添加Java获取dev_id的示例" This reverts commit 125828bb * 添加Java获取dev_id的示例 * 大会员权益信息更新 * 查询自己收到的充电列表 * 更新视频取流相关参数 * 签到请求地址更正 * 添加查询签到状态接口 * 补充用户信息字段 * 补充粉丝勋章信息字段说明 * 添加系统提示类型 * UPDATE * UPDATE * UPDATE * 添加: 查询我收到的充电留言 * 添加: 查询充电留言详情 * 添加: 回复充电留言 * UPDATE * UPDATE Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
f41151b
代码差异
10 个文件
+694
-47
@@ -36,7 +36,7 @@
36
36
37
37
| 字段 | 类型 | 内容 | 备注 |
38
38
| ------- | ---- | -------- | ------------------------------------------------------------ |
39
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />-509:请求过于频繁<br />12001:已经存在评论主题<br />12002:评论区已关闭<br />12003:禁止回复<br />12006:没有该评论<br />12009:评论主体的type不合法<br />12015:需要评论验证码<br />12016:评论内容包含敏感信息<br />12025:评论字数过多<br />12035:该账号被UP主列入评论黑名单<br />12051:重复评论,请勿刷屏<br />**(其他错误码有待补充)** |
39
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-102:账号被封停<br />-111:csrf校验失败<br />-400:请求错误<br />-404:无此项<br />-509:请求过于频繁<br />12001:已经存在评论主题<br />12002:评论区已关闭<br />12003:禁止回复<br />12006:没有该评论<br />12009:评论主体的type不合法<br />12015:需要评论验证码<br />12016:评论内容包含敏感信息<br />12025:评论字数过多<br />12035:该账号被UP主列入评论黑名单<br />12051:重复评论,请勿刷屏<br />12052:评论区已关闭<br />**(其他错误码有待补充)** |
40
40
| message | str | 错误信息 | <br /> |
41
41
| ttl | num | 1 | |
42
42
| data | obj | 数据本体 | |
@@ -128,7 +128,7 @@
128
128
129
129
| 字段 | 类型 | 内容 | 备注 |
130
130
| ------------------------ | ---- | ------------------ | ----------------------------------- |
131
| input_disable | bool | 禁止输入? | |
131
| input_disable | bool | 是否禁止新增评论 | 用户涉及合约争议,锁定该用户所有稿件、动态的评论区,不允许新增评论,`root_input_text`和`child_input_text`值为“当前评论区不可新增评论” |
132
132
| root_input_text | str | 评论框文字 | |
133
133
| child_input_text | str | 评论框文字 | |
134
134
| bg_text | str | 空评论区文字 | |
@@ -293,3 +293,136 @@ curl -G 'http://api.bilibili.com/x/web-interface/elec/show' \
293
293
```
294
294
295
295
</details>
296
297
## 查询我收到的充电列表
298
299
> https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord
300
301
*请求方式:GET*
302
303
认证方式:Cookie(SESSDATA)
304
305
**url参数:**
306
307
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
308
| -------- | ---- | -------- | ------ | -------------------------------- |
309
| currentPage | num | 页数 | 必要 | |
310
| pageSize | num | 分页大小 | 必要 | 取值范围[1,50] |
311
| customerId | num | (?) | 必要 | 目前为固定值:10026 |
312
| beginTime | str | 开始日期 | | yyyy-MM-dd |
313
| endTime | str | 结束日期 | | yyyy-MM-dd |
314
315
**json回复:**
316
317
根对象:
318
319
| 字段 | 类型 | 内容 | 备注 |
320
| ------- | ---- | -------- | --------------------------- |
321
| code | num | 返回值 | 0:成功<br />800501007:user not login<br />800501008:内部错误<br /> 800501011:请求参数有误|
322
| errno | num | | |
323
| msg | str | | |
324
| showMsg | str | | |
325
| success | bool | | |
326
| data | obj | 信息本体 | |
327
328
`data`对象:
329
330
| 字段 | 类型 | 内容 | 备注 |
331
| -------- | ----- | ------ | ---- |
332
| page | obj | 分页信息 | |
333
| result | array | 充电信息本体 | |
334
| config | array | (?) | |
335
336
`page`对象:
337
338
| 字段 | 类型 | 内容 | 备注 |
339
| -------- | ----- | ------ | ---- |
340
| currentPage | num | 当前页数 | |
341
| pageSize | num | 当前分页大小 | |
342
| totalCount | num | 记录总数 | |
343
| totalPage | num | 总页数 | |
344
345
`config`数组中的对象:
346
347
| 字段 | 类型 | 内容 | 备注 |
348
| -------- | ----- | ------ | ---- |
349
| mid | num | | 总是为null |
350
| name | str | | 总是为null |
351
| avatar | str | | 总是为null |
352
| originalThirdCoin | num | | 总是为null |
353
| brokerage | num | | 总是为null |
354
| remark | str | | 总是为null |
355
| ctime | str | | 总是为null |
356
357
`result`数组中的对象:
358
359
| 字段 | 类型 | 内容 | 备注 |
360
| -------- | ----- | ------ | ---- |
361
| mid | num | 充电人mid | |
362
| name | str | 充电人昵称 | |
363
| avatar | str | 充电人头像 | |
364
| originalThirdCoin | num | 原始B币数 | |
365
| brokerage | num | 实际收到的贝壳数 | |
366
| remark | str | 充电渠道 | Web/安卓/iOS |
367
| ctime | str | 充电时间 | yyyy-MM-dd HH:mm:ss |
368
369
**示例:**
370
371
```shell
372
curl -L -X GET 'https://pay.bilibili.com/bk/brokerage/listForCustomerRechargeRecord?currentPage=1&pageSize=2&customerId=10026' \
373
-H 'Cookie: SESSDATA=xxx'
374
```
375
376
<details>
377
<summary>查看响应示例:</summary>
378
379
```json
380
{
381
"code": 0,
382
"errno": 0,
383
"msg": "SUCCESS",
384
"showMsg": "交易成功",
385
"data": {
386
"page": {
387
"currentPage": 1,
388
"pageSize": 2,
389
"totalCount": 311,
390
"totalPage": 156
391
},
392
"result": [
393
{
394
"mid": 2233,
395
"name": "2233",
396
"avatar": "http://i2.hdslb.com/bfs/face/f42b7f47c80648d2ee1231f2435b527c60302289.jpg",
397
"originalThirdCoin": 2,
398
"brokerage": 1.34,
399
"remark": "Web",
400
"ctime": "2022-04-12 17:34:47"
401
},
402
{
403
"mid": 2233,
404
"name": "2233",
405
"avatar": "http://i0.hdslb.com/bfs/face/member/noface.jpg",
406
"originalThirdCoin": 2,
407
"brokerage": 0.68,
408
"remark": "iOS",
409
"ctime": "2022-04-10 03:41:10"
410
}
411
],
412
"config": [
413
{
414
"mid": null,
415
"name": null,
416
"avatar": null,
417
"originalThirdCoin": null,
418
"brokerage": null,
419
"remark": null,
420
"ctime": null
421
}
422
]
423
},
424
"success": true
425
}
426
```
427
428
</details>
@@ -1,6 +1,9 @@
1
1
# 充电留言
2
2
3
3
- [发送充电留言](#发送充电留言)
4
- [查询我收到的充电留言](#查询我收到的充电留言)
5
- [查询充电留言详情](#查询充电留言详情)
6
- [回复充电留言](#回复充电留言)
4
7
5
8
---
6
9
@@ -54,3 +57,247 @@ curl 'http://api.bilibili.com/x/ugcpay/trade/elec/message' \
54
57
```
55
58
56
59
</details>
60
61
## 查询我收到的充电留言
62
63
> https://member.bilibili.com/x/web/elec/remark/list
64
65
*请求方式:GET*
66
67
认证方式:Cookie(SESSDATA)
68
69
**url参数:**
70
71
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
72
| ------ | ---- | ------------ | ------------ | ------------------ |
73
| begin | str | 起始日期 | | 默认2016-01-01 |
74
| end | str | 结束日期 | | 默认2050-01-01 |
75
| pn | str | 页数 | | |
76
| ps | str | 分页大小 | | 取值范围[1,12] |
77
78
**json回复:**
79
80
根对象:
81
82
| 字段 | 类型 | 内容 | 备注 |
83
| ------- | ---- | -------- | --------------------------- |
84
| code | num | 返回值 | 0:成功<br />-101:账号未登录|
85
| msg | str | 0 | |
86
| ttl | num | 1 | |
87
| data | obj | 信息本体 | |
88
89
`data`对象:
90
91
| 字段 | 类型 | 内容 | 备注 |
92
| -------- | ----- | ------ | ---- |
93
| page | obj | 分页信息 | |
94
| list | array | 信息本体 | |
95
96
`page`对象:
97
98
| 字段 | 类型 | 内容 | 备注 |
99
| -------- | ----- | ------ | ---- |
100
| current | num | 当前页数 | |
101
| size | num | 当前分页大小 | |
102
| total | num | 记录总数 | |
103
104
`list`数组中的对象:
105
106
| 字段 | 类型 | 内容 | 备注 |
107
| -------- | ----- | ------ | ---- |
108
| aid | num | | |
109
| bvid | str | | |
110
| id | num | 留言记录id | |
111
| mid | num | | |
112
| reply_mid | num | 0| |
113
| elec_num | num | 0 | |
114
| state | num | UP是否已经回复这条留言 | 0:未回复<br />1:已回复 |
115
| msg | str | 留言信息 | |
116
| aname | str | 空 | |
117
| uname | str |空 | |
118
| avator | str | 空 | |
119
| reply_name | str | 空 | |
120
| reply_avator | str | 空 | |
121
| reply_msg | str | 空 | |
122
| ctime | num | 留言时间 | 毫秒级时间戳 |
123
| reply_time | num | 0 | |
124
125
**示例:**
126
127
```shell
128
curl -L -X GET 'https://member.bilibili.com/x/web/elec/remark/list?begin=2016-01-01&end=2050-01-01&pn=1&ps=10' \
129
-H 'Cookie: SESSDATA=xxx;'
130
```
131
132
<details>
133
<summary>查看响应示例:</summary>
134
135
```json
136
{
137
"code": 0,
138
"message": "0",
139
"ttl": 1,
140
"data": {
141
"list": [
142
{
143
"aid": 0,
144
"bvid": "",
145
"id": 6715018,
146
"mid": 0,
147
"reply_mid": 0,
148
"elec_num": 0,
149
"state": 0,
150
"msg": "加油",
151
"aname": "",
152
"uname": "",
153
"avator": "",
154
"reply_name": "",
155
"reply_avator": "",
156
"reply_msg": "",
157
"ctime": 1650665119000,
158
"reply_time": 0
159
}
160
],
161
"pager": {
162
"current": 1,
163
"size": 10,
164
"total": 448
165
}
166
}
167
}
168
```
169
170
</details>
171
172
## 查询充电留言详情
173
174
> https://member.bilibili.com/x/web/elec/remark/detail?id=6662619
175
176
认证方式:Cookie(SESSDATA)
177
178
**url参数:**
179
180
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
181
| -------- | ---- | -------- | ------ | -------------------------------- |
182
| id | num | 留言id | 必要 | |
183
184
**json回复:**
185
186
根对象:
187
188
| 字段 | 类型 | 内容 | 备注 |
189
| ------- | ---- | -------- | --------------------------- |
190
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-400:请求错误|
191
| message | str | 0 | |
192
| ttl | num | 1 | |
193
| data | obj | 信息本体 | |
194
195
`data`对象:
196
197
| 字段 | 类型 | 内容 | 备注 |
198
| -------- | ----- | ------ | ---- |
199
| aid | num | | |
200
| bvid | str | | |
201
| id | num | 留言id | |
202
| mid | num | 留言者uid(充电用户) | |
203
| reply_mid | num | UP主uid | |
204
| elec_num | num | 0 | |
205
| state | num | UP是否已经回复这条留言 | 0:未回复<br />1:已回复 |
206
| msg | str | 留言内容 | |
207
| aname | str | 空 | |
208
| uname | str | 留言者用户名 | |
209
| avator | str | 留言者头像 | |
210
| reply_name | str | UP主用户名 | |
211
| reply_avator | str | UP主头像 | |
212
| reply_msg | str | 回复内容 | |
213
| ctime | num | 留言时间 | 毫秒级时间戳 |
214
| reply_time | num | 回复时间 | 毫秒级时间戳 |
215
216
**示例:**
217
218
```shell
219
curl -L -X GET 'https://member.bilibili.com/x/web/elec/remark/detail?id=6507563' \
220
-H 'cookie: SESSDATA=xxx'
221
```
222
223
<details>
224
<summary>查看响应示例:</summary>
225
226
```json
227
{
228
"code": 0,
229
"message": "0",
230
"ttl": 1,
231
"data": {
232
"aid": 0,
233
"bvid": "",
234
"id": 6507563,
235
"mid": 19978396,
236
"reply_mid": 2062760,
237
"elec_num": 0,
238
"state": 1,
239
"msg": "感谢搬运",
240
"aname": "",
241
"uname": "HANSOOOOOL",
242
"avator": "http://i1.hdslb.com/bfs/face/5c22af0261b8b3f9a54b6e0038e35430e9ed9cfd.jpg",
243
"reply_name": "一把近战都不给六花",
244
"reply_avator": "http://i2.hdslb.com/bfs/face/1804b716084908d4992bdd35827d0c2d7222fe97.jpg",
245
"reply_msg": "( ̄3 ̄)",
246
"ctime": 1646726966000,
247
"reply_time": 1646811946000
248
}
249
}
250
```
251
252
</details>
253
254
## 回复充电留言
255
256
> https://member.bilibili.com/x/web/elec/remark/reply
257
258
*请求方式:POST*
259
260
认证方式:Cookie(SESSDATA)
261
262
**正文参数( application/x-www-form-urlencoded ):**
263
264
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
265
| ------------ | ------ | ------------------------ | -------------- | ------------------------------------------------------------ |
266
| csrf | str | csrf | 必要 | |
267
| id | num | 留言id | 必要 | |
268
| msg | str | 回复信息 | | |
269
270
**json回复:**
271
272
根对象:
273
274
| 字段 | 类型 | 内容 | 备注 |
275
| ------- | ---- | -------- | ------------------------------------------------------------ |
276
| code | num | 返回值 | 0:成功<br />-101:账号未登录<br />-111:csrf 校验失败<br />-400:请求错误20004:充电服务异常<br /> |
277
| message | str | 错误信息 | |
278
| ttl | num | 1 | |
279
280
**示例:**
281
282
```shell
283
curl -L -X POST 'https://member.bilibili.com/x/web/elec/remark/reply' \
284
-H 'cookie: SESSDATA=xxx' \
285
-H 'Content-Type: application/x-www-form-urlencoded' \
286
--data-urlencode 'csrf=xxx' \
287
--data-urlencode 'id=6258929' \
288
--data-urlencode 'msg=( ̄3 ̄)'
289
```
290
291
<details>
292
<summary>查看响应示例:</summary>
293
294
```json
295
{
296
"code": 0,
297
"message": "0",
298
"ttl": 1,
299
"data": 1
300
}
301
```
302
303
</details>
@@ -36,7 +36,7 @@
36
36
37
37
| 字段 | 类型 | 内容 | 备注 |
38
38
| ------- | ---- | -------- | ------- |
39
| code | num | 返回值 | 0:成功 |
39
| code | num | 返回值 | 0:成功<br />-102:账号被封停 |
40
40
| message | str | 错误信息 | 默认为0 |
41
41
| ttl | num | 1 | |
42
42
| data | obj | 信息本体 | |
@@ -130,7 +130,7 @@ curl 'http://api.bilibili.com/x/v3/fav/folder/add' \
130
130
131
131
| 字段 | 类型 | 内容 | 备注 |
132
132
| ------- | ---- | -------- | ------- |
133
| code | num | 返回值 | 0:成功 |
133
| code | num | 返回值 | 0:成功<br />-102:账号被封停 |
134
134
| message | str | 错误信息 | 默认为0 |
135
135
| ttl | num | 1 | |
136
136
| data | obj | 信息本体 | |
@@ -1,6 +1,6 @@
1
1
# 签到
2
2
3
> http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn
3
> https://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn
4
4
5
5
*请求方式:POST*
6
6
@@ -21,18 +21,15 @@
21
21
| code | num / str | 返回值 | 0:成功<br />invalid_argument:今日已签到 |
22
22
| msg | str | 错误信息 | 成功:空<br />已签到:clockin clockin is duplicate |
23
23
| meta | obj | 错误信息 | 今日已签到时存在 |
24
25
根对象:
26
27
| 字段 | 类型 | 内容 | 备注 |
28
| ---- | ---- | -------- | ---- |
29
| data | str | 错误信息 | |
24
| data | obj | | |
30
25
31
26
**示例:**
32
27
33
28
```bash
34
curl 'http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn' \
35
-b 'SESSDATA=xxx'
29
curl -L -X POST 'https://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn' \
30
-H 'Cookie: SESSDATA=xxx' \
31
-H 'Content-Type: application/x-www-form-urlencoded' \
32
--data-urlencode 'platform=android'
36
33
```
37
34
38
35
<details>
@@ -63,4 +60,129 @@ curl 'http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn' \
63
60
}
64
61
```
65
62
63
</details>
64
65
# 查询签到状态
66
67
> https://manga.bilibili.com/twirp/activity.v1.Activity/GetClockInInfo
68
69
*请求方式:POST*
70
71
认证方式:Cookie(SESSDATA)/ APP
72
73
**json回复:**
74
75
根对象:
76
77
| 字段 | 类型 | 内容 | 备注 |
78
| ------- | ---- | -------- | ------------------------------------------------------------ |
79
| code | num | 返回值 | 0:成功 |
80
| msg | str | 错误信息 | 空 |
81
| data | obj | 信息本体 | |
82
83
`data` 对象:
84
85
| 字段 | 类型 | 内容 | 备注 |
86
| ------- | ---- | -------- | ------------------------------------------------------------ |
87
| day_count | num | 连续签到天数 | |
88
| status | num | 今日是否已签到 | 0:未签到<br />1:已签到 |
89
| credit_icon | str | | |
90
| sign_before_icon | str | | |
91
| sign_today_icon | str | | |
92
| breathe_icon | str | | |
93
| new_credit_x_icon | str | | |
94
| coupon_pic | str | | |
95
| points | array | 一次签到周期中每次签到可获得点数 | |
96
| point_infos | array | | |
97
98
`point_infos`数组中的对象:
99
100
| 字段 | 类型 | 内容 | 备注 |
101
| ------- | ---- | -------- | ------------------------------------------------------------ |
102
| point | num | 签到可获取积分 | |
103
| origin_point | num | | |
104
| is_activity | bool | | |
105
| title | str | 签到奖励描述 | |
106
107
**示例:**
108
109
```bash
110
curl -L -X POST 'https://manga.bilibili.com/twirp/activity.v1.Activity/GetClockInInfo' \
111
-H 'Cookie: SESSDATA=xxx'
112
```
113
114
<details>
115
<summary>成功:</summary>
116
117
118
```json
119
{
120
"code": 0,
121
"msg": "",
122
"data": {
123
"day_count": 58,
124
"status": 1,
125
"points": [
126
10,
127
20,
128
20,
129
10,
130
10,
131
10,
132
30
133
],
134
"credit_icon": "https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/9da6QImiK_w192_h192.png",
135
"sign_before_icon": "https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/BuA6z3lhN_w192_h192.png",
136
"sign_today_icon": "https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/TWSLUHbbg_w192_h192.png",
137
"breathe_icon": "http://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/anime.breathe.svga",
138
"point_infos": [
139
{
140
"point": 10,
141
"origin_point": 10,
142
"is_activity": false,
143
"title": "10积分"
144
},
145
{
146
"point": 20,
147
"origin_point": 20,
148
"is_activity": false,
149
"title": "20积分"
150
},
151
{
152
"point": 20,
153
"origin_point": 20,
154
"is_activity": false,
155
"title": "20积分"
156
},
157
{
158
"point": 10,
159
"origin_point": 10,
160
"is_activity": false,
161
"title": "10积分"
162
},
163
{
164
"point": 10,
165
"origin_point": 10,
166
"is_activity": false,
167
"title": "10积分"
168
},
169
{
170
"point": 10,
171
"origin_point": 10,
172
"is_activity": false,
173
"title": "10积分"
174
},
175
{
176
"point": 30,
177
"origin_point": 30,
178
"is_activity": false,
179
"title": "30积分+福利券"
180
}
181
],
182
"new_credit_x_icon": "https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/QP5DsW2S_w192_h192.png",
183
"coupon_pic": "https://i0.hdslb.com/bfs/static/manga/artifact/sign-resource/v2/Yalqqoiz_w402_h162.png"
184
}
185
}
186
```
187
66
188
</details>
@@ -96,6 +96,28 @@ const deviceid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (functi
96
96
97
97
代码来自 [andywang425/BLTH](https://github.com/andywang425/BLTH/blob/45fe93e31754ca8bf07059d46266398e787dbf45/B%E7%AB%99%E7%9B%B4%E6%92%AD%E9%97%B4%E6%8C%82%E6%9C%BA%E5%8A%A9%E6%89%8B.js#L6618)
98
98
99
以Java为例
100
101
```java
102
public class Util{
103
private String getDevId() {
104
char[] b = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
105
char[] s = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".toCharArray();
106
for (int i = 0; i < s.length; i++) {
107
if ('-' == s[i] || '4' == s[i]) {
108
continue;
109
}
110
int randomInt = (int) (16 * Math.random());
111
if ('x' == s[i]) {
112
s[i] = b[randomInt];
113
} else {
114
s[i] = b[3 & randomInt | 8];
115
}
116
}
117
return new String(s);
118
}
119
}
120
```
99
121
---
100
122
101
123
`msg[content]`消息内容:
@@ -84,10 +84,13 @@
84
84
| type | num | 会员类型 | 0:无<br />1:月大会员<br />2:年度及以上大会员 |
85
85
| status | num | 会员状态 | 0:无<br />1:有 |
86
86
| due_date | num | 会员过期时间 | Unix时间戳(毫秒) |
87
| vip_pay_type | num | 1 | |
87
88
| theme_type | num | 0 | 作用尚不明确 |
88
89
| label | obj | 会员标签 | |
89
90
| avatar_subscript | num | 是否显示会员图标 | 0:不显示<br />1:显示 |
90
91
| nickname_color | str | 会员昵称颜色 | 颜色码 |
92
| role | num | 3 | |
93
| avatar_subscript_url | str | 大会员角标地址 | |
91
94
92
95
`vip`中的`label`对象:
93
96
@@ -96,15 +99,21 @@
96
99
| path | str | 空 | 作用尚不明确 |
97
100
| text | str | 会员类型文案 | |
98
101
| label_theme | str | 会员标签 | vip:大会员<br />annual_vip:年度大会员<br />ten_annual_vip:十年大会员<br />hundred_annual_vip:百年大会员 |
102
| text_color | str | 会员标签 | |
103
| bg_style | num | | |
104
| bg_color | str | | |
105
| border_color | str | | |
99
106
100
107
`data`中的`pendant`对象:
101
108
102
109
| 字段 | 类型 | 内容 | 备注 |
103
110
| ------ | ---- | ------------- | -------------------- |
104
| pid | num | 头像框id | **详细说明有待补充** |
111
| pid | num | 头像框id | |
105
112
| name | str | 头像框名称 | |
106
113
| image | str | 头像框图片url | |
107
114
| expire | num | (?) | |
115
| image_enhance | str | (?) | |
116
| image_enhance_frame | str | (?) | |
108
117
109
118
`data`中的`nameplate`对象:
110
119
@@ -117,11 +126,40 @@
117
126
| level | str | 勋章等级 | |
118
127
| condition | str | 勋章条件 | |
119
128
129
`data`中的`fans_medal`对象:
130
131
| 字段 | 类型 | 内容 | 备注 |
132
| ----------- | ---- | ---------------- | -------------------- |
133
| show | bool | | |
134
| wear | bool | 是否佩戴了粉丝勋章 | |
135
| medal | obj | 粉丝勋章信息 | |
136
137
`fans_medal`中的`medal`对象:
138
139
| 字段 | 类型 | 内容 | 备注 |
140
| ----------- | ---- | ---------------- | -------------------- |
141
| uid | num | 此用户mid | |
142
| target_id | num | 粉丝勋章所属UP的mid | |
143
| medal_id | num | 粉丝勋章id | |
144
| level | num | 粉丝勋章等级 | |
145
| medal_name | str | 粉丝勋章名称 | |
146
| medal_color | num | 颜色 | |
147
| intimacy | num | 当前亲密度 | |
148
| next_intimacy | num |下一等级所需亲密度 | |
149
| day_limit | num | 每日亲密度获取上限 | |
150
| medal_color_start | num | | |
151
| medal_color_end | num | | |
152
| medal_color_border | num | | |
153
| is_lighted | num | | |
154
| light_status | num | | |
155
| wearing_status | num | 当前是否佩戴 | 0:未佩戴<br />1:已佩戴 |
156
| score | num | | |
157
120
158
`data`中的`sys_notice`对象:
121
159
122
160
| 字段 | 类型 | 内容 | 备注 |
123
161
| ----------- | ---- | --------------- | ----------------------------------------------- |
124
| id | num | 系统提示类型id | 8:争议账号<br />20:纪念账号<br />22:合约诉讼 |
162
| id | num | 系统提示类型id | 8:争议账号<br />11:合约争议<br/>20:纪念账号<br />22:合约诉讼<br />24:合约争议<br />25:严重指控 |
125
163
| content | str | 提示文案 | |
126
164
| url | str | 提示信息页面url | |
127
165
| notice_type | num | ? | 作用尚不明确<br />此字段非必须 |
@@ -129,6 +167,17 @@
129
167
| text_color | str | 提示文字颜色 | 此字段非必须<br />颜色码 |
130
168
| bg_color | str | 提示背景颜色 | 此字段非必须<br />颜色码 |
131
169
170
`sys_notice`示例
171
172
| id |type| 内容 |
173
| ----------- | ---- | --------------- |
174
| 8 | |
175
| 11 | 1 |该账号涉及合约争议,暂冻结其账号功能使用。详见公告->|
176
| 20 | 2|请允许我们在此献上最后的告别,以此纪念其在哔哩哔哩留下的回忆与足迹。请点此查看纪念账号相关说明 |
177
| 22 | |该账号涉及合约诉讼,封禁其账号使用。 |
178
| 24 | 1|该账号涉及合约争议,暂冻结其账号功能使用。 |
179
| 25 | 1|该用户涉及严重指控,暂冻结其账号功能使用 |
180
132
181
`data`中的`live_room`对象:
133
182
134
183
| 字段 | 类型 | 内容 | 备注 |
@@ -166,6 +215,17 @@
166
215
| 字段 | 类型 | 内容 | 备注 |
167
216
| ---- | ---- | ---- | ---- |
168
217
| name | str | (?) | |
218
| department | str | (?) | |
219
| title | str | (?) | |
220
| is_show | num | (?) | |
221
222
`data`中的`user_honour_info`对象:
223
224
| 字段 | 类型 | 内容 | 备注 |
225
| ---- | ---- | ---- | ---- |
226
| mid | num | 0 | |
227
| colour | str | null | |
228
| tags | array | null | |
169
229
170
230
`data`中的`series`对象:
171
231
@@ -30,6 +30,8 @@
30
30
| 字段 | 类型 | 内容 | 备注 |
31
31
| ----- | -------|----------------|------ |
32
32
| list | array | 卡券列表 | |
33
| is_short_vip | bool | (?) | |
34
| is_freight_open | bool | (?) | |
33
35
34
36
`list`数组:
35
37
@@ -37,15 +39,19 @@
37
39
| ----- | -------|-----------------|------ |
38
40
| 0 | obj | B币兑换状态 | |
39
41
| 1 | obj | 会员购优惠券兑换状态 | |
42
| 2 | obj | 漫画福利券兑换状态 | |
43
| 3 | obj | 会员购运费券兑换状态 | |
40
44
41
45
`list`中的对象:
42
46
43
47
| 字段 | 类型 | 内容 | 备注 |
44
48
| -------------- | -----|------------------|------ |
45
| type | num | 卡券类型 | 1:B币<br />2:会员购优惠券<br />3:漫画福利券 |
49
| type | num | 卡券类型 | 1:B币<br />2:会员购优惠券<br />3:漫画福利券<br />4:会员购运费券 |
46
50
| state | num | 兑换状态 | 0:当月未兑换<br />1:已兑换 |
47
51
| expire_time | num | 当月过期时间 | 当月月底 |
48
| vip_type | num | (?) | |
52
| vip_type | num | | 2:年度大会员可兑换 |
53
| next_receive_days | num | 距下一轮兑换剩余天数 | |
54
| period_end_unix | num | 距下一轮兑换截止时间戳 | 秒级时间戳 |
49
55
50
56
51
57
**示例:**
@@ -60,31 +66,55 @@ curl -G 'http://api.bilibili.com/x/vip/privilege/my' \
60
66
61
67
```json
62
68
{
63
"code": 0,
64
"message": "0",
65
"ttl": 1,
66
"data": {
67
"list": [
68
{
69
"type": 1,
70
"state": 1,
71
"expire_time": 1640966399,
72
"vip_type": 2
73
},
74
{
75
"type": 2,
76
"state": 1,
77
"expire_time": 1640966399,
78
"vip_type": 2
79
},
80
{
81
"type": 3,
82
"state": 0,
83
"expire_time": 1640966399,
84
"vip_type": 2
85
}
86
]
87
}
69
"code": 0,
70
"message": "0",
71
"ttl": 1,
72
"data": {
73
"list": [
74
{
75
"type": 1,
76
"state": 1,
77
"expire_time": 1651334399,
78
"vip_type": 2,
79
"next_receive_days": 20,
80
"period_end_unix": 1651420800
81
},
82
{
83
"type": 2,
84
"state": 0,
85
"expire_time": 1651334399,
86
"vip_type": 2,
87
"next_receive_days": 20,
88
"period_end_unix": 1651420800
89
},
90
{
91
"type": 3,
92
"state": 1,
93
"expire_time": 1651334399,
94
"vip_type": 2,
95
"next_receive_days": 20,
96
"period_end_unix": 1651420800
97
},
98
{
99
"type": 4,
100
"state": 0,
101
"expire_time": 1651334399,
102
"vip_type": 2,
103
"next_receive_days": 20,
104
"period_end_unix": 1651420800
105
},
106
{
107
"type": 5,
108
"state": 0,
109
"expire_time": 1651334399,
110
"vip_type": 2,
111
"next_receive_days": 20,
112
"period_end_unix": 1651420800
113
}
114
],
115
"is_short_vip": false,
116
"is_freight_open": true
117
}
88
118
}
89
119
```
90
120
@@ -102,7 +132,7 @@ curl -G 'http://api.bilibili.com/x/vip/privilege/my' \
102
132
103
133
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
104
134
| ---------- | ---- | ---------- | -------- | ---------------------- |
105
| type | num | 兑换类型 | 必要 | 1:B币<br />2:会员购优惠券<br />3:漫画福利券<br />4.会员购运费券 |
135
| type | num | 兑换类型 | 必要 | 1:B币<br />2:会员购优惠券<br />3:漫画福利券<br />4:会员购运费券 |
106
136
| csrf | num | CSRF token | 必要 | Cookie bili_jct字段 |
107
137
108
138
**json回复:**
@@ -101,6 +101,9 @@ B站的视频为http流媒体,需要对应的api以视频id获取取流url,
101
101
| fnval | num | 视频获取方式选择 | 非必要 | 默认为0<br />0 2:flv方式(可能会有分段)<br />1:低清mp4方式(仅240P与360P,且限速65K/s)<br />16 80:dash方式(音视频分流,支持H.265) |
102
102
| fnver | num | 0 | 非必要 | 固定为0 |
103
103
| fourk | num | 是否允许4K视频 | 非必要 | 默认为0<br />画质最高1080P:0<br />画质最高4K:1 |
104
| session | str | | 非必要 | 从视频播放页的网页源码中获取 |
105
| otype | str | | 非必要 | 固定为json |
106
| type | str | | 非必要 | 目前为空 |
104
107
105
108
**json回复:**
106
109
@@ -126,11 +129,13 @@ B站的视频为http流媒体,需要对应的api以视频id获取取流url,
126
129
| accept_format | str | 视频支持的全部格式 | 每项用`,`分隔 |
127
130
| accept_description | array | 视频支持的分辨率列表 | |
128
131
| accept_quality | array | 视频支持的分辨率代码列表 | **值含义见上表** |
129
| video_codecid | num | 7 | 作用尚不明确 |
130
| seek_param | str | start | 作用尚不明确 |
131
| seek_type | str | ??? | 作用尚不明确 |
132
| video_codecid | num | 固定值:7 | 作用尚不明确 |
133
| seek_param | str | 固定值:start | 作用尚不明确 |
134
| seek_type | str | 固定值:offset | 作用尚不明确 |
132
135
| durl | array | 视频分段 | **注:仅flv/mp4存在此项** |
133
136
| dash | obj | dash音视频流信息 | **注:仅dash存在此项** |
137
| support_formats | array | 支持格式的详细信息 | |
138
| high_format | | null | |
134
139
135
140
`data`中的`accept_description`数组:
136
141
@@ -148,6 +153,33 @@ B站的视频为http流媒体,需要对应的api以视频id获取取流url,
148
153
| n | str | 分辨率代码(n+1) | |
149
154
| …… | str | …… | |
150
155
156
`data`中的`support_formats`数组:
157
158
| 项 | 类型 | 内容 | 备注 |
159
| ---- | ---- | --------------- | ---- |
160
| 0 | obj | 播放格式详细信息1 | |
161
| n | obj | 播放格式详细信息(n+1) | |
162
| …… | obj | …… | |
163
164
`support_formats`数组中的对象:
165
166
| 字段 | 类型 | 内容 | 备注 |
167
| ---------- | ------ | ------------ | ---------------------------------- |
168
| quality | num | 视频清晰度代码 | |
169
| format | str | 视频格式 | |
170
| new_description | str | 格式描述 | |
171
| display_desc | str | 格式描述 | |
172
| superscript | str | (?) | |
173
| codecs | array | (?) | |
174
175
`support_formats`中的`codecs`数组:
176
177
| 项 | 类型 | 内容 | 备注 |
178
| ---- | ---- | --------------- | ---- |
179
| 0 | str | (?) | |
180
| 1 | str | (?) | |
181
182
151
183
---
152
184
153
185
**flv/mp4方式:**
@@ -357,11 +389,12 @@ curl -G 'http://api.bilibili.com/x/player/playurl' \
357
389
358
390
| 字段 | 类型 | 内容 | 备注 |
359
391
| --------------- | ----- | ---------- | ------------ |
360
| duration | num | 677 | 作用尚不明确 |
392
| duration | num | 677 | 视频长度(秒) |
361
393
| minBufferTime | num | 1.5 | 作用尚不明确 |
362
394
| min_buffer_time | num | 1.5 | 作用尚不明确 |
363
395
| video | array | 视频流信息 | |
364
396
| audio | array | 音频流信息 | |
397
| dolby | | null | |
365
398
366
399
`dash`中的`video`数组:
367
400