返回提交历史
Modified
login/login_action/QR.md
+144
-115
XFEstudio/bilibili-API-collect
修正错误与表格格式 (#473)
fbd4044
代码差异
1 个文件
+144
-115
@@ -51,19 +51,19 @@ while True:
51
51
52
52
根对象:
53
53
54
| 字段 | 类型 | 内容 | 备注 |
55
| ------- | ---- | -------- | ------- |
56
| code | num | 返回值 | 0:成功 |
57
| message | str | 错误信息 | |
58
| ttl | num | 1 | |
59
| data | obj | 信息本体 | |
54
| 字段 | 类型 | 内容 | 备注 |
55
|---------|-----|------|------|
56
| code | num | 返回值 | 0:成功 |
57
| message | str | 错误信息 | |
58
| ttl | num | 1 | |
59
| data | obj | 信息本体 | |
60
60
61
61
`data`对象:
62
62
63
| 字段 | 类型 | 内容 | 备注 |
64
| ---------- | ---- | ------------------------- | ---------- |
65
| url | str | 二维码内容 (登录页面 url) | |
66
| qrcode_key | str | 扫码登录秘钥 | 恒为32字符 |
63
| 字段 | 类型 | 内容 | 备注 |
64
|------------|-----|------------------|--------|
65
| url | str | 二维码内容 (登录页面 url) | |
66
| qrcode_key | str | 扫码登录秘钥 | 恒为32字符 |
67
67
68
68
**示例:**
69
69
@@ -75,6 +75,7 @@ curl 'http://passport.bilibili.com/x/passport-login/web/qrcode/generate'
75
75
76
76
<details>
77
77
<summary>查看响应示例:</summary>
78
78
79
```json
79
80
{
80
81
"code": 0,
@@ -99,33 +100,33 @@ curl 'http://passport.bilibili.com/x/passport-login/web/qrcode/generate'
99
100
100
101
验证登录成功后会进行设置以下cookie项:
101
102
102
`DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct`
103
`DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct`
103
104
104
105
**url参数:**
105
106
106
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
107
| ---------- | ---- | ------------ | ------ | ---- |
108
| qrcode_key | str | 扫码登录秘钥 | 非必要 | |
107
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
108
|------------|-----|--------|-----|-----|
109
| qrcode_key | str | 扫码登录秘钥 | 非必要 | |
109
110
110
111
**json回复:**
111
112
112
113
根对象:
113
114
114
| 字段 | 类型 | 内容 | 备注 |
115
| ------- | ---- | -------- | ------- |
116
| code | num | 返回值 | 0:成功 |
117
| message | str | 错误信息 | |
118
| data | obj | 信息本体 | |
115
| 字段 | 类型 | 内容 | 备注 |
116
|---------|-----|------|------|
117
| code | num | 返回值 | 0:成功 |
118
| message | str | 错误信息 | |
119
| data | obj | 信息本体 | |
119
120
120
121
data 对象:
121
122
122
| 字段 | 类型 | 内容 | 备注 |
123
| ------------- | ---- | ------------------------------------------------------------ | ---------------------------------- |
124
| url | str | 游戏分站跨域登录 url | 未登录为空 |
125
| refresh_token | str | 刷新`refresh_token` | 未登录为空 |
126
| timestamp | num | 登录时间 | 未登录为`0`<br />时间戳 单位为毫秒 |
127
| code | num | 0:扫码登录成功<br />86038:二维码已失效<br />86090:二维码已扫码未确认<br />86101:未扫码 | |
128
| message | str | 扫码状态信息 | |
123
| 字段 | 类型 | 内容 | 备注 |
124
|---------------|-----|----------------------------------------------------------------|------------------------|
125
| url | str | 游戏分站跨域登录 url | 未登录为空 |
126
| refresh_token | str | 刷新`refresh_token` | 未登录为空 |
127
| timestamp | num | 登录时间 | 未登录为`0`<br />时间戳 单位为毫秒 |
128
| code | num | 0:扫码登录成功<br />86038:二维码已失效<br />86090:二维码已扫码未确认<br />86101:未扫码 | |
129
| message | str | 扫码状态信息 | |
129
130
130
131
**示例:**
131
132
@@ -137,7 +138,7 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\
137
138
-c 'cookie.txt'
138
139
```
139
140
140
当密钥正确时但未扫描时`message`为`86101`
141
当密钥正确时但未扫描时`code`为`86101`
141
142
142
143
<details>
143
144
<summary>查看响应示例:</summary>
@@ -145,27 +146,26 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\
145
146
146
147
```json
147
148
{
148
"code": 0,
149
"message": "0",
150
"ttl": 1,
151
"data": {
152
"url": "",
153
"refresh_token": "",
154
"timestamp": 0,
155
"code": 86101,
156
"message": "未扫码"
157
}
149
"code": 0,
150
"message": "0",
151
"ttl": 1,
152
"data": {
153
"url": "",
154
"refresh_token": "",
155
"timestamp": 0,
156
"code": 86101,
157
"message": "未扫码"
158
}
158
159
}
159
160
```
160
161
161
162
</details>
162
163
163
扫描成功但手机端未确认时`message`为`86038`
164
扫描成功但手机端未确认时`code`为`86090`
164
165
165
166
<details>
166
167
<summary>查看响应示例:</summary>
167
168
168
169
169
```json
170
170
{
171
171
"code": 0,
@@ -183,10 +183,11 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\
183
183
184
184
</details>
185
185
186
扫描成功手机端确认登录后,`message`为`0`,并向浏览器写入cookie
186
扫描成功手机端确认登录后,`code`为`0`,并向浏览器写入cookie
187
187
188
188
<details>
189
189
<summary>查看响应示例:</summary>
190
190
191
```json
191
192
{
192
193
"code": 0,
@@ -210,6 +211,7 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\
210
211
211
212
<details>
212
213
<summary>查看响应示例:</summary>
214
213
215
```http
214
216
HTTP/1.1 200 OK
215
217
Date: Mon, 05 Sep 2022 07:30:09 GMT
@@ -230,6 +232,28 @@ x-cache-webcdn: BYPASS from blzone02
230
232
231
233
</details>
232
234
235
二维码失效时`code`为`86038`
236
237
<details>
238
<summary>查看响应示例:</summary>
239
240
```json
241
{
242
"code": 0,
243
"message": "0",
244
"ttl": 1,
245
"data": {
246
"url": "",
247
"refresh_token": "",
248
"timestamp": 0,
249
"code": 86038,
250
"message": "二维码已失效"
251
}
252
}
253
```
254
255
</details>
256
233
257
## web端扫码登录-旧版
234
258
235
259
以下为旧版扫码登录 API,尚可正常访问
@@ -246,19 +270,19 @@ x-cache-webcdn: BYPASS from blzone02
246
270
247
271
根对象:
248
272
249
| 字段 | 类型 | 内容 | 备注 |
250
| ------ | ---- | -------- | ------------ |
251
| code | num | 返回值 | 0:成功 |
252
| status | bool | true | 作用尚不明确 |
253
| ts | num | 请求时间 | 时间戳 |
254
| data | obj | 信息本体 | |
273
| 字段 | 类型 | 内容 | 备注 |
274
|--------|------|------|--------|
275
| code | num | 返回值 | 0:成功 |
276
| status | bool | true | 作用尚不明确 |
277
| ts | num | 请求时间 | 时间戳 |
278
| data | obj | 信息本体 | |
255
279
256
280
`data`对象:
257
281
258
| 字段 | 类型 | 内容 | 备注 |
259
| -------- | ---- | ------------------------- | ---------- |
260
| url | str | 二维码内容 (登录页面 url) | |
261
| oauthKey | str | 扫码登录秘钥 | 恒为32字符 |
282
| 字段 | 类型 | 内容 | 备注 |
283
|----------|-----|------------------|--------|
284
| url | str | 二维码内容 (登录页面 url) | |
285
| oauthKey | str | 扫码登录秘钥 | 恒为32字符 |
262
286
263
287
**示例:**
264
288
@@ -270,6 +294,7 @@ curl 'http://passport.bilibili.com/qrcode/getLoginUrl'
270
294
271
295
<details>
272
296
<summary>查看响应示例:</summary>
297
273
298
```json
274
299
{
275
300
"code": 0,
@@ -294,32 +319,32 @@ curl 'http://passport.bilibili.com/qrcode/getLoginUrl'
294
319
295
320
验证登录成功后会进行设置以下cookie项:
296
321
297
`DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct`
322
`DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct`
298
323
299
324
**正文参数( application/x-www-form-urlencoded ):**
300
325
301
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
302
| -------- | ---- | ------------ | ------ | ----------------------------- |
303
| oauthKey | str | 扫码登录秘钥 | 必要 | |
304
| gourl | str | 跳转url | 非必要 | 默认为http://www.bilibili.com |
326
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
327
|----------|-----|--------|-----|----------------------------|
328
| oauthKey | str | 扫码登录秘钥 | 必要 | |
329
| gourl | str | 跳转url | 非必要 | 默认为http://www.bilibili.com |
305
330
306
331
**json回复:**
307
332
308
333
根对象:
309
334
310
| 字段 | 类型 | 内容 | 备注 |
311
| ------- | ---------------------------- | ----------------------------------------- | ------------------------------------------------------------ |
312
| code | num | 返回值 | 0:成功 |
313
| message | str | | 正确无 |
314
| ts | num | 扫码时间 | 错误无 |
315
| status | bool | 扫码是否成功 | true:成功<br />false:未成功 |
335
| 字段 | 类型 | 内容 | 备注 |
336
|---------|----------------------|---------------------------|---------------------------------------------------------|
337
| code | num | 返回值 | 0:成功 |
338
| message | str | | 正确无 |
339
| ts | num | 扫码时间 | 错误无 |
340
| status | bool | 扫码是否成功 | true:成功<br />false:未成功 |
316
341
| data | 正确时:obj<br />错误时:num | 正确时:游戏分站url<br />错误时:错误代码 | 未成功时:<br />-1:密钥错误<br />-2:密钥超时<br />-4:未扫描<br />-5:未确认 |
317
342
318
343
data 对象:
319
344
320
| 字段 | 类型 | 内容 | 备注 |
321
| ---- | ---- | -------------------- | ---- |
322
| url | str | 游戏分站跨域登录 url | |
345
| 字段 | 类型 | 内容 | 备注 |
346
|-----|-----|--------------|-----|
347
| url | str | 游戏分站跨域登录 url | |
323
348
324
349
**示例:**
325
350
@@ -335,6 +360,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
335
360
336
361
<details>
337
362
<summary>查看响应示例:</summary>
363
338
364
```json
339
365
{
340
366
"status":false,
@@ -349,6 +375,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
349
375
350
376
<details>
351
377
<summary>查看响应示例:</summary>
378
352
379
```json
353
380
{
354
381
"status":false,
@@ -363,6 +390,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
363
390
364
391
<details>
365
392
<summary>查看响应示例:</summary>
393
366
394
```json
367
395
{
368
396
"code": 0,
@@ -382,6 +410,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
382
410
383
411
<details>
384
412
<summary>查看响应示例:</summary>
413
385
414
```http
386
415
HTTP/1.1 200 OK
387
416
Date: Wed, 04 Mar 2020 10:36:37 GMT
@@ -417,30 +446,30 @@ X-Cache-Webcdn: BYPASS from ks-sxhz-dx-w-01
417
446
418
447
**正文参数( application/x-www-form-urlencoded ):**
419
448
420
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
421
| -------- | ---- | ---------- | ----------- | ------------------------ |
422
| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` |
423
| local_id | str | TV端id | TV端必要 | 可为`0` |
424
| ts | num | 当前时间戳 | APP方式必要 | |
425
| sign | str | APP签名 | APP方式必要 | |
449
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
450
|----------|-----|-------|---------|-----------------------|
451
| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` |
452
| local_id | str | TV端id | TV端必要 | 可为`0` |
453
| ts | num | 当前时间戳 | APP方式必要 | |
454
| sign | str | APP签名 | APP方式必要 | |
426
455
427
456
**json回复:**
428
457
429
458
根对象:
430
459
431
| 字段 | 类型 | 内容 | 备注 |
432
| ------- | ---- | -------- | ---------------------------------------------------- |
433
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误 |
434
| message | str | 错误信息 | 默认为0 |
435
| ttl | num | 1 | |
436
| data | obj | 信息本体 | |
460
| 字段 | 类型 | 内容 | 备注 |
461
|---------|-----|------|---------------------------------------|
462
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误 |
463
| message | str | 错误信息 | 默认为0 |
464
| ttl | num | 1 | |
465
| data | obj | 信息本体 | |
437
466
438
467
`data`对象:
439
468
440
| 字段 | 类型 | 内容 | 备注 |
441
| -------- | ---- | ------------- | ---------- |
442
| url | str | 二维码内容url | |
443
| oauthKey | str | 扫码登录秘钥 | 恒为32字符 |
469
| 字段 | 类型 | 内容 | 备注 |
470
|----------|-----|----------|--------|
471
| url | str | 二维码内容url | |
472
| oauthKey | str | 扫码登录秘钥 | 恒为32字符 |
444
473
445
474
**示例:**
446
475
@@ -457,13 +486,13 @@ curl 'http://passport.snm0516.aisee.tv/x/passport-tv-login/qrcode/auth_code' \
457
486
458
487
```json
459
488
{
460
"code": 0,
461
"message": "0",
462
"ttl": 1,
463
"data": {
464
"url": "https://passport.snm0516.aisee.tv/x/passport-tv-login/h5/qrcode/auth?auth_code=0eeb635a64526709d70cb4c854a3b001",
465
"auth_code": "0eeb635a64526709d70cb4c854a3b001"
466
}
489
"code": 0,
490
"message": "0",
491
"ttl": 1,
492
"data": {
493
"url": "https://passport.snm0516.aisee.tv/x/passport-tv-login/h5/qrcode/auth?auth_code=0eeb635a64526709d70cb4c854a3b001",
494
"auth_code": "0eeb635a64526709d70cb4c854a3b001"
495
}
467
496
}
468
497
```
469
498
@@ -483,33 +512,33 @@ curl 'http://passport.snm0516.aisee.tv/x/passport-tv-login/qrcode/auth_code' \
483
512
484
513
**正文参数 (application/x-www-form-urlencoded):**
485
514
486
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
487
| --------- | ---- | ---------- | ----------- | ------------------------ |
488
| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` |
489
| auth_code | str | 扫码秘钥 | 必要 | |
490
| local_id | str | TV端id | TV端必要 | 可为0 |
491
| ts | num | 当前时间戳 | APP方式必要 | |
492
| sign | str | APP签名 | APP方式必要 | |
515
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
516
|-----------|-----|-------|---------|-----------------------|
517
| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` |
518
| auth_code | str | 扫码秘钥 | 必要 | |
519
| local_id | str | TV端id | TV端必要 | 可为0 |
520
| ts | num | 当前时间戳 | APP方式必要 | |
521
| sign | str | APP签名 | APP方式必要 | |
493
522
494
523
**json回复:**
495
524
496
525
根对象:
497
526
498
| 字段 | 类型 | 内容 | 备注 |
499
| ------- | ----------------------------- | -------- | ------------------------------------------------------------ |
500
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误<br />86038:二维码已失效<br />86039:二维码尚未确认 |
501
| message | str | 错误信息 | 默认为0 |
502
| ttl | num | 1 | |
503
| data | 有效时:obj<br />无效时:null | 信息本体 | |
527
| 字段 | 类型 | 内容 | 备注 |
528
|---------|-----------------------|------|----------------------------------------------------------------------------|
529
| code | num | 返回值 | 0:成功<br />-3:API校验密匙错误<br />-400:请求错误<br />86038:二维码已失效<br />86039:二维码尚未确认 |
530
| message | str | 错误信息 | 默认为0 |
531
| ttl | num | 1 | |
532
| data | 有效时:obj<br />无效时:null | 信息本体 | |
504
533
505
534
`data`对象:
506
535
507
| 字段 | 类型 | 内容 | 备注 |
508
| ------------- | ---- | ------------ | -------------------- |
509
| mid | num | 登录用户mid | |
510
| access_token | str | APP登录Token | |
511
| refresh_token | str | APP刷新Token | |
512
| expires_in | num | 有效时间 | 单位为秒 一般为30天 |
536
| 字段 | 类型 | 内容 | 备注 |
537
|---------------|-----|------------|--------------|
538
| mid | num | 登录用户mid | |
539
| access_token | str | APP登录Token | |
540
| refresh_token | str | APP刷新Token | |
541
| expires_in | num | 有效时间 | 单位为秒 一般为30天 |
513
542
514
543
**示例:**
515
544
@@ -529,15 +558,15 @@ curl 'http://passport.snm0516.aisee.tv/x/passport-tv-login/qrcode/poll' \
529
558
530
559
```json
531
560
{
532
"code": 0,
533
"message": "0",
534
"ttl": 1,
535
"data": {
536
"mid": 293793435,
537
"access_token": "***",
538
"refresh_token": "***",
539
"expires_in": 2592000
540
}
561
"code": 0,
562
"message": "0",
563
"ttl": 1,
564
"data": {
565
"mid": 293793435,
566
"access_token": "***",
567
"refresh_token": "***",
568
"expires_in": 2592000
569
}
541
570
}
542
571
```
543
572