Browse SDKs · Android
Platform
SDKsAndroid

Get group members

Use getGroupMemberList to retrieve group members by role and page.

Copy

Retrieve a paginated list of members for a specified group. You can filter members by role (all members, regular members, group owner, or group administrators), making this suitable for member rosters, permission management, and @ mention pickers.

Code example

String groupID = "group_123";
int filter = 0; // 0: retrieve all members
int offset = 0;
int count = 50;

OpenIMClient.getInstance().groupManager.getGroupMemberList(
    new OnBase<List<GroupMembersInfo>>() {
        @Override
        public void onSuccess(List<GroupMembersInfo> members) {
            // members contains the list of group members for the current page
        }

        @Override
        public void onError(int code, String error) {
            // Failed to retrieve group members
        }
    },
    groupID,
    filter,
    offset,
    count
);

Role filter values

The filter parameter filters group members based on their assigned role:

ValueDescription
0All group members.
1Regular group members only.
2Group owner only.
3Group administrators only.

Parameters

ParameterTypeRequiredDescription
baseOnBase<List<GroupMembersInfo>>YesCallback handler for the asynchronous request.
groupIDStringYesGlobally unique ID of the target group.
filterintYesRole filter flag (0: all, 1: regular members, 2: owner, 3: administrators).
offsetintYesStarting offset for pagination, starting from 0.
countintYesMaximum number of member records to retrieve in this batch.

Return value

Upon success, onSuccess returns a list of group member objects (List<GroupMembersInfo>). Key fields of each member include:

FieldDescription
groupIDGroup ID.
userIDUser ID of the member.
nicknameDisplay name of the member within the group.
faceURLProfile avatar URL of the member.
roleLevelRole level: 20 for regular members, 60 for administrators, and 100 for the group owner.
joinTimeTimestamp in milliseconds when the member joined the group.
muteEndTimeTimestamp in milliseconds when the mute expires (0 indicates not muted).

State changes after the call

  1. Snapshot retrieval: This is a read-only query that fetches a point-in-time member list snapshot and does not mutate group state or trigger membership events.
  2. Cache maintenance: Clients should cache and deduplicate members using groupID:userID as the composite key.
  3. Incremental sync: Subsequent membership changes are dispatched asynchronously via events such as onGroupMemberAdded, onGroupMemberDeleted, and onGroupMemberInfoChanged. For complete event handling, see Group overview.