类 MetadataApi
- java.lang.Object
-
- com.easemob.im.server.api.metadata.MetadataApi
-
public class MetadataApi extends java.lang.Object
用户、群组、聊天室属性API。
-
-
构造器概要
构造器 构造器 说明 MetadataApi(Context context)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 reactor.core.publisher.Mono<ChatRoomMetadataDeleteResponse>
deleteChatRoomMetadata(java.lang.String operator, java.lang.String chatroomId, java.util.List<java.lang.String> keys)
删除聊天室属性reactor.core.publisher.Mono<ChatRoomMetadataDeleteResponse>
deleteChatRoomMetadataForced(java.lang.String chatroomId, java.util.List<java.lang.String> keys)
强制删除聊天室属性reactor.core.publisher.Mono<java.lang.Boolean>
deleteMetadataFromUser(java.lang.String username)
删除用户属性。reactor.core.publisher.Mono<EMMetadata>
getMetadataFromChatGroupUser(java.lang.String username, java.lang.String groupId)
获取单个群成员的所有自定义属性reactor.core.publisher.Mono<EMMetadataBatch>
getMetadataFromChatGroupUsers(java.lang.String groupId, java.util.List<java.lang.String> targets, java.util.List<java.lang.String> properties)
根据属性 key 获取多个群成员的自定义属性reactor.core.publisher.Mono<EMMetadata>
getMetadataFromUser(java.lang.String username)
获取用户属性reactor.core.publisher.Mono<EMMetadataBatch>
getMetadataFromUsers(java.util.List<java.lang.String> targets, java.util.List<java.lang.String> properties)
批量获取用户属性reactor.core.publisher.Mono<EMMetadataUsage>
getUsage()
获取app用户属性当前所占空间。reactor.core.publisher.Mono<ChatRoomMetadataGetResponse>
listChatRoomMetadata(java.lang.String chatroomId, java.util.List<java.lang.String> keys)
获取聊天室属性reactor.core.publisher.Mono<ChatRoomMetadataGetResponse>
listChatRoomMetadataAll(java.lang.String chatroomId)
获取所有的聊天室属性reactor.core.publisher.Mono<ChatRoomMetadataSetResponse>
setChatRoomMetadata(java.lang.String operator, java.lang.String chatroomId, java.util.Map<java.lang.String,java.lang.String> metadata, AutoDelete autoDelete)
设置聊天室属性reactor.core.publisher.Mono<ChatRoomMetadataSetResponse>
setChatRoomMetadataForced(java.lang.String operator, java.lang.String chatroomId, java.util.Map<java.lang.String,java.lang.String> metadata, AutoDelete autoDelete)
强制设置聊天室属性reactor.core.publisher.Mono<java.lang.Void>
setMetadataToChatGroupUser(java.lang.String username, java.lang.String groupId, java.util.Map<java.lang.String,java.lang.String> metadata)
设置群成员自定义属性reactor.core.publisher.Mono<java.lang.Void>
setMetadataToUser(java.lang.String username, java.util.Map<java.lang.String,java.lang.String> metadata)
设置用户属性
-
-
-
构造器详细资料
-
MetadataApi
public MetadataApi(Context context)
-
-
方法详细资料
-
setMetadataToUser
public reactor.core.publisher.Mono<java.lang.Void> setMetadataToUser(java.lang.String username, java.util.Map<java.lang.String,java.lang.String> metadata)
设置用户属性API使用示例:
EMService service; Map<String, String> map = new HashMap<>(); map.put("nickname", "昵称"); map.put("avatarurl", "http://www.easemob.com/avatar.png"); map.put("phone", "159"); try { service.metadata().setMetadataToUser("username", map).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要被设置用户属性的用户名metadata
- 要设置的属性- 返回:
- 成功或错误
- 另请参阅:
- 设置用户属性
-
getMetadataFromUser
public reactor.core.publisher.Mono<EMMetadata> getMetadataFromUser(java.lang.String username)
获取用户属性API使用示例:
EMService service; try { EMMetadata userMetadata = service.metadata().getMetadataFromUser("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要获取的用户名- 返回:
- 返回获取到的用户属性
- 另请参阅:
- 获取用户属性
-
getMetadataFromUsers
public reactor.core.publisher.Mono<EMMetadataBatch> getMetadataFromUsers(java.util.List<java.lang.String> targets, java.util.List<java.lang.String> properties)
批量获取用户属性API使用示例:
EMService service; List<String> targets = new ArrayList<>(); targets.add("user1"); targets.add("user2"); List<String> properties = new ArrayList<>(); properties.add("nickname"); try { EMMetadataBatch metadataBatch = service.metadata().getMetadataFromUsers(targets, properties).block(); metadataBatch.getData(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
targets
- 需要获取用户属性的用户名列表,最多 100 个用户名。properties
- 属性名列表,查询结果只返回该列表中包含的属性,不在该列表中的属性将被忽略。- 返回:
- 返回获取到的用户属性列表
- 另请参阅:
- 批量获取用户属性
-
getUsage
public reactor.core.publisher.Mono<EMMetadataUsage> getUsage()
获取app用户属性当前所占空间。API使用示例:
EMService service; try { EMMetadataUsage metadataUsage = service.metadata().getUsage().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 返回:
- 返回占用空间大小,单位Bytes
- 另请参阅:
- 获取app用户属性总量大小
-
deleteMetadataFromUser
public reactor.core.publisher.Mono<java.lang.Boolean> deleteMetadataFromUser(java.lang.String username)
删除用户属性。API使用示例:
EMService service; try { Boolean isSuc = service.metadata().deleteMetadataFromUser("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要被删除用户属性的用户名- 返回:
- 返回删除是否成功的结果
- 另请参阅:
- 删除用户属性
-
setChatRoomMetadata
public reactor.core.publisher.Mono<ChatRoomMetadataSetResponse> setChatRoomMetadata(java.lang.String operator, java.lang.String chatroomId, java.util.Map<java.lang.String,java.lang.String> metadata, AutoDelete autoDelete)
设置聊天室属性API使用示例:
EMService service; Map<String, String> map = new HashMap<>(); map.put("nickname", "昵称"); map.put("avatarurl", "http://www.easemob.com/avatar.png"); map.put("phone", "159"); try { service.metadata().setChatRoomMetadata("username", "roomId", map, AutoDelete.NO_DELETE).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
operator
- 设置聊天室属性的操作人chatroomId
- 聊天室idmetadata
- 要设置的属性autoDelete
- 用户退出是否删除属性- 返回:
- 成功或错误
-
setChatRoomMetadataForced
public reactor.core.publisher.Mono<ChatRoomMetadataSetResponse> setChatRoomMetadataForced(java.lang.String operator, java.lang.String chatroomId, java.util.Map<java.lang.String,java.lang.String> metadata, AutoDelete autoDelete)
强制设置聊天室属性API使用示例:
EMService service; Map<String, String> map = new HashMap<>(); map.put("nickname", "昵称"); map.put("avatarurl", "http://www.easemob.com/avatar.png"); map.put("phone", "159"); try { service.metadata().setChatRoomMetadataToUserForced("username", "roomId", map, AutoDelete.NO_DELETE).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室idoperator
- 强制设置聊天室属性的操作人metadata
- 要设强制设置的属性autoDelete
- 用户退出是否删除属性- 返回:
- 成功或错误
-
listChatRoomMetadata
public reactor.core.publisher.Mono<ChatRoomMetadataGetResponse> listChatRoomMetadata(java.lang.String chatroomId, java.util.List<java.lang.String> keys)
获取聊天室属性API使用示例:
EMService service; List<String> keys = new ArrayList<>(); keys.add("nickname"); try { service.metadata().listChatRoomMetadata("roomId", keys).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室idkeys
- 要获取的属性key列表- 返回:
- 成功或错误
-
listChatRoomMetadataAll
public reactor.core.publisher.Mono<ChatRoomMetadataGetResponse> listChatRoomMetadataAll(java.lang.String chatroomId)
获取所有的聊天室属性API使用示例:
EMService service; try { service.metadata().listChatRoomMetadataAll("roomId").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室id- 返回:
- 成功或错误
-
deleteChatRoomMetadata
public reactor.core.publisher.Mono<ChatRoomMetadataDeleteResponse> deleteChatRoomMetadata(java.lang.String operator, java.lang.String chatroomId, java.util.List<java.lang.String> keys)
删除聊天室属性API使用示例:
EMService service; List<String> keys = new ArrayList<>(); keys.add("nickname"); try { service.metadata().deleteChatRoomMetadata("operator", "roomId", map, keys).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
operator
- 执行删除的操作人chatroomId
- 聊天室idkeys
- 要删除的属性key列表- 返回:
- 成功或错误
-
deleteChatRoomMetadataForced
public reactor.core.publisher.Mono<ChatRoomMetadataDeleteResponse> deleteChatRoomMetadataForced(java.lang.String chatroomId, java.util.List<java.lang.String> keys)
强制删除聊天室属性API使用示例:
EMService service; List<String> keys = new ArrayList<>(); keys.add("nickname"); try { service.metadata().deleteChatRoomMetadataForced("roomId", map, keys).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
chatroomId
- 聊天室idkeys
- 要强制删除的属性key列表- 返回:
- 成功或错误
-
setMetadataToChatGroupUser
public reactor.core.publisher.Mono<java.lang.Void> setMetadataToChatGroupUser(java.lang.String username, java.lang.String groupId, java.util.Map<java.lang.String,java.lang.String> metadata)
设置群成员自定义属性API使用示例:
EMService service; Map<String, String> map = new HashMap<>(); map.put("nickname", "昵称"); map.put("avatarurl", "http://www.easemob.com/avatar.png"); map.put("phone", "159"); try { service.metadata().setMetadataToChatGroup("username", "groupId", map).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要被设置群组属性的用户名groupId
- 要被设置群组属性的群组idmetadata
- 要设置的属性- 返回:
- 成功或错误
- 另请参阅:
- 设置群成员自定义属性
-
getMetadataFromChatGroupUser
public reactor.core.publisher.Mono<EMMetadata> getMetadataFromChatGroupUser(java.lang.String username, java.lang.String groupId)
获取单个群成员的所有自定义属性API使用示例:
EMService service; try { EMMetadata userMetadata = service.metadata().getMetadataFromChatGroup("username", "groupId").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要获取的用户名groupId
- 要获取的群组id- 返回:
- 返回获取到的群组用户属性
- 另请参阅:
- 获取单个群成员的所有自定义属性
-
getMetadataFromChatGroupUsers
public reactor.core.publisher.Mono<EMMetadataBatch> getMetadataFromChatGroupUsers(java.lang.String groupId, java.util.List<java.lang.String> targets, java.util.List<java.lang.String> properties)
根据属性 key 获取多个群成员的自定义属性API使用示例:
EMService service; List<String> targets = new ArrayList<>(); targets.add("user1"); targets.add("user2"); List<String> properties = new ArrayList<>(); properties.add("nickname"); try { EMMetadataBatch metadataBatch = service.metadata().getMetadataFromUsers("groupId", targets, properties).block(); metadataBatch.getData(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
groupId
- 群组idtargets
- 要获取自定义属性的群成员的用户 ID。一次最多可传 10 个用户 ID。properties
- 要获取自定义属性的 key 的数组。若该参数设置为空数组或不传,则获取这些群成员的所有自定义属性。- 返回:
- 返回获取到的用户属性列表
- 另请参阅:
- 根据属性 key 获取多个群成员的自定义属性
-
-