差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
im:server:ready:user [2018/12/27 07:11]
she [Appkey 数据结构]
im:server:ready:user [2019/04/24 08:11]
jk [批量获取用户在线状态]
行 2: 行 2:
  
 ---- ----
- 
 ===== 概述 ===== ===== 概述 =====
  
行 169: 行 168:
  
 <code php> <code php>
-curl -X POST -i "​https://​a1.easemob.com/​easemob-demo/​testapp/​users"​ -d '​{"​username":"​user1","​password":"​123"​,“nickname:testuser}'+curl -X POST -i "​https://​a1.easemob.com/​easemob-demo/​testapp/​users"​ -d '​{"​username":"​user1","​password":"​123"​,"nickname":"testuser"}'
 </​code>​ </​code>​
  
行 1608: 行 1607:
 ^名称^请求^描述^ ^名称^请求^描述^
 |获取用户在线状态|/​{org_name}/​{app_name}/​users/​{username}/​status|查看一个用户的在线状态| |获取用户在线状态|/​{org_name}/​{app_name}/​users/​{username}/​status|查看一个用户的在线状态|
 +|批量获取用户在线状态|/​{org_name}/​{app_name}/​users/​batch/​status|批量查看用户的在线状态|
 |获取离线消息数|/​{org_name}/​{app_name}/​users/​{owner_username}/​offline_msg_count|获取一个 IM 用户的离线消息数 | |获取离线消息数|/​{org_name}/​{app_name}/​users/​{owner_username}/​offline_msg_count|获取一个 IM 用户的离线消息数 |
 |获取离线消息的状态|/​{org_name}/​{app_name}/​users/​{username}/​offline_msg_status/​{msg_id}|通过离线消息的 ID 查看用户的该条离线消息状态| |获取离线消息的状态|/​{org_name}/​{app_name}/​users/​{username}/​offline_msg_status/​{msg_id}|通过离线消息的 ID 查看用户的该条离线消息状态|
行 1682: 行 1682:
  
 [[http://​api-docs.easemob.com/​|使用 Easemob REST API 在线测试]] [[http://​api-docs.easemob.com/​|使用 Easemob REST API 在线测试]]
 +----
 +==== 批量获取用户在线状态 ====
 +批量查看用户的在线状态,最大同时查看100个用户。
 +
 +=== HTTP Request ===
 +
 +^{{:​im:​server:​ready:​post.png?​nolink&​90|}}^**/​{org_name}/​{app_name}/​users/​batch/​status**^
 +
 +=== Request Headers ===
 +
 +^参数^说明^
 +|Content-Type|application/​json|
 +|Authorization|Bearer ${token}|
 +
 +=== Request Body ===
 +
 +^参数^说明^
 +|usernames|“user1”,​ “user2”,需要查询状态的用户名以数组方式提交,<​wrap em>​最多不能超过100个</​wrap>​|
 +
 +=== Response Body ===
 +
 +在返回值中查看data字段包含的信息
 +
 +^参数^说明^
 +|username|会显示为“user1”对应就是查询的username,“offline”代表离线,“online”在表用户当前在线|
 +
 +=== 请求示例 ===
 +
 +<code php>
 +curl -X GET http://​a1.easemob.com/​easemob-demo/​chatdemoui/​users/​batch/​status -H '​Authorization:​ Bearer YWMte3bGuOukEeiTkNP4grL7iwAAAAAAAAAAAAAAAAAAAAGL4CTw6XgR6LaXXVmNX4QCAgMAAAFnKdc-ZgBPGgBFTrLhhyK8woMEI005emtrLJFJV6aoxsZSioSIZkr5kw'​ -H '​Content-Type:​ application/​json'​ -d '​{"​usernames":​["​user1","​user2"​]}'​
 +</​code>​
 +
 +=== 可能返回的结果示例 ===
 +
 +**返回值200,表示查询用户状态成功**
 +
 +如果请求输入错误的用户名,即请求不存在的用户状态,则返回的参数一定是offline,此接口不对用户名进行校验。
 +<code json>
 +{
 +    "​action":​ "get batch user status",​
 +    "​data":​ [
 +        {
 +            "​user1":​ "​offline"​
 +        },
 +        {
 +            "​user2":​ "​offline"​
 +        }
 +    ],
 +    "​timestamp":​ 1552280231926,​
 +    "​duration":​ 4
 +}
 +</​code>​
 +
 +**返回值401,表示未授权[无token、token错误、token过期]**
 +<code json>
 +{
 +  "​error":​ "​unauthorized",​
 +  "​timestamp":​ 1542601375113,​
 +  "​duration":​ 0,
 +  "​exception":​ "​org.apache.shiro.authz.UnauthorizedException",​
 +  "​error_description":​ "​Subject does not have permission [applications:​get:​8be024f0-e978-11e8-b697-5d598d5f8402:/​users/​4759aa70-eba5-11e8-925f-6fa0510823ba]"​
 +}
 +</​code>​
 +
 +如果返回结果是<​wrap em>​429、503</​wrap>​或者其他<​wrap em>​5xx</​wrap>​,有可能代表该接口被限流了,请稍微暂停一下并重试;或者或者请求的用户数大于100,请重新发送正确数量的请求。详见[[im:​server:​help:​restastrict|接口限流说明]] ​
 +
 +
 ---- ----
  
行 1756: 行 1823:
 [[http://​api-docs.easemob.com/​|使用 Easemob REST API 在线测试]] [[http://​api-docs.easemob.com/​|使用 Easemob REST API 在线测试]]
 ---- ----
 +
  
 ==== 获取某条离线消息状态 ==== ==== 获取某条离线消息状态 ====