类 RoomApi
- java.lang.Object
-
- com.easemob.im.server.api.room.RoomApi
-
public class RoomApi extends java.lang.Object
聊天室API。
-
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 reactor.core.publisher.Mono<java.lang.Void>
addRoomMember(java.lang.String roomId, java.lang.String username)
m 向聊天室添加成员。reactor.core.publisher.Mono<java.lang.Void>
assignRoom(java.lang.String chatroomId, java.lang.String newOwner)
转让聊天室。reactor.core.publisher.Mono<java.lang.String>
createRoom(java.lang.String name, java.lang.String description, java.lang.String owner, java.util.List<java.lang.String> members, int maxMembers)
创建聊天室。reactor.core.publisher.Mono<java.lang.String>
createRoom(java.lang.String name, java.lang.String description, java.lang.String owner, java.util.List<java.lang.String> members, int maxMembers, java.lang.String custom)
创建聊天室。reactor.core.publisher.Mono<java.lang.String>
createRoom(java.lang.String name, java.lang.String description, java.lang.String owner, java.util.List<java.lang.String> members, int maxMembers, java.lang.String custom, java.lang.Boolean needVerify)
创建聊天室。reactor.core.publisher.Mono<java.lang.Void>
demoteRoomAdmin(java.lang.String roomId, java.lang.String username)
降级聊天室管理员至成员。reactor.core.publisher.Mono<java.lang.Void>
demoteRoomSuperAdmin(java.lang.String username)
降级超级管理员为普通用户reactor.core.publisher.Mono<java.lang.Void>
destroyRoom(java.lang.String roomId)
注销聊天室reactor.core.publisher.Mono<EMRoom>
getRoom(java.lang.String id)
获取聊天室详情。reactor.core.publisher.Mono<java.lang.String>
getRoomAnnouncement(java.lang.String chatroomId)
获取聊天室公告。reactor.core.publisher.Flux<java.lang.String>
listRoomAdminsAll(java.lang.String roomId)
获取聊天室管理员。reactor.core.publisher.Mono<EMPage<java.lang.String>>
listRoomMembers(java.lang.String roomId, int limit, java.lang.String cursor)
分页获取聊天室成员列表。reactor.core.publisher.Mono<EMPage<java.lang.String>>
listRoomMembers(java.lang.String roomId, int limit, java.lang.String cursor, java.lang.String sort)
分页获取聊天室成员列表。reactor.core.publisher.Flux<java.lang.String>
listRoomMembersAll(java.lang.String roomId)
获取聊天室全部成员列表。reactor.core.publisher.Flux<java.lang.String>
listRoomMembersAll(java.lang.String roomId, java.lang.String sort)
获取聊天室全部成员列表。reactor.core.publisher.Flux<java.util.Map<java.lang.String,java.lang.String>>
listRoomMembersAllWithOwner(java.lang.String roomId)
获取聊天室全部成员列表,包括聊天室的 Owner。reactor.core.publisher.Mono<java.util.List<java.util.Map<java.lang.String,java.lang.String>>>
listRoomMembersWithOwner(java.lang.String roomId, int pageNum, int pageSize)
分页获取聊天室成员列表,包括聊天室的 Owner。reactor.core.publisher.Mono<EMPage<java.lang.String>>
listRooms(int limit, java.lang.String cursor)
分页获取聊天室列表reactor.core.publisher.Flux<java.lang.String>
listRoomsAll()
获取全部聊天室列表reactor.core.publisher.Flux<java.lang.String>
listRoomSuperAdminsAll()
获取所有超级管理员列表。reactor.core.publisher.Flux<java.lang.String>
listRoomsUserJoined(java.lang.String username)
获取用户加入的聊天室列表。reactor.core.publisher.Mono<java.lang.Void>
promoteRoomAdmin(java.lang.String roomId, java.lang.String username)
升级聊天室成员至管理员。reactor.core.publisher.Mono<java.lang.Void>
promoteRoomSuperAdmin(java.lang.String username)
升级用户为超级管理员,只有超级管理员有权限创建聊天室。reactor.core.publisher.Mono<java.lang.Void>
removeRoomMember(java.lang.String roomId, java.lang.String username)
从聊天室移除成员。reactor.core.publisher.Mono<java.lang.Void>
updateRoom(java.lang.String id, java.util.function.Consumer<UpdateRoomRequest> customizer)
修改聊天室。reactor.core.publisher.Mono<java.lang.Void>
updateRoomAnnouncement(java.lang.String chatroomId, java.lang.String announcement)
更新聊天室公告。
-
-
-
构造器详细资料
-
RoomApi
public RoomApi(Context context)
-
-
方法详细资料
-
createRoom
public reactor.core.publisher.Mono<java.lang.String> createRoom(java.lang.String name, java.lang.String description, java.lang.String owner, java.util.List<java.lang.String> members, int maxMembers)
创建聊天室。API使用示例:
EMService service; List<String> members = new ArrayList<>(); members.add("userA"); try { String roomId = service.room().createRoom("name", "description", "owner", members, 200).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
name
- 聊天室名称description
- 聊天室描述owner
- 聊天室主members
- 聊天室初始成员的用户名列表maxMembers
- 聊天室最大成员数- 返回:
- 聊天室id或错误
- 另请参阅:
- 创建聊天室
-
createRoom
public reactor.core.publisher.Mono<java.lang.String> createRoom(java.lang.String name, java.lang.String description, java.lang.String owner, java.util.List<java.lang.String> members, int maxMembers, java.lang.String custom)
创建聊天室。API使用示例:
EMService service; List<String> members = new ArrayList<>(); members.add("userA"); try { String roomId = service.room().createRoom("name", "description", "owner", members, 200).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
name
- 聊天室名称description
- 聊天室描述owner
- 聊天室主members
- 聊天室初始成员的用户名列表maxMembers
- 聊天室最大成员数custom
- 聊天室扩展信息,例如可以给聊天室添加业务相关的标记- 返回:
- 聊天室id或错误
- 另请参阅:
- 创建聊天室
-
createRoom
public reactor.core.publisher.Mono<java.lang.String> createRoom(java.lang.String name, java.lang.String description, java.lang.String owner, java.util.List<java.lang.String> members, int maxMembers, java.lang.String custom, java.lang.Boolean needVerify)
创建聊天室。API使用示例:
EMService service; List<String> members = new ArrayList<>(); members.add("userA"); try { String roomId = service.room().createRoom("name", "description", "owner", members, 200, "custom", true).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
name
- 聊天室名称description
- 聊天室描述owner
- 聊天室主members
- 聊天室初始成员的用户名列表maxMembers
- 聊天室最大成员数custom
- 聊天室扩展信息,例如可以给聊天室添加业务相关的标记needVerify
- 是否审核聊天室名称(付费功能,需联系商务开通)- 返回:
- 聊天室id或错误
- 另请参阅:
- 创建聊天室
-
getRoom
public reactor.core.publisher.Mono<EMRoom> getRoom(java.lang.String id)
获取聊天室详情。API使用示例:
EMService service; try { EMRoom room = service.room().getRoom(roomId).block(); String roomName = room.name(); String roomDescription = room.description(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
id
- 聊天室id- 返回:
- 聊天室详情或错误.
- 另请参阅:
- 获取聊天室详情
-
updateRoom
public reactor.core.publisher.Mono<java.lang.Void> updateRoom(java.lang.String id, java.util.function.Consumer<UpdateRoomRequest> customizer)
修改聊天室。可修改的字段参考
UpdateRoomRequest
API使用示例:
比如,要更新聊天室名称,可以这么做:
EMService service; try { service.updateRoom(roomId, request -> request.withName("some cool name")).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
id
- 聊天室idcustomizer
- 更新请求定制函数- 返回:
- 成功或错误
- 另请参阅:
UpdateRoomRequest
, 修改聊天室
-
listRoomsAll
public reactor.core.publisher.Flux<java.lang.String> listRoomsAll()
获取全部聊天室列表API使用示例:
EMService service; try { List<String> rooms = service.room().listRoomsAll().collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 返回:
- 每个聊天室的id或错误
- 另请参阅:
- 获取聊天室列表
-
listRooms
public reactor.core.publisher.Mono<EMPage<java.lang.String>> listRooms(int limit, java.lang.String cursor)
分页获取聊天室列表API使用示例:
EMService service; EMPage<String> page = null; try { service.room().listRooms(10, null).block(); List<String> roomIds = page.getValues(); System.out.println("聊天室列表:" + roomIds); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } // ... do something with the roomIds ... if (page != null) { String cursor = page.getCursor(); // cursor == null indicates the end of the list while (cursor != null) { try { page = service.room().listRooms(10, cursor).block(); System.out.println("聊天室列表:" + page.getValues()); // ... do something to the roomIds ... cursor = page.getCursor(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } } }
- 参数:
limit
- 返回多少个聊天室idcursor
- 开始位置- 返回:
- 获取聊天室响应或错误
- 另请参阅:
- 获取聊天室列表
-
listRoomsUserJoined
public reactor.core.publisher.Flux<java.lang.String> listRoomsUserJoined(java.lang.String username)
获取用户加入的聊天室列表。API使用示例:
EMService service; try { List<String> rooms = service.room().listRoomsUserJoined("username").collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 用户名- 返回:
- 每个聊天室的id或错误
- 另请参阅:
- 获取用户加入的聊天室
-
listRoomMembersAll
public reactor.core.publisher.Flux<java.lang.String> listRoomMembersAll(java.lang.String roomId)
获取聊天室全部成员列表。API使用示例:
EMService service; try { List<String> members = service.room().listRoomMembersAll("roomId").collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室id- 返回:
- 每个聊天室成员或者错误
- 另请参阅:
- 获取聊天室成员
-
listRoomMembersAll
public reactor.core.publisher.Flux<java.lang.String> listRoomMembersAll(java.lang.String roomId, java.lang.String sort)
获取聊天室全部成员列表。API使用示例:
EMService service; try { List<String> members = service.room().listRoomMembersAll("roomId", "asc").collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室idsort
- 聊天室成员排序方法 asc:根据加入顺序升序排序 desc:根据加入顺序降序排序- 返回:
- 每个聊天室成员或者错误
- 另请参阅:
- 获取聊天室成员
-
listRoomMembersAllWithOwner
public reactor.core.publisher.Flux<java.util.Map<java.lang.String,java.lang.String>> listRoomMembersAllWithOwner(java.lang.String roomId)
获取聊天室全部成员列表,包括聊天室的 Owner。API使用示例:
EMService service; try { List<Map<String, String>> members = service.room().listRoomMembersAllWithOwner("roomId").collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室id- 返回:
- 每个聊天室成员或者错误
- 另请参阅:
- 获取聊天室成员
-
listRoomMembers
public reactor.core.publisher.Mono<EMPage<java.lang.String>> listRoomMembers(java.lang.String roomId, int limit, java.lang.String cursor)
分页获取聊天室成员列表。API使用示例:
EMService service; EMPage<String> page = null; try { EMPage<String> page = service.room().listRoomMembers(roomId, 1, null).block(); List<String> members = page.getValues(); System.out.println("聊天室成员列表:" + members); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } // ... do something with the roomIds ... if (page != null) { String cursor = page.getCursor(); // cursor == null indicates the end of the list while (cursor != null) { try { page = service.room().listRoomMembers(roomId, 1, cursor).block(); System.out.println("聊天室成员列表:" + page.getValues()); // ... do something to the members ... cursor = page.getCursor(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } } }
- 参数:
roomId
- 聊天室idlimit
- 返回多少个聊天室成员cursor
- 开始位置- 返回:
- 获取聊天室成员响应或错误
- 另请参阅:
- 获取聊天室成员
-
listRoomMembersWithOwner
public reactor.core.publisher.Mono<java.util.List<java.util.Map<java.lang.String,java.lang.String>>> listRoomMembersWithOwner(java.lang.String roomId, int pageNum, int pageSize)
分页获取聊天室成员列表,包括聊天室的 Owner。API使用示例:
EMService service; EMPage<String> page = null; try { List<Map<String, String>> members = service.room().listRoomMembers(roomId, 1, 10).block(); System.out.println("聊天室成员列表:" + members); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室idpageNum
- 当前页码。默认从第 1 页开始获取pageSize
- 每页期望返回的群组成员数量。取值范围为[1,100]。默认为 10。- 返回:
- 获取聊天室成员响应或错误
- 另请参阅:
- 获取聊天室成员
-
listRoomMembers
public reactor.core.publisher.Mono<EMPage<java.lang.String>> listRoomMembers(java.lang.String roomId, int limit, java.lang.String cursor, java.lang.String sort)
分页获取聊天室成员列表。API使用示例:
EMService service; EMPage<String> page = null; try { EMPage<String> page = service.room().listRoomMembers(roomId, 1, null, "asc").block(); List<String> members = page.getValues(); System.out.println("聊天室成员列表:" + members); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } // ... do something with the roomIds ... if (page != null) { String cursor = page.getCursor(); // cursor == null indicates the end of the list while (cursor != null) { try { page = service.room().listRoomMembers(roomId, 1, cursor, "asc").block(); System.out.println("聊天室成员列表:" + page.getValues()); // ... do something to the members ... cursor = page.getCursor(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } } }
- 参数:
roomId
- 聊天室idlimit
- 返回多少个聊天室成员cursor
- 开始位置sort
- 聊天室成员排序方法 asc:根据加入顺序升序排序 desc:根据加入顺序降序排序- 返回:
- 获取聊天室成员响应或错误
- 另请参阅:
- 获取聊天室成员
-
addRoomMember
public reactor.core.publisher.Mono<java.lang.Void> addRoomMember(java.lang.String roomId, java.lang.String username)
m 向聊天室添加成员。API使用示例:
EMService service; try { service.room().addRoomMember("roomId", "username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室idusername
- 要添加的用户的用户名- 返回:
- 成功或错误
- 另请参阅:
- 聊天室添加成员
-
removeRoomMember
public reactor.core.publisher.Mono<java.lang.Void> removeRoomMember(java.lang.String roomId, java.lang.String username)
从聊天室移除成员。API使用示例:
EMService service; try { service.room().removeRoomMember("roomId", "username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室idusername
- 要移除的成员的用户名- 返回:
- 成功或错误
- 另请参阅:
- 聊天室移除成员
-
listRoomAdminsAll
public reactor.core.publisher.Flux<java.lang.String> listRoomAdminsAll(java.lang.String roomId)
获取聊天室管理员。API使用示例:
EMService service; try { List<String> admins = service.room().listRoomAdminsAll("roomId").collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室id- 返回:
- 每个管理员的用户名或错误
- 另请参阅:
- 获取聊天室管理员
-
promoteRoomAdmin
public reactor.core.publisher.Mono<java.lang.Void> promoteRoomAdmin(java.lang.String roomId, java.lang.String username)
升级聊天室成员至管理员。API使用示例:
EMService service; try { service.room().promoteRoomAdmin("roomId", "username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室idusername
- 要升级的成员的用户名- 返回:
- 成功或错误
- 另请参阅:
- 添加聊天室管理员
-
demoteRoomAdmin
public reactor.core.publisher.Mono<java.lang.Void> demoteRoomAdmin(java.lang.String roomId, java.lang.String username)
降级聊天室管理员至成员。API使用示例:
EMService service; try { service.room().demoteRoomAdmin("roomId", "username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室idusername
- 要降级的管理员的用户名- 返回:
- 成功或错误
- 另请参阅:
- 移除聊天室管理员
-
listRoomSuperAdminsAll
public reactor.core.publisher.Flux<java.lang.String> listRoomSuperAdminsAll()
获取所有超级管理员列表。API使用示例:
EMService service; try { List<String> superAdmins = service.room().listRoomSuperAdminsAll().collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 返回:
- 所有超级管理员的用户名
- 另请参阅:
- 分页获取聊天室超级管理员列表
-
promoteRoomSuperAdmin
public reactor.core.publisher.Mono<java.lang.Void> promoteRoomSuperAdmin(java.lang.String username)
升级用户为超级管理员,只有超级管理员有权限创建聊天室。API使用示例:
EMService service; try { service.room().promoteRoomSuperAdmin("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要升级的用户的用户名- 返回:
- 成功或错误
- 另请参阅:
- 添加超级管理员
-
demoteRoomSuperAdmin
public reactor.core.publisher.Mono<java.lang.Void> demoteRoomSuperAdmin(java.lang.String username)
降级超级管理员为普通用户API使用示例:
EMService service; try { service.room().demoteRoomSuperAdmin("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要降级的超级管理员的用户名- 返回:
- 成功或错误
- 另请参阅:
- 移除超级管理员
-
destroyRoom
public reactor.core.publisher.Mono<java.lang.Void> destroyRoom(java.lang.String roomId)
注销聊天室请谨慎使用。
API使用示例:
EMService service; try { service.room().destroyRoom("roomId").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
roomId
- 聊天室id- 返回:
- 成功或错误
- 另请参阅:
- 删除聊天室
-
assignRoom
public reactor.core.publisher.Mono<java.lang.Void> assignRoom(java.lang.String chatroomId, java.lang.String newOwner)
转让聊天室。API使用示例:
EMService service; try { service.room().assignRoom("chatroomId", "newOwner").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室idnewOwner
- 被转让聊天室的用户名- 返回:
- 成功或错误
-
getRoomAnnouncement
public reactor.core.publisher.Mono<java.lang.String> getRoomAnnouncement(java.lang.String chatroomId)
获取聊天室公告。API使用示例:
EMService service; try { String roomAnnouncement = service.room().getRoomAnnouncement("roomId").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室id- 返回:
- 聊天室公告或错误
-
updateRoomAnnouncement
public reactor.core.publisher.Mono<java.lang.Void> updateRoomAnnouncement(java.lang.String chatroomId, java.lang.String announcement)
更新聊天室公告。API使用示例:
EMService service; try { service.room().updateRoomAnnouncement("chatroomId", "announcement").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室idannouncement
- 聊天室公告- 返回:
- 成功或错误
-
-