更新用户信息
注意
本页两个接口均应在服务端进行调用,以防泄露你的应用Secret。
简介
通过 user-info
接口获取用户信息受access token有效期的限制,当token过期后再次调用会返回错误。
access token的有效期是24小时,可以满足网站类应用的使用需求。但APP类应用一般会保持登录数月之久,对于这种情况,请使用本页两个接口获取最新的用户信息。
这两个接口使用OAuth 2.0的Client Credentials授权方式,以应用Secret作为调用凭证,长期有效不会像access token一样过期。
建议
一般来说,在用户每次打开APP时更新一次用户信息足矣,不需要频繁定时去同步。
单个查询接口
提示
本接口只能查询授权用户的账号信息,用户登录过一次你的应用即视为授权,授权关系长期有效不会超时自动解除。
注意
用户可以在唯ID APP的授权管理页撤销对你应用的授权,此时调用接口会返回403 Forbidden错误,请做好异常处理。
- 接口描述:查询单个授权用户的账号信息
- 接口地址:
https://onlyid.net/api/open/users/用户id
- 请求方式:
GET
- 内容类型:
query string
请求参数:
参数 | 是否必需 | 含义 |
---|---|---|
clientId | 是 | 你的应用ID |
clientSecret | 是 | 你的应用Secret |
成功时响应字段和 user-info
接口一样:
字段 | 含义 |
---|---|
id | 用户id,24位字符串 |
avatar | 用户头像url |
nickname | 用户昵称 |
mobile | 用户手机号 |
用户邮箱 | |
gender | 用户性别,male或female |
birthDate | 用户出生年代,年份+s,如1990s表示90后 |
province | 用户地区省份,如广东省 |
city | 用户地区城市,如佛山市 |
请求示例:
GET https://onlyid.net/api/open/users/3b814ddf888fba57e1c4c5fe?clientId=98d44b4a3543db79&clientSecret=8d08fbbd89a547df8bda56eba12fac2e HTTP/1.1
请求成功,响应报文示例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3b814ddf888fba57e1c4c5fe",
"avatar": "https://onlyid.net/static/user-avatars/3b814ddf888fba57e1c4c5fe.png?1719418109223",
"nickname": "王语嫣",
"mobile": "18588000048",
"email": null,
"gender": "female",
"birthDate": "2000s",
"province": "广东省",
"city": "广州市"
}
请求失败,响应报文示例:
HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"error": "用户未授权或已撤销授权"
}
批量查询接口
提示
单个查询接口已经可以满足大部分应用,对于少数需要批量/全量同步用户信息的应用,请使用批量查询接口。
- 接口描述:批量查询授权用户的账号信息
- 接口地址:
https://onlyid.net/api/open/users
- 请求方式:
GET
- 内容类型:
query string
请求参数:
参数 | 是否必需 | 含义 |
---|---|---|
clientId | 是 | 你的应用ID |
clientSecret | 是 | 你的应用Secret |
current | 是 | 分页参数,当前页数 |
pageSize | 是 | 分页参数,每页条数,要 <= 1000 |
keyword | 否 | 搜索关键词,支持昵称、手机号、邮箱 |
orderBy | 否 | 排序,可选值new(默认)、active,最近新增和最近活跃 |
成功时响应字段:
字段 | 含义 |
---|---|
list | 数组,每个元素和单个查询接口返回的一样 |
total | 符合条件的用户总数 |
请求示例:
GET https://onlyid.net/api/open/users?clientId=98d44b4a3543db79&clientSecret=8d08fbbd89a547df8bda56eba12fac2e¤t=1&pageSize=10&orderBy=new HTTP/1.1
请求成功,响应报文示例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"list": [
{
"id": "3b814ddf888fba57e1c4c5fe",
"avatar": "https://onlyid.net/static/user-avatars/3b814ddf888fba57e1c4c5fe.png?1719418109223",
"nickname": "王语嫣",
"mobile": "18588000048",
"email": null,
"gender": "female",
"birthDate": "2000s",
"province": "广东省",
"city": "广州市"
},
...
],
"total": 128
}
请求失败,响应报文示例:
HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"error": "应用Secret错误,请检查"
}