【问题标题】:Pulling Google Apps directory of users on two domains into same spreadsheet将两个域上用户的 Google Apps 目录拉到同一个电子表格中
【发布时间】:2017-01-26 06:03:05
【问题描述】:

我们最近重新命名了品牌,其中包括更改了我们的域名。在同一个 Google Apps“帐户”上,我们现在有两个域,klht.org 和 kingschoolct.org,目前我们在这两个域上都有用户。

去年,在这个社区的帮助下,我创建了一个 Google Apps 脚本,它将我们所有 Google Apps 用户的目录写入电子表格。现在,该脚本需要更新,以便从 both 域中提取用户(否则,我们将只有部分人员)。

这是当前脚本:

function writeToSpreadsheet(){
  var values = [];
  var users = [];
  var userlist = {users:[]};
  var nextPageToken = '';
  var listObject = {
      domain:'klht.org',
      maxResults: 500,
    }

  do {

    if (nextPageToken !== '') {
      listObject.pageToken = nextPageToken;
    }  

    userlist = AdminDirectory.Users.list(listObject);

    nextPageToken = userlist.nextPageToken;

    users = users.concat(userlist.users);

  } while (nextPageToken);

  for (var i=0; i<users.length; i++){
    values.push([users[i].name.givenName, users[i].name.familyName, users[i].primaryEmail, users[i].orgUnitPath]);   
  }

  debugger;
  var spreadsheetID = '1JLDD2wm0_udmTn9ZHvdKhL_Ok3SvKYFqkBeiA1GdnYc';
  SpreadsheetApp.openById(spreadsheetID).getSheets()[0].getRange(2, 1, values.length, values[0].length).setValues(values);
}

我尝试只更新顶部以添加第二个域,就像这样......

var listObject = {
  domain:'klht.org',
  maxResults: 500,
  domain:'kingschoolct.org',
  maxResults: 500,
}

...但这只会从 kingschoolct.org 吸引用户。

知道如何让它从两个域中拉出用户吗?

谢谢!

【问题讨论】:

  • 需要修改,以便您可以使用域名等参数调用它两次,还可以使用代码从正确的起始行开始写入。基本上是一个纯 Javascript 问题,所以将该标签添加到问题中。

标签: javascript google-apps-script google-sheets google-admin-sdk


【解决方案1】:

我想出了解决方案,即使用“客户”参数而不是“域”。 (填写参数列表here)。 Here's how I found my account's customerID. 像魅力一样工作!

【讨论】:

    猜你喜欢
    • 2013-11-16
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多