获取聊天室成员列表
更新时间: 2024/07/17 17:57:35
网易云信 IM 服务端支持分页获取成员列表、根据角色获取固定成员列表以及获取在线成员列表。
分页获取
功能描述
分页获取在某时间段内指定聊天室、指定成员类型的成员列表。
URL
httpPOST https://api.netease.im/nimserver/chatroom/membersByPage.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
roomid | long | 是 | 聊天室id |
type | int | 是 | 需要查询的成员类型,0:固定成员;1:非固定成员;2:仅返回在线的固定成员 |
endtime | long | 是 | 单位毫秒,按时间倒序最后一个成员的时间戳,0表示系统当前时间 |
limit | long | 是 | 返回条数,<=100 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
roomid | long | 聊天室id |
accid | String | 用户accid |
nick | String | 聊天室内的昵称 |
avator | String | 聊天室内的头像 |
ext | String | 开发者扩展字段 |
type | String |
角色类型: UNSET(未设置), LIMITED(受限用户,黑名单或禁言), COMMON(普通固定成员), CREATOR(创建者), MANAGER(管理员), TEMPORARY(临时用户,非固定成员) |
level | int | 成员级别(若未设置成员级别,则无此字段) |
onlineStat | Boolean | 是否在线 |
enterTime | long | 进入聊天室的时间点 |
blacklisted | Boolean | 是否在黑名单中(若未被拉黑,则无此字段) |
muted | Boolean | 是否被禁言(若未被禁言,则无此字段) |
tempMuted | Boolean | 是否被临时禁言(若未被临时禁言,则无此字段) |
tempMuteTtl | long | 临时禁言的解除时长,单位秒(若未被临时禁言,则无此字段) |
isRobot | Boolean | 是否是聊天室机器人(若不是机器人,则无此字段) |
robotExpirAt | int | 机器人失效的时长,单位秒(若不是机器人,则无此字段) |
示例
cURL请求示例
curlcurl -X POST -H "CheckSum: 32dc17d0***049c9367e7" -H "AppKey: fe416640c8e**9e1847ad2547" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=4235&type=0&endtime=0&limit=20' "https://api.netease.im/nimserver/chatroom/membersByPage.action"
请求成功返回示例
json
"Content-Type": "application/json; charset=utf-8"
{
"desc": {
"data": [
{
"roomid": 111,
"accid": "abc",
"nick": "abc",
"avator": "http://nim.nos.netease.com/MTAxMTAwMg==/bmltYV8xNzg4NTA1NF8xNDU2Mjg0NDQ3MDcyX2E4NmYzNWI5LWRhYWEtNDRmNC05ZjU1LTJhMDUyMGE5MzQ4ZA==",
"ext": "ext",
"type": "MANAGER",
"level": 2,
"onlineStat": true,
"enterTime": 1487145487971,
"blacklisted": true,
"muted": true,
"tempMuted": true,
"tempMuteTtl": 120,
"isRobot": true,
"robotExpirAt":120
}
]
},
"code": 200
}
根据角色获取
功能描述
根据角色(创建者、管理员、黑名单成员或禁言成员)获取固定成员列表。
URL
httpPOST https://api.netease.im/nimserver/chatroom/queryMembersByRole.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
roomid | long | 是 | 聊天室id |
roles | String | 是 |
设置需要获取的角色,格式示例: {"creator": true,"manager": true,"blacklist": false,"mute": false} 字段说明: 1、creator:聊天室创建者 2、manager:聊天室管理员 3、blacklist:黑名单用户 4、mute:被禁言用户 说明:设置为false或不设置表示不获取相应的角色信息 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
roomid | long | 聊天室id |
accid | String | 用户accid |
nick | String | 聊天室内的昵称 |
avator | String | 聊天室内的头像 |
ext | String | 开发者扩展字段 |
type | String |
角色类型: UNSET(未设置), LIMITED(受限用户,黑名单或禁言), COMMON(普通固定成员), CREATOR(创建者), MANAGER(管理员), TEMPORARY(临时用户,非固定成员) |
level | int | 成员级别(若未设置成员级别,则无此字段) |
onlineStat | Boolean | 是否在线 |
enterTime | long | 进入聊天室的时间点 |
blacklisted | Boolean | 是否在黑名单中(若未被拉黑,则无此字段) |
muted | Boolean | 是否被禁言(若未被禁言,则无此字段) |
tempMuted | Boolean | 是否被临时禁言(若未被临时禁言,则无此字段) |
tempMuteTtl | long | 临时禁言的解除时长,单位秒(若未被临时禁言,则无此字段) |
isRobot | Boolean | 是否是聊天室机器人(若不是机器人,则无此字段) |
robotExpirAt | int | 机器人失效的时长,单位秒(若不是机器人,则无此字段) |
示例
cURL请求示例
curlcurl -X POST -H "CheckSum: 51eb13ea5**1c65c7866c366" -H "AppKey: fe416640c8**19e1847ad2547" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=66&roles=%7B%22creator%22%3A%20true%2C%20%22manager%22%3A%20true%2C%22blacklist%22%3A%20true%2C%22mute%22%3A%20true%7D' 'https://api.netease.im/nimserver/chatroom/queryMembersByRole.action'
请求成功返回示例
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"desc":
{
"data":
[
{
"accid": "user01",
"nick": "nick01",
"ext": "",
"level": 0,
"avator": "avator01.png",
"type": "CREATOR", //创建者
"roomid": 72,
"onlineStat": true
},
{
"accid": "user02",
"nick": "nick02",
"ext": "",
"level": 0,
"avator": "avator02.png",
"type": "MANAGER", //管理员
"roomid": 72,
"onlineStat": false
},
{
"accid": "user03",
"nick": "nick03",
"ext": "",
"blacklisted": true, //黑名单
"level": 0,
"avator": null,
"type": "LIMITED",
"roomid": 72,
"onlineStat": false
},
{
"accid": "user04",
"nick": "nick04",
"ext": "",
"level": 0,
"avator": null,
"type": "LIMITED",
"muted": true, //禁言
"roomid": 72,
"onlineStat": false
}
]
}
}
批量获取成员信息
功能描述
批量获取聊天室成员信息。
URL
httpPOST https://api.netease.im/nimserver/chatroom/queryMembers.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
roomid | long | 是 | 聊天室id |
accids | JSONArray | 是 | \["abc","def"\], 账号列表,最多200条 |
示例
cURL请求示例
curlcurl -X POST -H "CheckSum: 32dc17d019**f049c9367e7" -H "AppKey: fe416640c8e**1847ad2547" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=4235&accids=["abc","def"]' "https://api.netease.im/nimserver/chatroom/queryMembers.action"
请求成功返回示例
json
"Content-Type": "application/json; charset=utf-8"
{
"desc": {
"data": [
{
"roomid": 111,
"accid": "abc",
"nick": "cba",
"type": "CREATOR", //COMMON:普通成员(固定成员);CREATOR:聊天室创建者;MANAGER:聊天室管理员;TEMPORARY:临时用户(非聊天室固定成员);ANONYMOUS:匿名用户(未注册账号);LIMITED:受限用户(黑名单+禁言)
"onlineStat": true
}
]
},
"code": 200
}
状态码
上述 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
此文档是否对你有帮助?