登录与授权
通过登录与授权API获取调用其他API的凭证
获取或刷新token
POST /m-api/oauth2/token2 HTTP/1.1
Host: yk3.gokuai.com
请求参数
以下是公共参数:
参数 | 必需 | 说明 |
---|---|---|
client_id | 是 | 分配的client_id |
grant_type | 是 | password 表示帐号密码登录;refresh_token 表示使用 refresh_token 刷新 access_token ;exchange_token 表示使用第三方授权code或token换取够快access_token;gkkey 表示使用gkkey方式认证 |
dateline | 是 | 当前unix时间戳, 单位秒 |
sign | 是 | 签名 |
当grant_type=password
时必须附带以下参数:
参数 | 必需 | 说明 |
---|---|---|
username | 是 | 用户登录帐号 |
password | 是 | 用户密码,对原始密码进行MD5, 内容为32字节小写字母 |
当grant_type=refresh_token
时, 必须附带以下参数:
参数 | 必需 | 说明 |
---|---|---|
refresh_token | 是 | 上一次授权的refresh_token |
当grant_type=exchange_token
时, 必须附带以下参数:
参数 | 必需 | 说明 |
---|---|---|
exchange_token | 是 | 第三方授权code或token |
domain | 是 | 预先分配的值 |
auth | 否 | 预先分配的值 |
当grant_type=gkkey
时, 必须附带以下参数:
参数 | 必需 | 说明 |
---|---|---|
gkkey | 是 | 需要验证的gkkey |
返回格式
JSON
返回结果
HTTP 200
{
"access_token": "26SczD3Poj1obd0o7jzZotH1meg",
"expires_in": 21600,
"refresh_token": "TJ8gTQtz2riUfl1wwfVuu3ARr5o"
}
字段 | 类型 | 说明 |
---|---|---|
access_token | string | 调用其他API接口的token |
expires_in | number | access_token 的过期时间,单位秒 |
refresh_token | string | 用于刷新access_token 的 refresh_token ,有效期7天 |
错误
HTTP STATUS >= 400
{
"error": "错误代码",
"error_description": "错误描述"
}
error | 说明 |
---|---|
invalid_request | 请求参数无效 |
unsupported_grant_type | grant_type 无效 |
invalid_client | client_id 无效 |
unauthorized_client | client_id 无对应grant_type 请求权限 |
deprecated_client | client_id 过期被禁用 |
invalid_token | refresh_token 或 gkkey 无效 |
invalid_grant | 认证失败 |
access_denied | 请求者IP禁止访问 |
second_verify | 需要进行双因子验证 |