javascript - 统计 Google Apps 域的用户总数

标签 javascript google-apps-script google-apps

嗨,我找到了 this example在记录器中打印出用户 givenname。我需要修改它以仅计算用户总数并将其存储在变量中。可以吗?

function listAllUsers() {
  var pageToken, page;
  do {
    page = AdminDirectory.Users.list({
      domain: 'example.com',
      orderBy: 'givenName',
      maxResults: 100,
      pageToken: pageToken
    });
    var users = page.users;
    if (users) {
      for (var i = 0; i < users.length; i++) {
        var user = users[i];
        Logger.log('%s (%s)', user.name.fullName, user.primaryEmail);
      }
    } else {
      Logger.log('No users found.');
    }
    pageToken = page.nextPageToken;
  } while (pageToken);
}

最佳答案

您只需汇总每次 api 调用返回的所有用户数。 这是您修改代码的样子。

在运行此代码之前,您需要启用Resources > Advance Google Services... 中可用的 Admin Directory API 和 Google Developer Console 中的 Admin SDK API。 Here更详细地介绍了如何启用它。

在 Google Apps 脚本编辑器中运行此函数后,检查View > Logs。 此代码只能由在您的 Google Apps 帐户中拥有 super 管理员权限的用户运行。

function getAppsUsersCount() {
  var numUsers = 0;
  var pageToken, page;
  do {
    page = AdminDirectory.Users.list({
      customer : 'my_customer',
      maxResults: 500,
      fields : 'nextPageToken,users/id',
      pageToken: pageToken
    });
    var users = page.users;
    if(users){      
      numUsers += users.length;
    }
    pageToken = page.nextPageToken;
  } while (pageToken);
  Logger.log(numUsers);
  return numUsers;
}

关于javascript - 统计 Google Apps 域的用户总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977229/

相关文章:

javascript - JavaScript for 循环

javascript - 为什么 `+[[]] + [[]]` 返回一个字符串?

javascript - 使用谷歌脚本自动将 CSV 输出到谷歌表格

javascript - jQuery.param() 的纯 Javascript 等价物

python - 使用 google 实现 SSO + OAuth

google-apps-script - 如何将 Google Drive 文件夹添加到 "My Drive"部分给其他用户

javascript - 在共享 Axis 图表中是否可以将 Axis 与系列一起隐藏?

javascript - 如何在 html 标记中创建循环以显示数据库中的所有 JSON 子字段?

javascript - 从 Google 表格中删除所有未使用的行和列

google-apps-script - 访问带有GID的工作表