小米帐号开放API


1. 获取用户名片

请求地址:https://open.account.xiaomi.com/user/profile
请求方法:   GET
请求权限:   1   权限scope说明
请求参数:
名称 必须 类型 备注
clientId long 申请应用时分配的APP ID
token string 用户授权得到的访问令牌(Access Token)
返回值:
{

  "result": "ok",

  "description": "成功",

  "data": {

            "miliaoNick": "小米帐号昵称",

            "userId": "小米用户账号",

            "miliaoIcon": "头像URL(会返回多个分辨率版本的头像)"

           },

  "code": 0

}
{

   "result": "error",

   "description": "错误描述",

   "code": "错误码"

}


2. 获取用户的openId

请求地址:https://open.account.xiaomi.com/user/openidV2
请求方法:   GET
请求权限:   3   权限scope说明
请求参数:
名称 必须 类型 备注
clientId long 申请应用时分配的APP ID
token string 用户授权得到的访问令牌(Access Token)
返回值:
{

  "result": "ok",

  "description": "成功",

  "data": {

             "openid": "openid"

          },

  "code": 0

}
{

   "result": "error",

   "description": "错误描述",

   "code": "错误码"

}


3. 获取用户手机号码和邮箱

请求地址:https://open.account.xiaomi.com/user/phoneAndEmail
请求方法:   GET
请求权限:   4   6   权限scope说明
请求参数:
名称 必须 类型 备注
clientId long 申请应用时分配的APP ID
token string 用户授权得到的访问令牌(Access Token)
返回值:
{

  "result": "ok",

  "description": "成功",

  "data": {

              "phone": "用户手机号,没有phone返回空",

              "email": "用户email, 没有email返回空"

          },

  "code": 0
}
{

   "result": "error",

   "description": "错误描述",

   "code": "错误码"

}


4. 获取用户米聊好友关系列表

请求地址:https://open.account.xiaomi.com/user/relation
请求方法:   GET
请求权限:   2   权限scope说明
请求参数:
名称 必须 类型 备注
clientId long 申请应用时分配的APP ID
token string 用户授权得到的访问令牌(Access Token)
返回值:
{

  "result": "ok",

  "description": "成功",

  "data": {

            "friends": "好友列表"

          },

  "code": 0

}
{

   "result": "error",

   "description": "错误描述",

   "code": "错误码"

}


5. 验证用户密码接口

请求地址:https://open.account.xiaomi.com/checkPassword
请求方法:   GET
请求参数:
名称 必须 类型 备注
clientId long 申请应用时分配的APP ID
xmUserId long 小米用户ID,可以通过 用户名片API获取
callback string 和回调地址在同一域名下的完整的url,用于通知密码检测结果
返回值:

如果授权成功,授权服务器会将用户的浏览器重定向到callback, 并在url参数里面带上xmResult,_xmNonce, _xmSign, code, xmUserId等参数

名称 类型 备注
xmResult boolean true表示验证成功,false或没有该参数表示验证错误
_xmNonce string 由随机数和时间戳组成,格式:随机数:当前分钟数
_xmSign string 对返回结果的签名,用于验证返回结果是否被窜改
code string 授权码,第三方可以使用code换取新的Access Token(在安全性要求较高的地方可以再次用token换取userId,以验证用户身份的合法性)
xmUserId long 小米验证的实际帐号(不一定是第三方传递的帐号),可能会被人恶意窜改

注意: 第三方必须在callback中验证_xmSign否则造成的损失由第三方负责, 签名验证请求参考MAC签名格式

6.获取用户卡包卡券

请求地址:https://api.passbook.xiaomi.com/app/get_pass
请求方法:   GET
请求权限:   16000   权限scope说明
请求参数:
名称 必须 类型 备注
clientId long 申请应用时分配的APP ID
token string 用户授权得到的访问令牌(Access Token)
imei string 手机的IMEI值(请进行MD5哈希处理)
返回值:
{
  "result": "ok",

  "description": "成功",

  "data": [{

            "passId": "卡券Id,用来唯一标识用户已领的卡券",

            "passCode": "卡券券码,没有券码返回空",

            "appName": "应用名称",

            "appId": "应用appId",

            "logoUrl": "卡券LOGO的url",

            "planId": "卡券的计划ID",

            "title": "卡券标题",

            "description": "卡券描述",

            "validStartDate": "卡券的有效起始时间",

            "validEndDate": "卡券的有效截止时间",

           }],

  "code": 0

}
{

   "result": "error",

   "description": "错误描述",

   "code": "错误码"

}