获取用户当前的登录状态。
https://xxxxxx/v4/openim/query_online_status?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介。
参数 | 说明 |
---|---|
https | 请求协议为 HTTPS,请求方式为 POST |
xxxxxx | SDKAppID 所在国家/地区对应的专属域名console.tim.qq.com adminapisgp.im.qcloud.com adminapikr.im.qcloud.com adminapiger.im.qcloud.com adminapiind.im.qcloud.com adminapiusa.im.qcloud.com |
v4/openim/query_online_status | 请求接口 |
sdkappid | 创建应用时即时通信 IM 控制台分配的 SDKAppID |
identifier | 必须为 App 管理员帐号,更多详情请参见 App 管理员 |
usersig | App 管理员帐号生成的签名,具体操作请参见 生成 UserSig |
random | 请输入随机的32位无符号整数,取值范围0 - 4294967295 |
contenttype | 请求格式固定值为json |
200次/秒。
{
"To_Account": ["id1", "id2", "id3", "id4"]
}
{
"IsNeedDetail": 1,
"To_Account": ["id1", "id2", "id4"]
}
字段 | 类型 | 属性 | 说明 |
---|---|---|---|
To_Account | Array | 必填 | 需要查询这些 UserID 的登录状态,一次最多查询500个 UserID 的状态 |
IsNeedDetail | Integer | 选填 | 是否需要返回详细的登录平台信息。0表示不需要,1表示需要 |
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"QueryResult": [
{
"To_Account": "id1",
"Status": "Offline"
},
{
"To_Account": "id2",
"Status": "Online"
},
{
"To_Account": "id3",
"Status": "PushOnline"
}
],
"ErrorList": [
{
"To_Account": "id4",
"ErrorCode": 70107
}
]
}
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"QueryResult": [
{
"To_Account": "id1",
"Status": "Online",
"Detail": [
{
"Platform": "iPhone",
"Status": "PushOnline"
},
{
"Platform": "Web",
"Status": "Online"
}
]
},
{
"To_Account": "id2",
"Status": "Offline",
}
],
"ErrorList": [
{
"To_Account": "id4",
"ErrorCode": 70107
}
]
}
{
"ActionStatus": "FAIL",
"ErrorInfo": "Fail to Parse json data of body, Please check it",
"ErrorCode": 90001
}
字段 | 类型 | 说明 |
---|---|---|
ActionStatus | String | 请求处理的结果,“OK” 表示处理成功,“FAIL” 表示失败 |
ErrorInfo | String | 详细错误信息 |
ErrorCode | Integer | 本次请求的错误码 |
QueryResult | Array | 返回的用户在线状态结构化信息 |
QueryResult.To_Account | String | 返回的用户的 UserID |
QueryResult.Status | String | 返回的用户状态,目前支持的状态有:
|
QueryResult.Detail | Object | 详细的登录平台信息 |
QueryResult.Detail.Platform | String | 登录的平台类型。可能的返回值有:"iPhone", "Android", "Web", "PC", "iPad", "Mac"。 |
QueryResult.Detail.Status | String | 该登录平台的状态 |
ErrorList | Array | 状态查询失败的帐号列表,在此列表中的目标帐号,状态查询失败或目标帐号不存在。若状态全部查询成功,则 ErrorList 为空 |
ErrorList.To_Account | String | 状态查询失败的目标帐号 |
ErrorList.ErrorCode | Integer | 状态查询失败的错误码,若目标帐号的错误码为70107,表示该帐号不存在 |
注意:即时通信 IM 后台只会保存 PushOnline 状态7天时间,若从掉线时刻起7天之内未登录过,则进入 Offline 状态。
除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码、错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。
公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:
错误码 | 含义说明 |
---|---|
70107 | 请求的用户帐号不存在 |
70169 | 服务端内部超时,请稍后重试 |
90001 | JSON 格式解析失败,请检查请求包是否符合 JSON 规范。或者 To_Account 是空数组 |
90003 | JSON 格式请求包中 To_Account 不符合消息格式描述,请检查 To_Account 类型是否为 String |
90009 | 请求需要 App 管理员权限 |
90011 | 批量发消息目标帐号超过500,请减少 To_Account 中目标帐号数量 |
90992 | 后端服务超时,请重试 |
90994 | 服务内部错误,请重试 |
90995 | 服务内部错误,请重试 |
91000 | 服务内部错误,请重试 |
通过 REST API 在线调试工具 调试本接口。
本页内容是否解决了您的问题?