浏览 SDKs · Flutter
平台
SDKsFlutter

获取指定用户资料

按 userID 批量查询应用用户公开资料(PublicUserInfo)。

复制

按 userID 批量查询应用用户的公开资料,适合展示好友候选人和陌生人资料卡:

按昵称、手机号、组织或邮箱等业务字段检索用户时,可以先由业务后端返回候选 userID 列表,再调用本接口查询公开基础资料。

参数说明

参数类型是否必填说明
userIDListList<String>是待查询公开资料的目标用户 ID 列表。建议在调用前去重并控制单次查询数量。
final userIDList = {'user_a', 'user_b'}.toList();

try {
  final users = await OpenIM.iMManager.userManager.getUsersInfo(
    userIDList: userIDList,
  );
  final usersByID = {
    for (final user in users)
      if (user.userID != null) user.userID!: user,
  };
  showUsers(usersByID);
} catch (error) {
  logUserQueryFailure(error, userIDList);
  rethrow;
}

返回结果

Future 成功后返回公开用户信息列表(List<PublicUserInfo>):

字段类型说明
userIDStringOpenIMSDK 用户唯一 ID。
nicknameString?账号级公开昵称。
faceURLString?账号级公开头像地址。
exString?账号级扩展字符串,格式由业务约定。

这里返回的 ex 仅用于读取其他账号的公开扩展资料。Flutter 客户端不能通过此接口修改其他账号的资料;当前登录用户自己的扩展字段修改请参考更新当前用户资料。

该查询为本地只读操作,不会触发用户相关的事件监听。打开资料卡、用户主动刷新、断线重连或业务通知资料变更时,可重新调用此接口拉取最新资料。

按场景选择展示数据

同一个 userID 在不同场景中可能对应不同的展示名称和关系数据,应按当前界面合理选择数据模型:

场景优先使用
应用用户搜索、陌生人资料卡PublicUserInfo
好友列表、联系人页、好友备注FriendInfo
群成员列表、群内昵称、群角色GroupMembersInfo

好友备注名和群内专属昵称分别来自好友关系与群成员资料,不应使用 PublicUserInfo.nickname 盲目覆盖。相关读取与维护方式请参考分页获取好友列表、查询指定好友资料和群成员查询概览。