Refresh Token刷新接口
1. 通过Authorization Code获取Access Token
请求地址: https://account.xiaomi.com/oauth2/token
请求方法: GET
请求参数:
名称 | 必须 | 类型 | 备注 |
---|---|---|---|
client_id | 是 | long | 申请应用时分配的 App Id |
redirect_uri | 是 | string | 授权回调地址, 必须和申请应用是填写的一致(参数部分可不一致) |
client_secret | 是 | string | 申请应用时分配的 App Secret |
grant_type | 是 | string | 固定为refresh_token |
refresh_token | 是 | string | 请求授权成功时获取的刷新令牌 |
返回值数据:
- 成功响应
如果请求成功,授权服务器会返回JSON格式的字符串:
-
access_token: 要获取的Access Token
-
expires_in: Access Token的有效期,以秒为单位, 请参考Access Token生命周期
-
refresh_token: 用于刷新Access Token 的 Refresh Token,所有应用都会返回该参数(10年的有效期)
-
scope: Access Token最终的访问范围,关于权限的具体信息参考scope权限列表
-
mac_key: 基于http调用Open API时所需要的mac Key,其有效期与Access Token一致
-
mac_algorithm: 基于http调用Open API时计算参数签名时候使用的算法, 目前只支持HmacSha1
-
openId: 用户统一标识,可以唯一标识一个用户.网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份
&&&START&&&{
"access_token": "access token value",
"expires_in": 360000,
"refresh_token": "refresh token value",
"scope": "scope value",
"token_type ": "mac",
"mac_key ": "mac key value",
"mac_algorithm": " HmacSha1",
"openId":"2.0XXXXXXXXX"
}
注意: 前面的&&&START&&&
可以直接去掉, 推荐用replace("&&&START&&&", "")
- 失败响应
如果请求失败,授权服务器会返回JSON格式的字符串:
-
error:错误码,是一个int类型的数字 请参考OAuth定义的错误码
-
error_description:一段人类可读的文字,用来帮助理解和解决发生的错误
&&&START&&& {
"error": "error_code",
"error_description": "错误描述"
}
注意: 前面的&&&START&&&
可以直接去掉, 推荐用replace("&&&START&&&", "")