类 UserApi
- java.lang.Object
-
- com.easemob.im.server.api.user.UserApi
-
public class UserApi extends java.lang.Object
用户API。
-
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 reactor.core.publisher.Mono<EMUser>
create(java.lang.String username, java.lang.String password)
创建用户。reactor.core.publisher.Mono<java.util.List<EMUser>>
create(java.util.List<EMCreateUser> createUsers)
批量创建用户。reactor.core.publisher.Mono<java.lang.Void>
delete(java.lang.String username)
删除用户。reactor.core.publisher.Flux<java.lang.String>
deleteAll()
删除全部用户。reactor.core.publisher.Mono<java.lang.Void>
forceLogoutAllDevices(java.lang.String username)
强制指定用户所有设备下线。reactor.core.publisher.Mono<java.lang.Void>
forceLogoutOneDevice(java.lang.String username, java.lang.String resource)
强制指定用户指定设备下线。reactor.core.publisher.Mono<EMUser>
get(java.lang.String username)
获取用户详情。reactor.core.publisher.Mono<Token>
getToken(java.lang.String username, java.lang.String password)
已过时。reactor.core.publisher.Mono<java.lang.Boolean>
isUserOnline(java.lang.String username)
获取用户在线状态。reactor.core.publisher.Mono<java.util.List<EMUserStatus>>
isUsersOnline(java.util.List<java.lang.String> usernames)
批量获取用户在线状态reactor.core.publisher.Flux<java.lang.String>
listAllUsers()
获取全部用户。reactor.core.publisher.Mono<EMPage<java.lang.String>>
listUsers(int limit, java.lang.String cursor)
分页获取用户列表。reactor.core.publisher.Mono<java.lang.Void>
updateUserPassword(java.lang.String username, java.lang.String password)
修改用户密码。
-
-
-
构造器详细资料
-
UserApi
public UserApi(Context context)
-
-
方法详细资料
-
create
public reactor.core.publisher.Mono<EMUser> create(java.lang.String username, java.lang.String password)
创建用户。Server SDK 对创建的用户名有自己的限制,如果不想使用该限制,请查看此文档: 用户名限制
API使用示例:
EMService service; try { EMUser user = service.user().create("username", "password").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 用户名,可以包含小写字母、数字、减号,有效长度1至32个字节password
- 密码,可以包含字母、数字、特殊符号(~!@#$%^&*-_=+<>;:,./?),有效长度1至32字节- 返回:
- EMUser
- 另请参阅:
- 注册用户
-
create
public reactor.core.publisher.Mono<java.util.List<EMUser>> create(java.util.List<EMCreateUser> createUsers)
批量创建用户。Server SDK 对创建的用户名有自己的限制,如果不想使用该限制,请查看此文档: 用户名限制
API使用示例:
EMService service; try { List<EMCreateUser> createUsers = new ArrayList<>(); EMCreateUser createUser1 = new EMCreateUser("user1", "123456"); EMCreateUser createUser2 = new EMCreateUser("user2", "123456"); createUsers.add(createUser1); createUsers.add(createUser2); List<EMUser> users = service.user().create(createUsers).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
createUsers
- 需要创建用户的列表,EMCreateUser中包含用户名以及密码,用户名可以包含小写字母、数字、减号,有效长度1至32个字节 密码,可以包含字母、数字、特殊符号(~!@#$%^&*-_=+<>;:,./?),有效长度1至32字节- 返回:
- EMUser
- 另请参阅:
- 批量注册用户
-
delete
public reactor.core.publisher.Mono<java.lang.Void> delete(java.lang.String username)
删除用户。API使用示例:
EMService service; try { service.user().delete("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要删除的用户的用户名- 返回:
- 成功或失败
- 另请参阅:
- 删除用户
-
listAllUsers
public reactor.core.publisher.Flux<java.lang.String> listAllUsers()
获取全部用户。API使用示例:
EMService service; try { List<String> users = service.user().listAllUsers().collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 返回:
- 用户名或错误
- 另请参阅:
- 获取用户列表
-
listUsers
public reactor.core.publisher.Mono<EMPage<java.lang.String>> listUsers(int limit, java.lang.String cursor)
分页获取用户列表。API使用示例:
EMService service; EMPage<String> page = null; try { page = service.user().listUsers(10, null).block(); List<String> users = page.getValues(); System.out.println("用户列表:" + users); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } // ... do something with the users ... if (page != null) { String cursor = page.getCursor(); // cursor == null indicates the end of the list while (cursor != null) { try { page = service.user().listUsers(10, cursor).block(); System.out.println("用户列表:" + page.getValues()); // ... do something to the users ... cursor = page.getCursor(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); } } }
-
deleteAll
public reactor.core.publisher.Flux<java.lang.String> deleteAll()
删除全部用户。请谨慎使用。
API使用示例:
EMService service; try { List<String> users = service.user().deleteAll().collectList().block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 返回:
- 删除的每个用户名或错误
- 另请参阅:
- 删除全部用户
-
get
public reactor.core.publisher.Mono<EMUser> get(java.lang.String username)
获取用户详情。API使用示例:
EMService service; try { EMUser user = service.user().get("username").block(); String uuid = user.getUuid(); String username = user.getUsername(); Boolean canLogin = user.getCanLogin(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 用户名- 返回:
- A
Mono
emitsEMUser
on success. - 另请参阅:
- 获取用户详情
-
updateUserPassword
public reactor.core.publisher.Mono<java.lang.Void> updateUserPassword(java.lang.String username, java.lang.String password)
修改用户密码。API使用示例:
EMService service; try { service.user().updateUserPassword("username", "password").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要修改的用户的用户名password
- 新密码- 返回:
- 成功或错误
- 另请参阅:
- 修改用户密码
-
forceLogoutAllDevices
public reactor.core.publisher.Mono<java.lang.Void> forceLogoutAllDevices(java.lang.String username)
强制指定用户所有设备下线。API使用示例:
EMService service; try { service.user().forceLogoutAllDevices("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要强制下线的用户的用户名- 返回:
- 成功或错误
- 另请参阅:
- 强制下线
-
forceLogoutOneDevice
public reactor.core.publisher.Mono<java.lang.Void> forceLogoutOneDevice(java.lang.String username, java.lang.String resource)
强制指定用户指定设备下线。TODO: 增加查询用户在线设备id的API API使用示例:
EMService service; try { service.user().forceLogoutOneDevice("username", "resource").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要强制下线的用户的用户名resource
- 要强制下线的设备id,获取设备id的方法待补充- 返回:
- 成功或错误
- 另请参阅:
- 强制下线
-
isUserOnline
public reactor.core.publisher.Mono<java.lang.Boolean> isUserOnline(java.lang.String username)
获取用户在线状态。API使用示例:
EMService service; try { Boolean isOnline = service.user().isUserOnline("username").block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要查询的用户的用户名- 返回:
- 是否在线或错误
- 另请参阅:
- 获取用户在线状态
-
isUsersOnline
public reactor.core.publisher.Mono<java.util.List<EMUserStatus>> isUsersOnline(java.util.List<java.lang.String> usernames)
批量获取用户在线状态API使用示例:
EMService service; List<String> users = new ArrayList<>(); users.add("user1"); users.add("user2"); try { List<EMUserStatus> userStatuses = service.user().isUsersOnline(users).block(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
usernames
- 需要查询状态的用户名- 返回:
- 是否在线或错误
- 另请参阅:
- 批量获取用户在线状态
-
getToken
@Deprecated public reactor.core.publisher.Mono<Token> getToken(java.lang.String username, java.lang.String password)
已过时。获取用户token。API使用示例:
EMService service; try { Token token = service.user().getToken("u1", "123").block(); String userToken = token.getValue(); } catch (EMException e) { e.getErrorCode(); e.getMessage(); }
- 参数:
username
- 要获取token的用户名password
- 要获取token的用户名密码- 返回:
- 返回token或失败
-
-