mirror of
https://github.com/PaiGramTeam/mihoyo-api-collect.git
synced 2025-02-07 10:18:44 +00:00
- 【F】增加扫码登录获取Game Token的方法与接口
- 【F】补全账号Cookie的获取方式 - 【F】增加Cookie字段 - 【I】修改请求头描述 - 【I】更改部分文档中错误的目录结构
This commit is contained in:
parent
4e4ea9c9e0
commit
a5876bcd10
@ -79,6 +79,7 @@
|
||||
- [ ] [登录](hoyolab/login)
|
||||
- [ ] [密码登录](hoyolab/login/password.md)
|
||||
- [ ] [验证码登录](hoyolab/login/sms.md)
|
||||
- [ ] [扫码登录](hoyolab/login/qrcode.md)
|
||||
- [ ] [论坛](hoyolab/forum)
|
||||
- [ ] [基本信息](hoyolab/forum/info.md)
|
||||
- [ ] [文章](hoyolab/article)
|
||||
@ -87,6 +88,7 @@
|
||||
- [ ] [公告](hoyolab/article/announcement.md)
|
||||
- [ ] [用户](hoyolab/user)
|
||||
- [ ] [用户信息](hoyolab/user/info.md)
|
||||
- [ ] [用户Token](hoyolab/user/token.md)
|
||||
- [ ] [用户游戏信息](hoyolab/user/game_account_info.md)
|
||||
|
||||
---
|
||||
|
@ -1,10 +1,13 @@
|
||||
# 论坛基本信息
|
||||
|
||||
- [获取论坛分区信息](#获取论坛分区信息)
|
||||
- [论坛](#论坛)
|
||||
- [获取论坛分区信息](#获取论坛分区信息)
|
||||
|
||||
---
|
||||
|
||||
## 获取论坛分区信息
|
||||
## 论坛
|
||||
|
||||
### 获取论坛分区信息
|
||||
|
||||
_请求方式:GET_
|
||||
|
||||
|
166
hoyolab/login/qrcode.md
Normal file
166
hoyolab/login/qrcode.md
Normal file
@ -0,0 +1,166 @@
|
||||
# 米游社扫码登录
|
||||
|
||||
- [扫码登录](#扫码登录)
|
||||
- [操作步骤](#qrcode-step)
|
||||
- [生成二维码](#生成二维码)
|
||||
- [查询二维码扫描状态](#查询二维码扫描状态)
|
||||
|
||||
---
|
||||
|
||||
## 扫码登录
|
||||
|
||||
<h3 id="qrcode-step">操作步骤</h3>
|
||||
|
||||
1. [生成二维码](#生成二维码),记录返回`data`对象的`url`,及其URL参数中的`ticket`字段(下称`ticket`)。
|
||||
1. 生成二维码供用户扫描。
|
||||
1. 不断[查询二维码扫描状态](#查询二维码扫描状态)。在用户扫描并确认登录后,获取`data`对象→`payload`对象的`raw`(即Game Token)。
|
||||
|
||||
### 生成二维码
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
`https://hk4e-sdk.mihoyo.com/hk4e_cn/combo/panda/qrcode/fetch`
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| app_id | str | 登录的应用标识符<br>1 《崩坏3》<br>2 《未定事件簿》<br>4 《原神》<br>5 平台应用<br>7 《崩坏学园2》<br>8 《崩坏:星穹铁道》<br>9 云游戏<br>10 3NNN<br>11 PJSH<br>12 《绝区零》<br>13 HYG | 没有用处,但是必须传递此参数 |
|
||||
| device | str | 设备ID | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | 二维码指向的URL | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| url | str | 二维码指向的URL | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"url": "https://user.mihoyo.com/qr_code_in_game.html?app_id=7\u0026app_name=%E5%B4%A9%E5%9D%8F%E5%AD%A6%E5%9B%AD2&bbs=false\u0026biz_key=bh2_cn\u0026expire=1687002702\u0026ticket=648706ceff80ee663845a13d"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<!-- **国际服:**
|
||||
|
||||
`未知` -->
|
||||
|
||||
### 查询二维码扫描状态
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
`https://hk4e-sdk.mihoyo.com/hk4e_cn/combo/panda/qrcode/query`
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| app_id | str | 登录的应用标识符,与生成二维码时传递的值必须相同 | |
|
||||
| device | str | 设备ID | 与生成二维码时传递的值相同 |
|
||||
| ticket | str | 生成二维码时从返回的URL的参数中,`ticket`字段的值 | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br>-106 二维码已过期 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | 二维码状态 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| stat | str | 二维码状态<br>Init 未扫描<br>Scanned 已扫描<br>Confirmed 已确认 | |
|
||||
| payload | obj | 登录数据 | |
|
||||
|
||||
`data`对象→`payload`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| proto | str | 当前的数据类型<br>Raw 无数据<br>Account 已确认 | |
|
||||
| raw | str | 确认登录之前为空字符串,之后则为米游社UID和Game Token,其中的`token`字段即为账号的Game Token | |
|
||||
| ext | str | | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
// 未扫描
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"stat": "Init",
|
||||
"payload": {
|
||||
"proto": "Raw",
|
||||
"raw": "",
|
||||
"ext": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 已扫描
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"stat": "Scanned",
|
||||
"payload": {
|
||||
"proto": "Raw",
|
||||
"raw": "",
|
||||
"ext": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 已过期
|
||||
{
|
||||
"data": null,
|
||||
"message": "ExpiredCode",
|
||||
"retcode": -106
|
||||
}
|
||||
|
||||
// 已确认
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"stat": "Confirmed",
|
||||
"payload": {
|
||||
"proto": "Account",
|
||||
"raw": "{\"uid\":\"317832114\",\"token\":\"***\"}",
|
||||
"ext": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
<!-- **国际服:**
|
||||
|
||||
`未知` -->
|
@ -1833,7 +1833,7 @@ _请求方式:GET_
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| authkey_ver | num | 1 | |
|
||||
| authkey | str | 验证密钥,用于标识游戏账号 | 获取方法:<br>1. 游戏内打开一次跃迁记录页面,然后在“游戏安装目录/StarRail_Data/webCaches/Cache/Cache_Data/data_2”,寻找类似“<https://api-takumi.mihoyo.com/common/gacha_record/api/getGachaLog……>”的链接,该参数的值在其中<br>2. [通过Cookie获取用户`authkey`](hoyolab/user/info.md#通过cookie获取用户authkey) |
|
||||
| authkey | str | 验证密钥,用于标识游戏账号 | 获取方法:<br>1. 游戏内打开一次跃迁记录页面,然后在“游戏安装目录/StarRail_Data/webCaches/Cache/Cache_Data/data_2”,寻找类似“<https://api-takumi.mihoyo.com/common/gacha_record/api/getGachaLog……>”的链接,该参数的值在其中<br>2. [通过Cookie获取用户`authkey`B](hoyolab/user/info.md#通过cookie获取用户authkeyb) |
|
||||
| lang | str | 语言,即返回数据中抽到的项目名称<br>zh-cn zh 简体中文<br>zh-tw 繁体中文<br>en-us en 英语<br>ru-ru ru 俄语<br>ja-jp ja 日语<br>以及其它国际语言代码 | |
|
||||
| size | num | 返回数据中的最大数据数量。最小为0,最大为20。若小于0,则返回0个数据;若大于20,则返回最大20个数据 | |
|
||||
| end_id | num | 见下文的说明 | |
|
||||
@ -2042,7 +2042,7 @@ _请求方式:GET_
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| authkey_ver | num | 1 | |
|
||||
| authkey | str | 验证密钥,用于标识游戏账号 | 获取方法:<br>1. 游戏内打开一次跃迁记录页面,然后在“游戏安装目录/StarRail_Data/webCaches/Cache/Cache_Data/data_2”,寻找类似“<https://api-takumi.mihoyo.com/common/gacha_record/api/getGachaLog……>”的链接,该参数的值在其中<br>2. [通过Cookie获取用户`authkey`](hoyolab/user/info.md#通过cookie获取用户authkey) |
|
||||
| authkey | str | 验证密钥,用于标识游戏账号 | 获取方法:<br>1. 游戏内打开一次跃迁记录页面,然后在“游戏安装目录/StarRail_Data/webCaches/Cache/Cache_Data/data_2”,寻找类似“<https://api-takumi.mihoyo.com/common/gacha_record/api/getGachaLog……>”的链接,该参数的值在其中<br>2. [通过Cookie获取用户`authkey`B](hoyolab/user/info.md#通过cookie获取用户authkeyb) |
|
||||
| lang | str | 语言,即返回数据中抽到的项目名称<br>zh-cn zh 简体中文<br>zh-tw 繁体中文<br>en-us en 英语<br>ru-ru ru 俄语<br>ja-jp ja 日语<br>以及其它国际语言代码 | |
|
||||
| size | num | 返回数据中的最大数据数量。最小为0,最大为20。若小于0,则返回0个数据;若大于20,则返回最大20个数据 | |
|
||||
| end_id | num | 见下文的说明 | |
|
||||
|
@ -3,12 +3,12 @@
|
||||
- [用户信息](#用户信息)
|
||||
- [获取用户完整信息](#获取用户完整信息)
|
||||
- [获取用户发布的文章](#获取用户发布的文章)
|
||||
- [通过Cookie获取用户`authkey`A](#通过cookie获取账号authkeya)
|
||||
- [通过Cookie获取用户`authkey`B](#通过cookie获取账号authkeyb)
|
||||
|
||||
---
|
||||
|
||||
## 获取用户完整信息
|
||||
## 用户信息
|
||||
|
||||
### 获取用户完整信息
|
||||
|
||||
**国服:**
|
||||
|
||||
@ -317,7 +317,7 @@ _请求方式:GET_
|
||||
|
||||
</details>
|
||||
|
||||
## 获取用户发布的文章
|
||||
### 获取用户发布的文章
|
||||
|
||||
**国服:**
|
||||
|
||||
@ -340,130 +340,3 @@ _请求方式:GET_
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
|
||||
## 通过Cookie获取账号`authkey`A
|
||||
|
||||
<!-- `authkey`A。 -->
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> SToken
|
||||
|
||||
`https://api-takumi.miyoushe.com/account/auth/api/genAuthKey`
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| game_biz | str | 米游社区域<br>bbs_cn 国服 | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br>1002 请求体的`game_biz`字段不正确 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | `authkey`信息 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| sign_type | num | 2 | |
|
||||
| authkey_ver | num | 1 | |
|
||||
| authkey | str | `authkey`A | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"sign_type": 2,
|
||||
"authkey_ver": 1,
|
||||
"authkey": "..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
**国际服:**
|
||||
|
||||
`未知`
|
||||
|
||||
## 通过Cookie获取账号`authkey`B
|
||||
|
||||
在请求例如获取用户的游戏抽卡记录等API时需要使用到`authkey`B。
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
> _需要验证请求头_
|
||||
>
|
||||
> `x-rpc-client_type`:`2`
|
||||
>
|
||||
> LK`salt`
|
||||
>
|
||||
> `DS1`
|
||||
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> SToken
|
||||
|
||||
`https://api-takumi.miyoushe.com/binding/api/genAuthKey`
|
||||
<!--`https://hk4e-sdk.mihoyo.com/hk4e_cn/combo/granter/login/genAuthKey`-->
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| game_biz | str | 获取的`authkey`B的游戏<br>hk4e_cn 《原神》<br>hkrpg_cn 《崩坏:星穹铁道》<br> | |
|
||||
| game_uid | num | 游戏
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br>1002 请求体的`game_biz`字段不正确 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | `authkey`信息 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| sign_type | num | 2 | |
|
||||
| authkey_ver | num | 1 | |
|
||||
| authkey | str | `authkey`B | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"sign_type": 2,
|
||||
"authkey_ver": 1,
|
||||
"authkey": "..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
**国际服:**
|
||||
|
||||
`未知`
|
441
hoyolab/user/token.md
Normal file
441
hoyolab/user/token.md
Normal file
@ -0,0 +1,441 @@
|
||||
# 用户Token
|
||||
|
||||
- [Token](#token)
|
||||
- [通过Login Ticket获取SToken和LToken](#通过login-ticket获取stoken和ltoken)
|
||||
- [通过SToken获取Cookie Token](#通过stoken获取cookie-token)
|
||||
- [通过Game Token获取SToken](#通过game-token获取stoken)
|
||||
- [通过Game Token获取Cookie Token](#通过game-token获取cookie-token)
|
||||
- [通过Cookie Token获取Hk4e Token](#通过cookie-token获取hk4e-token)
|
||||
- [Auth Key](#auth-key)
|
||||
- [通过SToken获取用户Auth Key A](#通过stoken获取账号auth-key-a)
|
||||
- [通过SToken获取用户Auth Key B](#通过stoken获取账号auth-key-b)
|
||||
|
||||
---
|
||||
|
||||
## Token
|
||||
|
||||
### 通过Login Ticket获取SToken和LToken
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:GET_
|
||||
|
||||
`https://api-takumi.mihoyo.com/auth/api/getMultiTokenByLoginTicket`
|
||||
|
||||
**参数:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| token_types | num | 获取的Token的类型<br>1 仅SToken<br>2 仅LToken<br>3 SToken和LToken<br>4 无 | |
|
||||
| login_ticket | str | 有效的Login Ticket | |
|
||||
| uid | num | 对应的米游社账号UID | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | Token | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| list | arr | SToken或LToken | |
|
||||
|
||||
`data`对象→`list`数组→对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| name | str | Token类型<br>ltoken LToken<br>stoken SToken | |
|
||||
| token | str | Token值 | |
|
||||
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"list": [
|
||||
{
|
||||
"name": "stoken",
|
||||
"token": "***"
|
||||
},
|
||||
{
|
||||
"name": "ltoken",
|
||||
"token": "***"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
### 通过SToken获取Cookie Token
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:GET_
|
||||
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> SToken
|
||||
|
||||
`https://api-takumi.mihoyo.com/auth/api/getCookieAccountInfoBySToken`
|
||||
|
||||
**参数:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| stoken | str | 有效的SToken | |
|
||||
| uid | num | 对应的米游社账号UID | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | Cookie Token和米游社UID | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| uid | str | 米游社UID | |
|
||||
| cookie_token | str | SToken对应账号的Cookie Token | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"uid": "***",
|
||||
"cookie_token": "***"
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
### 通过Game Token获取SToken
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
> _需要验证请求头_
|
||||
>
|
||||
> `x-rpc-app_id`
|
||||
|
||||
`https://api-takumi.mihoyo.com/account/ma-cn-session/app/getTokenByGameToken`
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| account_id | num | 对应的米游社账号UID | |
|
||||
| game_token | str | 有效的Game Token | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br>-3005 未传递`x-rpc-app_id`请求头 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | 账号的Token与隐私信息 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| token | obj | 米游社账号的SToken | |
|
||||
| user_info | obj | 米游社账号敏感信息 | 一些个人信息已被隐藏 |
|
||||
| realname_info | | 待调查 | |
|
||||
| need_realperson | bool | 待调查 | |
|
||||
|
||||
`data`对象→`token`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| token_type | num | 1 | |
|
||||
| token | str | 账号的SToken | |
|
||||
|
||||
`data`对象→`user_info`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| aid | str | 米游社UID | |
|
||||
| mid | str | 米游社MiHoYo ID | |
|
||||
| account_name | str | 空字符串 | |
|
||||
| email | str | 被隐藏的账号的绑定邮箱 | |
|
||||
| is_email_verify | num | 绑定邮箱是否通过验证 | |
|
||||
| area_code | str | 账号绑定手机的区号 | |
|
||||
| mobile | str | 被隐藏的账号的绑定手机 | |
|
||||
| safe_area_code | str | 账号安全手机的区号 | 历史遗留字段,现在安全手机的功能已经被移除了 |
|
||||
| safe_mobile | str | 被隐藏的账号安全手机 | 历史遗留字段,现在安全手机的功能已经被移除了 |
|
||||
| realname | str | 被隐藏的账号实名认证姓名 | |
|
||||
| identity_code | str | 被隐藏的账号实名认证身份证号 | |
|
||||
| rebind_area_code | str | 账号的换绑手机号的区号 | |
|
||||
| rebind_mobile | str | 被隐藏的账号的换绑手机号 | |
|
||||
| rebind_mobile_time | str | 0 | |
|
||||
| links | arr | 待调查 | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"token": {
|
||||
"token_type": 1,
|
||||
"token": "***"
|
||||
},
|
||||
"user_info": {
|
||||
"aid": "*******",
|
||||
"mid": "*******",
|
||||
"account_name": "",
|
||||
"email": "*********",
|
||||
"is_email_verify": 1,
|
||||
"area_code": "+86",
|
||||
"mobile": "***********",
|
||||
"safe_area_code": "",
|
||||
"safe_mobile": "",
|
||||
"realname": "***",
|
||||
"identity_code": "******************",
|
||||
"rebind_area_code": "",
|
||||
"rebind_mobile": "",
|
||||
"rebind_mobile_time": "0",
|
||||
"links": []
|
||||
},
|
||||
"realname_info": null,
|
||||
"need_realperson": false
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
### 通过Game Token获取Cookie Token
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:GET_
|
||||
|
||||
`https://api-takumi.mihoyo.com/auth/api/getCookieAccountInfoByGameToken`
|
||||
|
||||
**参数:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| account_id | num | 对应的米游社账号UID | |
|
||||
| game_token | str | 有效的Game Token | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
与[通过SToken获取Cookie Token](#通过stoken获取cookie-token)→根对象的结构相同。
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"uid": "317832114",
|
||||
"cookie_token": "O4ljtFwozX0UzHg29PDffnEBQPMYxmzcEJpe5Fgz"
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
### 通过Cookie Token获取Hk4e Token
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> Account ID:`account_id`
|
||||
>
|
||||
> Cookie Token:`cookie_token`
|
||||
|
||||
`https://api-takumi.mihoyo.com/auth/api/getCookieAccountInfoByGameToken`
|
||||
|
||||
**参数:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| account_id | num | 对应的米游社账号UID | |
|
||||
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"game": "hk4e",
|
||||
"region": "cn_gf01",
|
||||
"game_uid": "222681079",
|
||||
"game_biz": "hk4e_cn",
|
||||
"level": 58,
|
||||
"nickname": "※青衫入雨※",
|
||||
"region_name": "天空岛"
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
## Auth Key
|
||||
|
||||
### 通过SToken获取账号Auth Key A
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> SToken
|
||||
|
||||
`https://api-takumi.miyoushe.com/account/auth/api/genAuthKey`
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| game_biz | str | 米游社区域<br>bbs_cn 国服 | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br>1002 请求体的`game_biz`字段不正确 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | Auth Key A | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| sign_type | num | 2 | |
|
||||
| authkey_ver | num | 1 | |
|
||||
| authkey | str | Auth Key A | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"sign_type": 2,
|
||||
"authkey_ver": 1,
|
||||
"authkey": "***"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
**国际服:**
|
||||
|
||||
`未知`
|
||||
|
||||
### 通过SToken获取账号Auth Key B
|
||||
|
||||
用例:获取用户的游戏抽卡记录等API需要使用到Auth Key B。
|
||||
|
||||
**国服:**
|
||||
|
||||
_请求方式:POST_
|
||||
|
||||
> _需要验证请求头_
|
||||
>
|
||||
> `x-rpc-client_type`:`2`
|
||||
>
|
||||
> LK`salt`
|
||||
>
|
||||
> `DS1`
|
||||
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> SToken
|
||||
|
||||
`https://api-takumi.miyoushe.com/binding/api/genAuthKey`
|
||||
<!--`https://hk4e-sdk.mihoyo.com/hk4e_cn/combo/granter/login/genAuthKey`-->
|
||||
|
||||
**JSON请求:**
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| game_biz | str | 获取的`authkey`B的游戏<br>hk4e_cn 《原神》国服<br>hkrpg_cn 《崩坏:星穹铁道》国服<br> | |
|
||||
| game_uid | num | 用户的游戏UID | |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br>1002 请求体的`game_biz`字段不正确 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | Auth Key B | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| sign_type | num | 2 | |
|
||||
| authkey_ver | num | 1 | |
|
||||
| authkey | str | Auth Key B | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
"retcode": 0,
|
||||
"message": "OK",
|
||||
"data": {
|
||||
"sign_type": 2,
|
||||
"authkey_ver": 1,
|
||||
"authkey": "***"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
**国际服:**
|
||||
|
||||
`未知`
|
@ -15,9 +15,9 @@
|
||||
|
||||
大多数API需要验证的请求头:`x-rpc-app_version`、`x-rpc-client_type`、`x-rpc-device_id`、`X-Requested-With`、`Origin`、`Referer`、`Host`、`DS`、`User-Agent`。
|
||||
|
||||
少数API才需要验证的额外的请求头:`x-rpc-device_fp`、`x-rpc-challenge`。
|
||||
少数API才需要验证的额外的请求头:`x-rpc-device_fp`、`x-rpc-challenge`、`x-rpc-app_id`。
|
||||
|
||||
可选请求头:`x-rpc-device_name`、`x-rpc-device_model`、`x-rpc-sys_version`、`x-rpc-channel`。
|
||||
可选请求头:`x-rpc-device_name`、`x-rpc-device_model`、`x-rpc-sys_version`、`x-rpc-channel`、`x-rpc-game_biz`。
|
||||
|
||||
**说明:**
|
||||
|
||||
@ -63,7 +63,7 @@ _注:以下列表只是说明该请求头的值通常在哪些平台出现,
|
||||
|
||||
#### `x-rpc-device_name`
|
||||
|
||||
手机厂商和手机型号,例如小米11青春版则为`Xiaomi M2101K9C`。
|
||||
手机厂商和手机型号,例如`Xiaomi M2101K9C`。
|
||||
|
||||
#### `x-rpc-device_model`
|
||||
|
||||
@ -73,6 +73,10 @@ _注:以下列表只是说明该请求头的值通常在哪些平台出现,
|
||||
|
||||
发送POST请求至`https://public-data-api.mihoyo.com/device-fp/api/getFp`以获得。
|
||||
|
||||
#### `x-rpc-app_id`
|
||||
|
||||
一般为`bll8iq97cem8`。
|
||||
|
||||
#### `x-rpc-device_id`
|
||||
|
||||
设备ID,由使用的设备决定。
|
||||
@ -276,6 +280,24 @@ const final = `${t},${r},${ds}` // 最终结果
|
||||
|
||||
若API无需登录账号,就不需要设置Cookie。
|
||||
|
||||
**API的Cookie标识格式**
|
||||
|
||||
像SToken,只有1种字段值,或是像LToken,2种字段值都被兼容,则只标识Cookie名。
|
||||
|
||||
```markdown
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> SToken
|
||||
```
|
||||
|
||||
若像Account ID,有多种字段值,将会在其之后标识需要的字段名。若有多个兼容的字段名,使用“、”分隔。
|
||||
|
||||
```markdown
|
||||
> _需要验证Cookie_
|
||||
>
|
||||
> Account ID:`account_id`
|
||||
```
|
||||
|
||||
### 米游社
|
||||
|
||||
需要哪些Cookie取决于以下因素:
|
||||
@ -288,7 +310,7 @@ const final = `${t},${r},${ds}` // 最终结果
|
||||
|
||||
即`ltoken_v2`和`ltoken`。
|
||||
|
||||
`ltoken_v2`多用于查询用户的游戏账号信息。
|
||||
`ltoken_v2`和`ltoken`多用于查询用户的游戏账号信息。
|
||||
|
||||
必须与[`ltmid_v2`](#mihoyo-id)一起使用。
|
||||
|
||||
@ -300,22 +322,41 @@ const final = `${t},${r},${ds}` // 最终结果
|
||||
|
||||
必须与[`mid`](#mihoyo-id)一起使用。
|
||||
|
||||
#### Mihoyo ID
|
||||
#### MiHoYo ID
|
||||
|
||||
分为与[LToken](#ltoken)一起使用的`ltmid_v2`,和与[SToken](#stoken)一起使用的`mid`
|
||||
|
||||
`ltmid_v2`和`mid`的值是相同,对应一个账号。
|
||||
|
||||
#### Account ID
|
||||
|
||||
有`account_id_v2`、`account_id`、`login_uid`、`ltuid`和`stuid`。
|
||||
|
||||
UID即米游社UID。这个Cookie不是必须传递的。
|
||||
|
||||
#### Login Ticket
|
||||
|
||||
即`login_ticket`。
|
||||
|
||||
`login_ticket`是米游社的登录凭证,隔一段时间刷新。作用未知。
|
||||
`login_ticket`是米游社的登录凭证,可用于获取[SToken](#stoken)和[LToken](#ltoken)。隔一段时间刷新。
|
||||
|
||||
通常在[米游社通行证](https://user.mihoyo.com/)中登录获得。
|
||||
|
||||
#### Cookie Token
|
||||
|
||||
即`cookie_token_v2`。
|
||||
分为`cookie_token`和`cookie_token_v2`。
|
||||
|
||||
`cookie_token_v2`隔一段时间刷新。作用未知。
|
||||
`cookie_token`与`cookie_token_v2`的值不相同。Cookie Token用于签到福利。
|
||||
|
||||
#### Game Token
|
||||
|
||||
即`game_token`。
|
||||
|
||||
`game_token`为游戏登录凭证,通常用于扫码登录后获取其它Token。
|
||||
|
||||
#### Hk4e Token
|
||||
|
||||
即`e_hk4e_token`。
|
||||
|
||||
`e_hk4e_token`为米游社账号的《原神》账号标识,通常可以在《原神》的网页活动中见到。
|
||||
|
||||
|
@ -15,11 +15,20 @@
|
||||
| 1008 | 用户信息不匹配 | 传递的参数不正确<br/>(例如获取用户游戏账号信息的`role_id`为无效UID) |
|
||||
| 10001 | Please login | 该API需要验证Cookie<br/>请查看[绕过检测与鉴权](other/authentication.md#cookie) |
|
||||
| 1034 | | 请求遇到验证码 |
|
||||
|
||||
### `api-takumi.miyoushe.com`
|
||||
|
||||
| 错误码 | 消息 | 原因 |
|
||||
| ----- | ---- | ---- |
|
||||
| -10001 | invalid request | 该API需要验证请求头,请求头的一些字段缺失或错误<br/>请查看[绕过检测与鉴权](other/authentication.md) |
|
||||
| -502 | Something went wrong...please retry later | 传递的参数错误 |
|
||||
| -100 | 登录失效,请重新登录 | Cookie失效或不正确 |
|
||||
| -100 | 登录失效,请重新登录 | Cookie失效或不正确 |
|
||||
| 1034 | | 请求遇到验证码 |
|
||||
|
||||
### `api-takumi.mihoyo.com`
|
||||
|
||||
| 错误码 | 消息 | 原因 |
|
||||
| ----- | ---- | ---- |
|
||||
| -502 | Something went wrong...please retry later | 传递的参数错误 |
|
||||
| -101 | 参数错误 | 传递的参数缺失或错误 |
|
||||
| -100 | 登录失效,请重新登录<br>-100 | Cookie失效或不正确 |
|
||||
| 1000 | 参数错误 | 传递的参数缺失或错误 |
|
Loading…
Reference in New Issue
Block a user