Manju Parihar
Manju Parihar

Reputation: 33

Want AdminDirectory.Users.list more then 500 records

In below code i want the user details to be shown more then 500 records. is that possible. Thanks for any help.

page = AdminDirectory.Users.list({
                domain : 'domain name',
                orderBy : 'givenName',
                maxResults: 500,
                pageToken : pageToken
            });

Upvotes: 0

Views: 1677

Answers (1)

carlesgg97
carlesgg97

Reputation: 4460

The endpoint does not return more than 500 results as a maximum per call. Instead, you should implement pagination in your code. In order to retrieve every single user in your domain, you can use the following code:

function getAllUsers() {
  var pageToken;
  var result = [];

  do {
    var page = AdminDirectory.Users.list({
                 domain : 'domain name',
                 orderBy : 'givenName',
                 maxResults: 500,
                 pageToken : pageToken
               });
    result = result.concat(page.users);
    pageToken = page.nextPageToken;
  } while (pageToken);

  return result;
}

The idea is that each request that is not complete (returns users, but there are still more users to retrieve) a pageToken is returned. For the next request, you can use the token to retrieve the users that have not been retrieved yet, and so on until the returned pageToken becomes null (no more users are left in the domain).

Upvotes: 1

Related Questions