diff --git a/login/login_action/QR.md b/login/login_action/QR.md index c0bb04e..af57dfb 100644 --- a/login/login_action/QR.md +++ b/login/login_action/QR.md @@ -51,19 +51,19 @@ while True: 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------- | -| code | num | 返回值 | 0:成功 | -| message | str | 错误信息 | | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|------| +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ---- | ------------------------- | ---------- | -| url | str | 二维码内容 (登录页面 url) | | -| qrcode_key | str | 扫码登录秘钥 | 恒为32字符 | +| 字段 | 类型 | 内容 | 备注 | +|------------|-----|------------------|--------| +| url | str | 二维码内容 (登录页面 url) | | +| qrcode_key | str | 扫码登录秘钥 | 恒为32字符 | **示例:** @@ -75,6 +75,7 @@ curl 'http://passport.bilibili.com/x/passport-login/web/qrcode/generate'
查看响应示例: + ```json { "code": 0, @@ -99,33 +100,33 @@ curl 'http://passport.bilibili.com/x/passport-login/web/qrcode/generate' 验证登录成功后会进行设置以下cookie项: - `DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct` +`DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct` **url参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ---------- | ---- | ------------ | ------ | ---- | -| qrcode_key | str | 扫码登录秘钥 | 非必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|------------|-----|--------|-----|-----| +| qrcode_key | str | 扫码登录秘钥 | 非必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ------- | -| code | num | 返回值 | 0:成功 | -| message | str | 错误信息 | | -| data | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|------| +| code | num | 返回值 | 0:成功 | +| message | str | 错误信息 | | +| data | obj | 信息本体 | | data 对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | ------------------------------------------------------------ | ---------------------------------- | -| url | str | 游戏分站跨域登录 url | 未登录为空 | -| refresh_token | str | 刷新`refresh_token` | 未登录为空 | -| timestamp | num | 登录时间 | 未登录为`0`
时间戳 单位为毫秒 | -| code | num | 0:扫码登录成功
86038:二维码已失效
86090:二维码已扫码未确认
86101:未扫码 | | -| message | str | 扫码状态信息 | | +| 字段 | 类型 | 内容 | 备注 | +|---------------|-----|----------------------------------------------------------------|------------------------| +| url | str | 游戏分站跨域登录 url | 未登录为空 | +| refresh_token | str | 刷新`refresh_token` | 未登录为空 | +| timestamp | num | 登录时间 | 未登录为`0`
时间戳 单位为毫秒 | +| code | num | 0:扫码登录成功
86038:二维码已失效
86090:二维码已扫码未确认
86101:未扫码 | | +| message | str | 扫码状态信息 | | **示例:** @@ -137,7 +138,7 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\ -c 'cookie.txt' ``` -当密钥正确时但未扫描时`message`为`86101` +当密钥正确时但未扫描时`code`为`86101`
查看响应示例: @@ -145,27 +146,26 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "url": "", - "refresh_token": "", - "timestamp": 0, - "code": 86101, - "message": "未扫码" - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "url": "", + "refresh_token": "", + "timestamp": 0, + "code": 86101, + "message": "未扫码" + } } ```
-扫描成功但手机端未确认时`message`为`86038` +扫描成功但手机端未确认时`code`为`86090`
查看响应示例: - ```json { "code": 0, @@ -183,10 +183,11 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\
-扫描成功手机端确认登录后,`message`为`0`,并向浏览器写入cookie +扫描成功手机端确认登录后,`code`为`0`,并向浏览器写入cookie
查看响应示例: + ```json { "code": 0, @@ -210,6 +211,7 @@ curl -G "http://passport.bilibili.com/x/passport-login/web/qrcode/poll"\
查看响应示例: + ```http HTTP/1.1 200 OK Date: Mon, 05 Sep 2022 07:30:09 GMT @@ -230,6 +232,28 @@ x-cache-webcdn: BYPASS from blzone02
+二维码失效时`code`为`86038` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "url": "", + "refresh_token": "", + "timestamp": 0, + "code": 86038, + "message": "二维码已失效" + } +} +``` + +
+ ## web端扫码登录-旧版 以下为旧版扫码登录 API,尚可正常访问 @@ -246,19 +270,19 @@ x-cache-webcdn: BYPASS from blzone02 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------ | ---- | -------- | ------------ | -| code | num | 返回值 | 0:成功 | -| status | bool | true | 作用尚不明确 | -| ts | num | 请求时间 | 时间戳 | -| data | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +|--------|------|------|--------| +| code | num | 返回值 | 0:成功 | +| status | bool | true | 作用尚不明确 | +| ts | num | 请求时间 | 时间戳 | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ------------------------- | ---------- | -| url | str | 二维码内容 (登录页面 url) | | -| oauthKey | str | 扫码登录秘钥 | 恒为32字符 | +| 字段 | 类型 | 内容 | 备注 | +|----------|-----|------------------|--------| +| url | str | 二维码内容 (登录页面 url) | | +| oauthKey | str | 扫码登录秘钥 | 恒为32字符 | **示例:** @@ -270,6 +294,7 @@ curl 'http://passport.bilibili.com/qrcode/getLoginUrl'
查看响应示例: + ```json { "code": 0, @@ -294,32 +319,32 @@ curl 'http://passport.bilibili.com/qrcode/getLoginUrl' 验证登录成功后会进行设置以下cookie项: - `DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct` +`DedeUserID` `DedeUserID__ckMd5` `SESSDATA` `bili_jct` **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| -------- | ---- | ------------ | ------ | ----------------------------- | -| oauthKey | str | 扫码登录秘钥 | 必要 | | -| gourl | str | 跳转url | 非必要 | 默认为http://www.bilibili.com | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|----------|-----|--------|-----|----------------------------| +| oauthKey | str | 扫码登录秘钥 | 必要 | | +| gourl | str | 跳转url | 非必要 | 默认为http://www.bilibili.com | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---------------------------- | ----------------------------------------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功 | -| message | str | | 正确无 | -| ts | num | 扫码时间 | 错误无 | -| status | bool | 扫码是否成功 | true:成功
false:未成功 | +| 字段 | 类型 | 内容 | 备注 | +|---------|----------------------|---------------------------|---------------------------------------------------------| +| code | num | 返回值 | 0:成功 | +| message | str | | 正确无 | +| ts | num | 扫码时间 | 错误无 | +| status | bool | 扫码是否成功 | true:成功
false:未成功 | | data | 正确时:obj
错误时:num | 正确时:游戏分站url
错误时:错误代码 | 未成功时:
-1:密钥错误
-2:密钥超时
-4:未扫描
-5:未确认 | data 对象: -| 字段 | 类型 | 内容 | 备注 | -| ---- | ---- | -------------------- | ---- | -| url | str | 游戏分站跨域登录 url | | +| 字段 | 类型 | 内容 | 备注 | +|-----|-----|--------------|-----| +| url | str | 游戏分站跨域登录 url | | **示例:** @@ -335,6 +360,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
查看响应示例: + ```json { "status":false, @@ -349,6 +375,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
查看响应示例: + ```json { "status":false, @@ -363,6 +390,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
查看响应示例: + ```json { "code": 0, @@ -382,6 +410,7 @@ curl "http://passport.bilibili.com/qrcode/getLoginInfo"\
查看响应示例: + ```http HTTP/1.1 200 OK Date: Wed, 04 Mar 2020 10:36:37 GMT @@ -417,30 +446,30 @@ X-Cache-Webcdn: BYPASS from ks-sxhz-dx-w-01 **正文参数( application/x-www-form-urlencoded ):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| -------- | ---- | ---------- | ----------- | ------------------------ | -| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` | -| local_id | str | TV端id | TV端必要 | 可为`0` | -| ts | num | 当前时间戳 | APP方式必要 | | -| sign | str | APP签名 | APP方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|----------|-----|-------|---------|-----------------------| +| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` | +| local_id | str | TV端id | TV端必要 | 可为`0` | +| ts | num | 当前时间戳 | APP方式必要 | | +| sign | str | APP签名 | APP方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ---- | -------- | ---------------------------------------------------- | -| code | num | 返回值 | 0:成功
-3:API校验密匙错误
-400:请求错误 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | obj | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-----|------|---------------------------------------| +| code | num | 返回值 | 0:成功
-3:API校验密匙错误
-400:请求错误 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | obj | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| -------- | ---- | ------------- | ---------- | -| url | str | 二维码内容url | | -| oauthKey | str | 扫码登录秘钥 | 恒为32字符 | +| 字段 | 类型 | 内容 | 备注 | +|----------|-----|----------|--------| +| url | str | 二维码内容url | | +| oauthKey | str | 扫码登录秘钥 | 恒为32字符 | **示例:** @@ -457,13 +486,13 @@ curl 'http://passport.snm0516.aisee.tv/x/passport-tv-login/qrcode/auth_code' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "url": "https://passport.snm0516.aisee.tv/x/passport-tv-login/h5/qrcode/auth?auth_code=0eeb635a64526709d70cb4c854a3b001", - "auth_code": "0eeb635a64526709d70cb4c854a3b001" - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "url": "https://passport.snm0516.aisee.tv/x/passport-tv-login/h5/qrcode/auth?auth_code=0eeb635a64526709d70cb4c854a3b001", + "auth_code": "0eeb635a64526709d70cb4c854a3b001" + } } ``` @@ -483,33 +512,33 @@ curl 'http://passport.snm0516.aisee.tv/x/passport-tv-login/qrcode/auth_code' \ **正文参数 (application/x-www-form-urlencoded):** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| --------- | ---- | ---------- | ----------- | ------------------------ | -| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` | -| auth_code | str | 扫码秘钥 | 必要 | | -| local_id | str | TV端id | TV端必要 | 可为0 | -| ts | num | 当前时间戳 | APP方式必要 | | -| sign | str | APP签名 | APP方式必要 | | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +|-----------|-----|-------|---------|-----------------------| +| appkey | str | APP密钥 | APP方式必要 | 仅可用`4409e2ce8ffd12b8` | +| auth_code | str | 扫码秘钥 | 必要 | | +| local_id | str | TV端id | TV端必要 | 可为0 | +| ts | num | 当前时间戳 | APP方式必要 | | +| sign | str | APP签名 | APP方式必要 | | **json回复:** 根对象: -| 字段 | 类型 | 内容 | 备注 | -| ------- | ----------------------------- | -------- | ------------------------------------------------------------ | -| code | num | 返回值 | 0:成功
-3:API校验密匙错误
-400:请求错误
86038:二维码已失效
86039:二维码尚未确认 | -| message | str | 错误信息 | 默认为0 | -| ttl | num | 1 | | -| data | 有效时:obj
无效时:null | 信息本体 | | +| 字段 | 类型 | 内容 | 备注 | +|---------|-----------------------|------|----------------------------------------------------------------------------| +| code | num | 返回值 | 0:成功
-3:API校验密匙错误
-400:请求错误
86038:二维码已失效
86039:二维码尚未确认 | +| message | str | 错误信息 | 默认为0 | +| ttl | num | 1 | | +| data | 有效时:obj
无效时:null | 信息本体 | | `data`对象: -| 字段 | 类型 | 内容 | 备注 | -| ------------- | ---- | ------------ | -------------------- | -| mid | num | 登录用户mid | | -| access_token | str | APP登录Token | | -| refresh_token | str | APP刷新Token | | -| expires_in | num | 有效时间 | 单位为秒 一般为30天 | +| 字段 | 类型 | 内容 | 备注 | +|---------------|-----|------------|--------------| +| mid | num | 登录用户mid | | +| access_token | str | APP登录Token | | +| refresh_token | str | APP刷新Token | | +| expires_in | num | 有效时间 | 单位为秒 一般为30天 | **示例:** @@ -529,15 +558,15 @@ curl 'http://passport.snm0516.aisee.tv/x/passport-tv-login/qrcode/poll' \ ```json { - "code": 0, - "message": "0", - "ttl": 1, - "data": { - "mid": 293793435, - "access_token": "***", - "refresh_token": "***", - "expires_in": 2592000 - } + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "mid": 293793435, + "access_token": "***", + "refresh_token": "***", + "expires_in": 2592000 + } } ```