Want AdminDirectory.Users.list超过500条记录

问题描述 投票:0回答:1

在下面的代码中,我希望向用户显示更多详细信息,然后显示500条记录。那可能吗。感谢您的帮助。

page = AdminDirectory.Users.list({
                domain : 'domain name',
                orderBy : 'givenName',
                maxResults: 500,
                pageToken : pageToken
            });
google-apps-script google-admin-sdk
1个回答
0
投票

端点确实not每次调用最多返回500个以上的结果。相反,您应该在代码中实现分页。为了检索您域中的每个用户,您可以使用以下代码:

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;
}

想法是,每个未完成的请求(返回用户,但仍有更多用户要检索)都返回pageToken。对于下一个请求,您可以使用令牌来检索尚未检索的用户,依此类推,直到返回的pageToken变为null(域中不再剩余用户)。

© www.soinside.com 2019 - 2024. All rights reserved.