Browse SDKs · HarmonyOS
Platform
SDKsHarmonyOSEnterprise

Retrieve user profiles

Batch query public account profiles for a list of user IDs.

Copy

Batch querying user profiles is ideal for stranger profile cards, contact recommendations, or message sender headers. This method queries explicitly by userID; if you need to search users by phone number, nickname, organization, or email, perform that lookup on your business backend to obtain candidate userID lists first:

Code example

import sdk, { GetUsersInfoReq, GetUsersInfoResp } from '@openimsdk/imsdk';

const request: GetUsersInfoReq = {
  userIDs: ['user_a', 'user_b'],
};
const response: GetUsersInfoResp = await sdk.getUsersInfo(request);

for (let index = 0; index < response.users.length; index += 1) {
  const user = response.users[index];
  usersByID.set(user.userID, user);
}

Parameters

ParameterTypeRequiredDescription
userIDsstring[]YesList of user IDs to retrieve. Deduplicate and remove empty values before calling.

Return value

Returns a Promise that resolves to a GetUsersInfoResp object containing users: IMUser[]:

PropertyTypeDescription
userIDstringUnique user identifier.
nicknamestringPublic account-level nickname.
faceURLstringAvatar URL.
exstringCustom metadata extension string.
createTimenumberAccount creation timestamp in Unix milliseconds.
globalRecvMsgOptGlobalRecvMsgOptAccount message reception preference.
attachedstringAdditional engine metadata.
addFriendPermissionAddFriendPermissionFriend request verification policy.

State changes after the call

The returned array may not match the order of input IDs; map records by userID. When rendering user profiles, maintain separate fields for account nickname, friend remark, group member nickname, and conversation display name rather than overriding one with another. This query does not trigger events; re-query when updated snapshots are required.