获取用户信息
通过 userId 批量获取用户
接口定义
kotlin
/**
* 通过 `userId` 批量获取用户信息。
* @param userIds: 用户Id数组,数组数量不得超过100。该用户Id为SDK内部使用的用户Id。
* @param onCompletion users: 用户信息数组。error: 错误信息,失败时有值。
*/
fun getUsers(userIds: Array<String>, callback: KIMResultCallback1<Array<KIMUser>>)
1
2
3
4
5
6
2
3
4
5
6
参数说明
参数 | 类型 | 说明 |
---|---|---|
userIds | [String] | 用户Id数组,数组数量不得超过100。该用户Id为SDK内部使用的用户Id。 |
completion | (users: Array<KIMUser>, error: KIMError) -> Unit) | 获取结果回调。 users: 用户信息数组。 KIMError: 错误信息,失败时有值。 |
KIMUser
说明:
属性 | 类型 | 说明 |
---|---|---|
userId | String | SDK内部使用的用户Id。 |
thirdUnionId | String? | 第三方UnionId,SDK内部用户Id与第三方用户Id的映射值,用于第三方已经同步账号信息到WPS账号系统的场景,账号信息未同步时为空。 |
name | String? | 用户名称。 |
代码示例
kotlin
KIM.userModule.getUsers(userIds) { users: Array<KIMUser>,object : KIMResultCallback1<Array<KIMUser>> {
override fun onSuccess(data: Array<KIMUser>) {
}
override fun onFailed(error: KIMError) {
}
}}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
通过 thirdUninId 批量获取用户
接口定义
kotlin
/**
* 通过 `thirdUninId` 批量获取用户信息。
* @param thirdUninIds 第三方UninId数组,数组数量最大不超过100。`thirdUninId` 为第三方在进行账号同步时,
* 同步给WPS开放平台的账号信息中标记用户的Id值,该值作为SDK账号与第三方账号的一个映射。
* @param completion users 用户信息数组 error: 错误信息,失败时有值
*
* 调用该方法传入 `thirdUninId` 数组批量获取用户信息,最大获取数量为100。返回的信息中包含SDK内部使用的
* `userId`,可用于实现第三方账号Id转换成SDK内部账号Id的场景。
* 使用该方法之前需要先完成账号同步操作,完成账号同步操作后才会有 `thirdUninId`。
*/
fun getUsersByThirdIds(
thirdUninIds: Array<String>,
onCompletion: ((users: Array<KIMUser>?, error: KIMError) -> Unit)
) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
参数说明
参数 | 类型 | 说明 |
---|---|---|
thirdUninIds | [String] | 第三方UninId数组,数组数量最大不超过100。thirdUninId 为第三方在进行账号同步时,同步给WPS开放平台的账号信息中标记用户的Id值,该值作为SDK账号与第三方账号的一个影射。 |
completion | (_ users: [KIMUser], _ error: KIMError?) -> Void | 获取结果回调。 users: 用户信息数组。 error: 错误信息,失败时有值。 |
代码示例
kotlin
KIM.userModule.getUsersByThirdIds(thirdUninIds, (kimUsers, kimError) -> {
if(kimError.getCode() == KUserModule.DEFAULT_NORMAL){
// 获取用户成功
} else {
// 获取用户失败
}
return null;
});
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
获取指定用户详情
接口定义
kotlin
/**
* 获取指定用户信息
* @param userId SDK内部使用的用户Id。
* @return 可监听变化的用户信息。
* 调用该方法获取群成员信息,由于群成员信息可能异步返回或相关属性会产生变化,需要通过 `KIMUserInfo` 进行包装,
* 你可以通过 `LiveData`提供的`observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer)`
* 添加信息改变监听闭包,当信息发生改变时会调用闭包返回 `KIMUserInfo`。
*
* 注意:该方法所用到的 `userId` 为SDK内部使用的用户Id。如果开发者只知道自身的账号体系下的用户Id,
*/
fun getUserInfo(userId: String): LiveData<KIMUserInfo> {
return KIMUserInfoManager.instance.getUserInfo(userId)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
参数说明
参数 | 类型 | 说明 |
---|---|---|
userId | [String] | SDK内部使用的用户Id。 |
返回说明
类型 | 说明 |
---|---|
LiveData<KIMUserInfo> | 可监听变化的用户信息。由于用户信息可能异步返回或相关属性会产生变化,用户可以通过subscribe来监听用户信息的变化 |
KIMUserInfo
说明:
属性 | 类型 | 说明 |
---|---|---|
uid | String | SDK内部使用的用户Id。 |
name | String | 用户名称。 |
avatar | String | 用户头像。 |
workingStatus | KIMUserWorkingStatus | 工作状态。 |
代码示例
kotlin
val userInfo = userModule.getUserInfo(userId)
userInfo.observe(lifecycleOwner) { kimUserInfo ->
val name = kimUserInfo.name
}
1
2
3
4
2
3
4