用户相关
更新时间: 2024/11/14 11:43:49
网易云信即时通讯 SDK(NetEase IM SDK,以下简称 NIM SDK)提供用户资料的托管,支持更新自己的用户信息,更新自己的黑名单列表等。
用户资料包括用户昵称、性别、头像、签名、手机、邮箱、生日等信息。
本文介绍用户资料相关的 API。更多用户资料相关功能请参考开发指南文档 用户管理。
支持平台
本文内容适用的开发平台或框架如下表所示:
Android | iOS | macOS/Windows | Web/uni-app/小程序 | Node.js/Electron | HarmonyOS |
---|---|---|---|---|---|
✔️️ | ✔️️ | ✔️️ | ✔️️ | ✔️️ | ✔️️ |
API 概览
用户资料监听
API | 说明 | 起始版本 |
---|---|---|
addUserListener | 注册用户资料相关监听器 | v10.2.0 |
removeUserListener | 移除用户资料相关监听器 | v10.2.0 |
API | 说明 | 起始版本 |
---|---|---|
on("EventName") | 注册用户资料相关监听 | v10.2.0(对应 HarmonyOS v0.5.0) |
off("EventName") | 取消用户资料相关监听 | v10.2.0(对应 HarmonyOS v0.5.0) |
用户资料操作
API | 说明 | 起始版本 |
---|---|---|
getUserList | 根据用户账号 ID 列表获取用户资料 | v10.2.0(对应 HarmonyOS v0.5.0) |
updateSelfUserProfile | 更新自己的用户资料 | v10.2.0(对应 HarmonyOS v0.5.0) |
addUserToBlockList | 添加指定用户进黑名单 | v10.2.0(对应 HarmonyOS v0.5.0) |
removeUserFromBlockList | 将指定用户移出黑名单 | v10.2.0(对应 HarmonyOS v0.5.0) |
getBlockList | 获取黑名单用户列表 | v10.2.0(对应 HarmonyOS v0.5.0) |
searchUserByOption | 根据关键字信息搜索用户信息 | |
getUserListFromCloud | 根据用户账号列表从服务器获取用户信息 |
接口类
V2NIMUserService
类提供用户资料相关接口,包括注册用户资料监听,获取、更新用户资料,拉黑用户等接口。
addUserListener
接口描述
注册用户资料监听器。
注册成功后,当事件发生时,SDK 会返回对应的回调。
-
建议在初始化后调用该方法。
-
全局只需注册一次。
-
该方法为同步。
参数说明
Javavoid addUserListener(V2NIMUserListener listener);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMUserListener |
是 | 用户资料相关监听器 |
Objective-C- (void)addUserListener:(id<V2NIMUserListener>)listener;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMUserListener |
是 | 用户资料相关监听器 |
C++virtual void addUserListener(V2NIMUserListener listener) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMUserListener |
是 | 用户资料相关监听器 |
示例代码
JavaNIMClient.getService(V2NIMUserService.class).addUserListener(new V2NIMUserListener() {
@Override
public void onUserProfileChanged(List<V2NIMUser> users) {
}
@Override
public void onBlockListAdded(V2NIMUser user) {
}
@Override
public void onBlockListRemoved(String accountId) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2UserService] addUserListener:self];
- (void)onUserProfileChanged:(NSArray<V2NIMUser *> *)users {
}
- (void)onBlockListAdded:(V2NIMUser *)user {
}
- (void)onBlockListRemoved:(NSString *)accountId {
}
C++V2NIMUserListener listener;
listener.onUserProfileChanged = [](std::vector<V2NIMUser> users) {
// user profile changed
};
listener.onBlockListAdded = [](V2NIMUser user) {
// user added to blocklist
};
listener.onBlockListRemoved = [](std::string accountId) {
// user removed from blocklist
};
userService.addUserListener(listener);
返回值
无。
removeUserListener
接口描述
移除用户资料监听器。
该方法为同步。
参数说明
Javavoid removeUserListener(V2NIMUserListener listener);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMUserListener |
是 | 用户资料相关监听器 |
Objective-C- (void)removeUserListener:(id<V2NIMUserListener>)listener;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMUserListener |
是 | 用户资料相关监听器 |
C++virtual void removeUserListener(V2NIMUserListener listener) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
listener |
V2NIMUserListener |
是 | 用户资料相关监听器 |
示例代码
JavaNIMClient.getService(V2NIMUserService.class).removeUserListener(listener);
Objective-C[[[NIMSDK sharedSDK] v2UserService] removeUserListener:self];
C++V2NIMUserListener listener;
// ...
userService.addUserListener(listener);
// ...
userService.removeUserListener(listener);
返回值
无。
on("EventName")
接口描述
注册用户资料相关监听。
注册成功后,当事件发生时,SDK 会返回对应的回调。
-
建议在初始化后调用该方法。
-
全局只需注册一次。
-
该方法为同步。
参数说明
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 eventEmitter3 的监听事件方法
*/
on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的监听事件方法
*/
once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMUserListener |
是 | 事件名称:onUserProfileChanged :用户资料变更回调,返回变更的用户资料列表。onBlockListAdded :黑名单新增用户回调,返回新加入黑名单的用户列表,包括本端直接添加进黑名单的用户和其他端同步的新增的黑名单用户。onBlockListRemoved :黑名单移除用户回调,返回移出黑名单的用户列表,包括本端直接移出黑名单的用户和其他端同步的移出黑名单的用户。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 eventEmitter3 的监听事件方法
*/
on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的监听事件方法
*/
once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMUserListener |
是 | 事件名称:userProfileChanged :用户资料变更回调,返回变更的用户资料列表。blockListAdded :黑名单新增用户回调,返回新加入黑名单的用户列表,包括本端直接添加进黑名单的用户和其他端同步的新增的黑名单用户。blockListRemoved :黑名单移除用户回调,返回移出黑名单的用户列表,包括本端直接移出黑名单的用户和其他端同步的移出黑名单的用户。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 eventEmitter3 的监听事件方法
*/
on<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的监听事件方法
*/
once<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMUserListener |
是 | 事件名称:onUserProfileChanged :用户资料变更回调,返回变更的用户资料列表。onBlockListAdded :黑名单新增用户回调,返回新加入黑名单的用户列表,包括本端直接添加进黑名单的用户和其他端同步的新增的黑名单用户。onBlockListRemoved :黑名单移除用户回调,返回移出黑名单的用户列表,包括本端直接移出黑名单的用户和其他端同步的移出黑名单的用户。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
示例代码
TypeScriptnim.V2NIMUserService.on("onUserProfileChanged", function (users: V2NIMUser[]) {})
nim.V2NIMUserService.on("onBlockListAdded", function (user: V2NIMUser) {})
nim.V2NIMUserService.on("onBlockListRemoved", function (accountId: string) {})
TypeScriptv2.userService.on("userProfileChanged", function (users: V2NIMUser[]) {})
v2.userService.on("blockListAdded", function (user: V2NIMUser) {})
v2.userService.on("blockListRemoved", function (accountId: string) {})
TypeScriptnim.userService.on("onUserProfileChanged", function (users: V2NIMUser[]) {})
nim.userService.on("onBlockListAdded", function (user: V2NIMUser) {})
nim.userService.on("onBlockListRemoved", function (accountId: string) {})
返回值
无。
off("EventName")
接口描述
取消注册用户资料相关监听。
该方法为同步。
参数说明
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 eventEmitter3 的取消监听方法
*/
off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的移除事件方法
*/
removeAllListeners<T extends keyof I>(eventName?: T): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMUserListener |
是 | 事件名称:onUserProfileChanged :用户资料变更回调,返回变更的用户资料列表。onBlockListAdded :黑名单新增用户回调,返回新加入黑名单的用户列表,包括本端直接添加进黑名单的用户和其他端同步的新增的黑名单用户。onBlockListRemoved :黑名单移除用户回调,返回移出黑名单的用户列表,包括本端直接移出黑名单的用户和其他端同步的移出黑名单的用户。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 eventEmitter3 的取消监听方法
*/
off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的移除事件方法
*/
removeAllListeners<T extends keyof I>(eventName?: T): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMUserListener |
是 | 事件名称:userProfileChanged :用户资料变更回调,返回变更的用户资料列表。blockListAdded :黑名单新增用户回调,返回新加入黑名单的用户列表,包括本端直接添加进黑名单的用户和其他端同步的新增的黑名单用户。blockListRemoved :黑名单移除用户回调,返回移出黑名单的用户列表,包括本端直接移出黑名单的用户和其他端同步的移出黑名单的用户。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
TypeScriptexport interface NIMEBaseServiceInterface<I extends NIMEBaseListener> {
/**
* 继承自 eventEmitter3 的取消监听方法
*/
off<T extends keyof I>(eventName: T, fn: (...args: I[T]) => void): void
/**
* 继承自 eventEmitter3 的移除事件方法
*/
removeAllListeners<T extends keyof I>(eventName?: T): void
}
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
eventName |
V2NIMUserListener |
是 | 事件名称:onUserProfileChanged :用户资料变更回调,返回变更的用户资料列表。onBlockListAdded :黑名单新增用户回调,返回新加入黑名单的用户列表,包括本端直接添加进黑名单的用户和其他端同步的新增的黑名单用户。onBlockListRemoved :黑名单移除用户回调,返回移出黑名单的用户列表,包括本端直接移出黑名单的用户和其他端同步的移出黑名单的用户。 |
fn |
function | 是 | 监听事件的回调函数。当事件触发时,会调用该函数进行处理。 |
示例代码
TypeScriptnim.V2NIMUserService.off("onUserProfileChanged", function (users: V2NIMUser[]) {})
nim.V2NIMUserService.off("onBlockListAdded", function (user: V2NIMUser) {})
nim.V2NIMUserService.off("onBlockListRemoved", function (accountId: string) {})
TypeScriptv2.userService.off("userProfileChanged", function (users: V2NIMUser[]) {})
v2.userService.off("blockListAdded", function (user: V2NIMUser) {})
v2.userService.off("blockListRemoved", function (accountId: string) {})
TypeScriptnim.userService.off("onUserProfileChanged", function (users: V2NIMUser[]) {})
nim.userService.off("onBlockListAdded", function (user: V2NIMUser) {})
nim.userService.off("onBlockListRemoved", function (accountId: string) {})
返回值
无。
getUserList
接口描述
根据用户账号 ID 批量查询用户资料列表。
该方法根据用户账号 ID 先从客户端本地获取用户资料数据,若本地数据缺失或不足,再查询服务端中的用户资料数据。
- 单次最多查询 150 个用户资料。
- 若传入的账号 ID 都不存在,则调用接口失败。若部分账号 ID 存在,则调用接口成功。调用结果只返回账号 ID 存在的用户资料,错误的账号 ID 不返回。
参数说明
Javavoid getUserList(List<String> accountIds, V2NIMSuccessCallback<List<V2NIMUser>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
List<String> | 是 | 需要查询用户资料的账号 ID 列表。 |
success |
V2NIMSuccessCallback |
是 | 获取用户资料成功回调,返回 V2NIMUser 用户资料列表。 |
failure |
V2NIMFailureCallback |
是 | 获取用户资料失败回调,返回 错误码。 |
Objective-C- (void)getUserList:(NSArray<NSString *> *)accountIds
success:(nullable V2NIMGetUserListSuccess)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
NSArray<NSString *> | 是 | 需要查询用户资料的账号 ID 列表。 |
success |
V2NIMGetUserListSuccess |
是 | 获取用户资料成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 获取用户资料失败回调,返回 错误码。 |
C++virtual void getUserList(nstd::vector<nstd::string> accountIds,
V2NIMSuccessCallback<nstd::vector<V2NIMUser>> success,
V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
nstd::vector<nstd::string> | 是 | 需要查询用户资料的账号 ID 列表。 |
success |
V2NIMSuccessCallback |
是 | 获取用户资料成功回调,返回 V2NIMUser 用户资料列表。 |
failure |
V2NIMFailureCallback |
是 | 获取用户资料失败回调,返回 错误码。 |
TypeScriptgetUserList(accountIds: string[]): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
string[] | 是 | 需要查询用户资料的账号 ID 列表。 |
TypeScriptgetUserList(accountIds): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
string[] | 是 | 需要查询用户资料的账号 ID 列表。 |
TypeScriptgetUserList(accountIds: string[]): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
string[] | 是 | 需要查询用户资料的账号 ID 列表。 |
示例代码
JavaNIMClient.getService(V2NIMUserService.class).getUserList(accountIds,
new V2NIMSuccessCallback<List<V2NIMUser>>() {
@Override
public void onSuccess(List<V2NIMUser> v2NIMUsers) {
// TODO: Implement onSuccess logic
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
// TODO: Implement onFailure logic
}
});
Objective-C[[[NIMSDK sharedSDK] v2UserService] getUserList:@[@"accountId1",@"accountId2"] success:^(NSArray<V2NIMUser *> * _Nonnull result) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++nstd::vector<nstd::string> accountIds = {"test1", "test2"};
userService.getUserList(
accountIds,
[](nstd::vector<V2NIMUser> users) {
for (auto&& user : users) {
// do something
}
},
[](V2NIMError error) {
// get user list failed, handle error
});
TypeScriptconst userProfiles = await nim.V2NIMUserService.getUserList(['accid1', 'accid2'])
TypeScriptconst users = await v2.userService.getUserList(accountIds)
TypeScriptconst userProfiles = await nim.userService.getUserList(['accid1', 'accid2'])
返回值
无返回值。
Promise<V2NIMUser[]>:查询到的用户资料列表。
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调,包含V2NIMUser
用户资料列表。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
- 请求成功,返回
V2NIMGetUserListSuccess
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
无。
updateSelfUserProfile
接口描述
更新自己的用户资料。
更新用户资料成功后,SDK 会返回用户资料变更回调 onUserProfileChanged
。
更新前请确保该用户资料已存在。
参数说明
Javavoid updateSelfUserProfile(V2NIMUserUpdateParams updateParams, V2NIMSuccessCallback<List<Void>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
updateParams |
V2NIMUserUpdateParams |
是 | 用户资料更新参数,包括用户昵称、头像、签名、邮箱、性别、生日、手机号以及扩展信息。 |
success |
V2NIMSuccessCallback |
是 | 更新用户资料成功回调。 |
failure |
V2NIMFailureCallback |
是 | 更新用户资料失败回调,返回 错误码。 |
Objective-C- (void)updateSelfUserProfile:(V2NIMUserUpdateParams *)updateParams
success:(nullable V2NIMSuccessCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
updateParams |
V2NIMUserUpdateParams |
是 | 用户资料更新参数,包括用户昵称、头像、签名、邮箱、性别、生日、手机号以及扩展信息。 |
success |
V2NIMSuccessCallback |
是 | 更新用户资料成功回调。 |
failure |
V2NIMFailureCallback |
是 | 更新用户资料失败回调,返回 错误码。 |
C++virtual void updateSelfUserProfile(V2NIMUserUpdateParams updateParams, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
updateParams |
V2NIMUserUpdateParams |
是 | 用户资料更新参数,包括用户昵称、头像、签名、邮箱、性别、生日、手机号以及扩展信息。 |
success |
V2NIMSuccessCallback |
是 | 更新用户资料成功回调。 |
failure |
V2NIMFailureCallback |
是 | 更新用户资料失败回调,返回 错误码。 |
TypeScriptupdateSelfUserProfile(updateParams: V2NIMUserUpdateParams): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
updateParams |
V2NIMUserUpdateParams |
是 | 用户资料更新参数,包括用户昵称、头像、签名、邮箱、性别、生日、手机号以及扩展信息。 |
TypeScriptupdateSelfUserProfile(updateParams): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
updateParams |
V2NIMUserUpdateParams |
是 | 用户资料更新参数,包括用户昵称、头像、签名、邮箱、性别、生日、手机号以及扩展信息。 |
TypeScriptupdateSelfUserProfile(updateParams: V2NIMUserUpdateParams): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
updateParams |
V2NIMUserUpdateParams |
是 | 用户资料更新参数,包括用户昵称、头像、签名、邮箱、性别、生日、手机号以及扩展信息。 |
示例代码
JavaV2NIMUserUpdateParams updateParams = V2NIMUserUpdateParams.V2NIMUserUpdateParamsBuilder.builder()
.withAvatar(avatar)
.withBirthday(birthday)
.withEmail(email)
.withGender(gender)
.withMobile(mobile)
.withName(name)
.withServerExtension(serverExtension)
.withSign(sign)
.build();
NIMClient.getService(V2NIMUserService.class).updateSelfUserProfile(updateParams,
new V2NIMSuccessCallback<List<Void>>() {
@Override
public void onSuccess(List<Void> voids) {
// 处理成功回调
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
// 处理失败回调
}
});
Objective-C[[[NIMSDK sharedSDK] v2UserService] updateSelfUserProfile:userService success:^{
//成功回调
} failure:^(V2NIMError * _Nonnull error) {
//失败回调
}];
C++V2NIMUserUpdateParams updateParams;
updateParams.name = "name";
userService.updateSelfUserProfile(
updateParams,
[]() {
// update success
},
[](V2NIMError error) {
// update failed, handle error
});
TypeScriptnim.V2NIMUserService.updateSelfUserProfile({
name: 'ab',
});
TypeScriptawait v2.userService.updateSelfUserProfile(updateParams)
name: 'ab',
});
TypeScriptnim.userService.updateSelfUserProfile({
name: 'ab'
})
返回值
无返回值。
Promise<void>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。更新成功,返回onUserProfileChanged
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
更新成功,返回 onUserProfileChanged
回调。
更新成功,返回 userProfileChanged
回调。
addUserToBlockList
接口描述
添加指定用户进黑名单。
添加成功后,SDK 会返回用户黑名单增加回调 onBlockListAdded
。
参数说明
Javavoid addUserToBlockList(String accountId, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
String | 是 | 需要添加进黑名单的用户账号 ID。 |
success |
V2NIMSuccessCallback |
是 | 添加成功回调。 |
failure |
V2NIMFailureCallback |
是 | 添加失败回调,返回 错误码。 |
Objective-C- (void)addUserToBlockList:(NSString *)accountId
success:(nullable V2NIMSuccessCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
NSString * | 是 | 需要添加进黑名单的用户账号 ID。 |
success |
V2NIMSuccessCallback |
是 | 添加成功回调。 |
failure |
V2NIMFailureCallback |
是 | 添加失败回调,返回 错误码。 |
C++virtual void addUserToBlockList(nstd::string accountId, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
nstd::string | 是 | 需要添加进黑名单的用户账号 ID。 |
success |
V2NIMSuccessCallback |
是 | 添加成功回调。 |
failure |
V2NIMFailureCallback |
是 | 添加失败回调,返回 错误码。 |
TypeScriptaddUserToBlockList(accountId: string): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 需要添加进黑名单的用户账号 ID。 |
TypeScriptaddUserToBlockList(accountId): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 需要添加进黑名单的用户账号 ID。 |
TypeScriptaddUserToBlockList(accountId: string): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 需要添加进黑名单的用户账号 ID。 |
示例代码
JavaNIMClient.getService(V2NIMUserService.class).addUserToBlockList(accountId,
new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2UserService] addUserToBlockList:@"accountId" success:^{
} failure:^(V2NIMError * _Nonnull error) {
}];
C++userService.addUserToBlockList(
"account1",
[]() {
// add user to blocklist success
},
[](V2NIMError error) {
// add user to blocklist failed, handle error
}
);
TypeScriptnim.V2NIMUserService.addUserToBlockList('accid');
TypeScriptawait v2.userService.addUserToBlockList(accountId)
TypeScriptnim.userService.addUserToBlockList('accid')
返回值
无返回值。
Promise<void>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
无。
removeUserFromBlockList
接口描述
将指定用户移出黑名单。
参数说明
Javavoid removeUserFromBlockList(String accountId, V2NIMSuccessCallback<Void> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
String | 是 | 需要移出黑名单的用户账号 ID。 |
success |
V2NIMSuccessCallback |
是 | 移除成功回调。 |
failure |
V2NIMFailureCallback |
是 | 移除失败回调,返回 错误码。 |
Objective-C- (void)removeUserFromBlockList:(NSString *)accountId
success:(nullable V2NIMSuccessCallback)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
NSString * | 是 | 需要移出黑名单的用户账号 ID。 |
success |
V2NIMSuccessCallback |
是 | 移除成功回调。 |
failure |
V2NIMFailureCallback |
是 | 移除失败回调,返回 错误码。 |
C++virtual void removeUserFromBlockList(nstd::string accountId, V2NIMSuccessCallback<void> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
nstd::string | 是 | 需要移出黑名单的用户账号 ID。 |
success |
V2NIMSuccessCallback |
是 | 移除成功回调。 |
failure |
V2NIMFailureCallback |
是 | 移除失败回调,返回 错误码。 |
TypeScriptremoveUserFromBlockList(accountId: string): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 需要移出黑名单的用户账号 ID。 |
TypeScriptremoveUserFromBlockList(accountId): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 需要移出黑名单的用户账号 ID。 |
TypeScriptremoveUserFromBlockList(accountId: string): Promise<void>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountId |
string | 是 | 需要移出黑名单的用户账号 ID。 |
示例代码
JavaNIMClient.getService(V2NIMUserService.class).removeUserFromBlockList(accountId, new V2NIMSuccessCallback<Void>() {
@Override
public void onSuccess(Void unused) {
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
});
Objective-C[[[NIMSDK sharedSDK] v2UserService] removeUserFromBlockList:@"accountId" success:^{
} failure:^(V2NIMError * _Nonnull error) {
}];
C++userService.removeUserFromBlockList(
"account1",
[]() {
// remove user from blocklist success
},
[](V2NIMError error) {
// remove user from blocklist failed, handle error
});
TypeScriptnim.V2NIMUserService.removeUserFromBlockList('accid');
TypeScriptawait v2.userService.removeUserFromBlockList(accountId)
TypeScriptnim.userService.removeUserFromBlockList('accid')
返回值
无返回值。
Promise<void>
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
无。
getBlockList
接口描述
获取黑名单用户列表。
参数说明
Javavoid getBlockList(V2NIMSuccessCallback<List<String>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
success |
V2NIMSuccessCallback |
是 | 获取黑名单成功回调,返回黑名单中的用户账号 ID 列表。 |
failure |
V2NIMFailureCallback |
是 | 获取黑名单失败回调,返回 错误码。 |
Objective-C- (void)getBlockList:(nullable V2NIMGetBlockListSuccess)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
success |
V2NIMGetBlockListSuccess |
是 | 获取黑名单成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 获取黑名单失败回调,返回 错误码。 |
C++virtual void getBlockList(V2NIMSuccessCallback<nstd::vector<nstd::string>> success, V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
success |
V2NIMSuccessCallback |
是 | 获取黑名单成功回调,返回黑名单中的用户账号 ID 列表。 |
failure |
V2NIMFailureCallback |
是 | 获取黑名单失败回调,返回 错误码。 |
TypeScriptgetBlockList(): Promise<string[]>
TypeScriptgetBlockList(): Promise<string[]>
TypeScriptgetBlockList(): Promise<string[]>
示例代码
JavaNIMClient.getService(V2NIMUserService.class).getBlockList(
new V2NIMSuccessCallback<List<String>>() {
@Override
public void onSuccess(List<String> strings) {
}
},
new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
}
);
Objective-C[[[NIMSDK sharedSDK] v2UserService] getBlockList:^(NSArray<NSString *> * _Nonnull result) {
} failure:^(V2NIMError * _Nonnull error) {
}];
C++userService.getBlockList(
[](std::vector<std::string> accountIds) {
for (auto&& accountId : accountIds) {
// do something
}
},
[](V2NIMError error) {
// get blocklist failed, handle error
});
TypeScriptconst blockList = await nim.V2NIMUserService.getBlockList()
TypeScriptconst blockList = await v2.userService.getBlockList()
TypeScriptconst blockList = await nim.userService.getBlockList()
返回值
无返回值。
Promise<string[]>:查询到的黑名单用户账号 ID 列表。
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调,包含黑名单用户账号 ID 列表。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
- 请求成功,返回
V2NIMGetBlockListSuccess
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料知相关错误码。
无。
searchUserByOption
接口描述
根据关键字信息搜索用户信息。
参数说明
Javavoid searchUserByOption(V2NIMUserSearchOption userSearchOption, V2NIMSuccessCallback<List<V2NIMUser>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
userSearchOption |
V2NIMUserSearchOption |
是 | 用户搜索的相关配置参数。 |
success |
V2NIMSuccessCallback |
是 | 搜索成功回调,返回 V2NIMUser 列表。 |
failure |
V2NIMFailureCallback |
是 | 搜索失败回调,返回 错误码。 |
Objective-C- (void)searchUserByOption:(V2NIMUserSearchOption *)userSearchOption
success:(nullable V2NIMGetUserListSuccess)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
userSearchOption |
V2NIMUserSearchOption |
是 | 用户搜索的相关配置参数。 |
success |
V2NIMGetUserListSuccess |
是 | 搜索成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 搜索失败回调,返回 错误码。 |
C++virtual void searchUserByOption(const V2NIMUserSearchOption& option,V2NIMSuccessCallback<nstd::vector<V2NIMUser>> success,V2NIMFailureCallback failure) = 0;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
option |
V2NIMUserSearchOption |
是 | 用户搜索的相关配置参数。 |
success |
V2NIMSuccessCallback |
是 | 搜索成功回调,返回 V2NIMUser 列表。 |
failure |
V2NIMFailureCallback |
是 | 搜索失败回调,返回 错误码。 |
TypeScriptsearchUserByOption(option: V2NIMUserSearchOption): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
userSearchOption |
V2NIMUserSearchOption |
是 | 用户搜索的相关配置参数。 |
TypeScriptsearchUserByOption(option): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
userSearchOption |
V2NIMUserSearchOption |
是 | 用户搜索的相关配置参数。 |
示例代码
JavaV2NIMUserSearchOption option = V2NIMUserSearchOption.V2NIMUserSearchOptionBuilder.builder("搜索关键字")
// 按需配置
// .withSearchAccountId()
// .withSearchMobile()
// .withSearchName()
.build();
NIMClient.getService(V2NIMUserService.class).searchUserByOption(option,
new V2NIMSuccessCallback<List<V2NIMUser>>() {
@Override
public void onSuccess(List<V2NIMUser> v2NIMUsers) {
}
}, new V2NIMFailureCallback() {
@Override
public void onFailure(V2NIMError error) {
}
});
Objective-CV2NIMUserSearchOption *option = [V2NIMUserSearchOption optionWithKeyword:@"keyword"];
// 按需配置
option.searchName = YES;
option.searchAccountId = YES;
option.searchMobile = YES;
[NIMSDK.sharedSDK.v2UserService searchUserByOption:option
success:^(NSArray <V2NIMUser *> *result)
{
}
failure:^(V2NIMError *error)
{
}];
C++V2NIMUserSearchOption option;
option.keyword = "test";
userService.searchUserByOption(
option,
[](nstd::vector<V2NIMUser> users) {
for (auto&& user : users) {
// do something
}
},
[](V2NIMError error) {
// search user failed, handle error
});
TypeScripttry {
const users = await nim.V2NIMUserService.searchUserByOption({
keyword: 'nick',
searchName: true,
searchAccountId: false,
searchMobile: true
})
} catch(err) {
console.error('searchUserByOption Error:', err)
}
TypeScripttry {
const users = await v2.userService.searchUserByOption({
keyword: 'Alice',
searchName: true
})
} catch(err) {
console.error('searchUserByOption Error:', err)
}
返回值
无返回值。
Promise<V2NIMUser
[]>:查询到的用户信息列表。
Promise<V2NIMUser
[]>:查询到的用户信息列表。
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调,包含V2NIMUser
列表。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户信息相关错误码。
- 请求成功,,返回
V2NIMGetUserListSuccess
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户信息相关错误码。
无。
:::
getUserListFromCloud
接口描述
根据用户账号列表从服务器获取用户信息。
查询用户信息一般建议使用 getUserList 接口,只有需要强制拉取最新用户信息才需要调用 getUserListFromCloud
接口。
参数说明
Javavoid getUserListFromCloud(List<String> accountIds, V2NIMSuccessCallback<List<V2NIMUser>> success, V2NIMFailureCallback failure);
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
List<String> | 是 | 需要获取用户信息的账号列表,单次最多查询 150 个用户信息。若为空或 size==0,则返回参数错误。 |
success |
V2NIMSuccessCallback |
是 | 获取用户信息成功回调,返回用户信息列表。 |
failure |
V2NIMFailureCallback |
是 | 获取用户信息失败回调,返回 错误码。 |
Objective-C- (void)getUserListFromCloud:(NSArray<NSString *> *)accountIds
success:(nullable V2NIMGetUserListSuccess)success
failure:(nullable V2NIMFailureCallback)failure;
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
NSArray<NSString *> * | 是 | 需要获取用户信息的账号列表,单次最多查询 150 个用户信息。若为空或 size==0,则返回参数错误。 |
success |
V2NIMGetUserListSuccess |
是 | 获取用户信息成功回调,可自定义设置。 |
failure |
V2NIMFailureCallback |
是 | 获取用户信息失败回调,返回 错误码。 |
C++virtual void v2::V2NIMUserService::getUserListFromCloud (nstd::vector< nstd::string > accountIds,
V2NIMSuccessCallback< nstd::vector< V2NIMUser > > success,
V2NIMFailureCallback failure )
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
nstd::vector< nstd::string > | 是 | 需要获取用户信息的账号列表,单次最多查询 150 个用户信息。若为空或 size==0,则返回参数错误。 |
success |
V2NIMSuccessCallback |
是 | 获取用户信息成功回调,返回用户信息列表。 |
failure |
V2NIMFailureCallback |
是 | 获取用户信息失败回调,返回 错误码。 |
TypeScriptgetUserListFromCloud(accountIds: string[]): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
string[] | 是 | 需要获取用户信息的账号列表,单次最多查询 150 个用户信息。 |
TypeScriptgetUserListFromCloud(accountIds): Promise<V2NIMUser[]>
参数名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
accountIds |
string[] | 是 | 需要获取用户信息的账号列表,单次最多查询 150 个用户信息。 |
TypeScript
示例代码
JavaList<String> accountIds = new ArrayList<>();
accountIds.add("test01");
accountIds.add("test02");
NIMClient.getService(V2NIMUserService.class).getUserListFromCloud(accountIds, users -> {
//Query successful
}, error -> {
//Query failed
});
Objective-C[NIMSDK.sharedSDK.v2UserService getUserListFromCloud:@[@"accounId1",@"accountId2"] success:^(NSArray<V2NIMUser *> * _Nonnull result) {
// 成功回调
} failure:^(V2NIMError * _Nonnull error) {
// 失败回调
}];
C++nstd::vector<nstd::string> accountIds = {"test1", "test2"};
userService.getUserListFromCloud(
accountIds,
[](nstd::vector<V2NIMUser> usersList) {
for (auto&& user : usersList) {
// do something
}
},
[](V2NIMError error) {
// get UserListFromCloud failed, handle error
});
TypeScriptconst users = await nim.V2NIMUserService.getUserListFromCloud(["AccountID1", "AccountID2"])
TypeScriptconst users = await v2.userService.getUserListFromCloud(accountIds)
返回值
无返回值。
Promise<V2NIMUser[]>:查询到的用户信息列表。
相关回调
- 请求成功,返回
V2NIMSuccessCallback
回调,包含用户信息列表。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料相关错误码。
- 请求成功,返回
V2NIMGetUserListSuccess
回调,可自定义设置。 - 请求失败,返回
V2NIMFailureCallback
回调,包含用户资料相关错误码。
无。