获取指定账号的在线登录设备列表

大约 2 分钟

获取指定账号的在线登录设备列表

功能描述

多设备登录情况下,你可以调用该接口获取指定账号的在线登录设备列表。

调用频率上限

该 API、用户账户管理的其他接口、以及离线推送的相关接口的总调用频率上限为 100 次/秒/App ID,详见 接口频率限制文档

请求 URL

GET https://{host}/app-id/{app_id}/users/{username}/resources
参数类型是否必需描述
usernameString用户 ID。

关于请求 URL 中其他参数的说明,详见 请求 URL 参数介绍

请求示例

# 将 <YourAppToken> 替换为你在服务端生成的 App Token
curl -X GET 'https://XXXX/app-id/{app_id}/users/XXXX/resources' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>'

请求 header 参数

关于 AcceptAuthorization 字段的说明,详见 请求 header 参数说明

响应示例

{
    "path": "/users/XXXX/resources",
    "uri": "https://XXXX/XXXX/XXXX/users/XXXX/resources",
    "timestamp": 1692325141777,
    "entities": [],
    "action": "get",
    "data": [
        {
            "res": "android_XXXX",
            "device_uuid": "2a54-XXXX",
            "device_name": "HUAWEI-XXXX"
        }
    ],
    "duration": 0
}

响应 body 字段

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中的 data 字段:

参数类型描述
dataJSON Array已登录设备的列表。
- resString已登录设备的资源 ID,即服务器分配给每个设备资源的唯一标识符。资源 ID 的格式为 {device type}_{resource ID},其中设备类型 device type 可以是 androidioswebresource ID 由 SDK 分配。例如,android_123423453246
- device_uuidString已登录设备的 UUID。
- device_nameString已登录设备的名称。

响应体中的其他参数说明如下表所示:

字段类型描述
pathString请求路径,属于请求 URL 的一部分,开发者无需关注。
uriString请求 URL。
timestampLongUnix 时间戳,单位为毫秒。
actionString请求方法。
durationInt从发送请求到响应的时长,单位为毫秒。

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
404organization_application_not_foundCould not find application for XXX/XXX from URI: XXX/XXX/usersApp ID 不存在。检查 App ID 是否正确或 创建项目并开通 IM

关于其他错误,你可以参考 错误码 了解可能的原因。

上次编辑于: