I would like to get a list of members in a Google group using Admin SDK.
But im not getting how to do this. I found below link - https://developers.google.com/admin-
Please follow the steps,
=== At Apps script editor paste following code.
var onSheet = SpreadsheetApp.getActiveSpreadsheet();
var groupKey = "googlegroupid@domainName.com"
function MainGetUserList()
{
var rows = [];
var pageToken, page;
do {
page = AdminDirectory.Members.list(groupKey,
{
domainName: 'YOURDOMAINNAME.@com',
maxResults: 500,
pageToken: pageToken,
});
var members = page.members
if (members)
{
for (var i = 0; i < members.length; i++)
{
var member = members[i];
var row = [groupKey, member.email, member.role, member.status];
rows.push(row);
}
}
pageToken = page.nextPageToken;
} while (pageToken);
if (rows.length > 1)
{
var sheetData = onSheet.getSheetByName("Sheet1")
var header = ['Group Name', 'User Id', 'User role', 'User Status'];
sheetData.clear()
sheetData.appendRow(header).setFrozenRows(1);
sheetData.getRange(2, 1, rows.length, header.length).setValues(rows);
}
}
==> Run MainGetUserList() function allow the permission, open you Google Sheet refresh it.
Done.
I have tested this 20k members. Thanks
Try to use Members:list to retrive list of all members in a group.
HTTP request
GET https://www.googleapis.com/admin/directory/v1/groups/groupKey/members
Every request your application sends to the Directory API must include an authorization token. The token also identifies your application to Google. Your application must use OAuth 2.0 to authorize requests.
HTTP response:
{
"kind": "admin#directory#members",
"etag": etag,
"members": [
members Resource
],
"nextPageToken": string
}