【发布时间】:2016-03-28 21:09:50
【问题描述】:
在对this post 的有用回复中,我了解到我可以一次从我的域目录中提取最多 500 个用户结果。现在我正在尝试让脚本继续运行并拉取 500 个批次,直到它从域(或者,在本例中为 OU)拉取所有用户并将它们全部添加到同一个电子表格中。
现在我的代码如下所示:
function writeToSpreadsheet(){
var values = [];
var users = AdminDirectory.Users.list({
domain:'klht.org',
maxResults: 500,
query: "orgUnitPath=/CleverTeachers/King"
}).users;
for (var i=0; i<users.length; i++){
values.push([users[i].name.fullName, users[i].primaryEmail]);
}
var spreadsheetID = '1JLDD2wm0_udmTn9ZHvdKhL_Ok3SvKYFqkBeiA1GdnYc';
SpreadsheetApp.openById(spreadsheetID).getSheets()[0].getRange(1, 1, values.length, values[0].length).setValues(values);
}
我上一篇文章的评论者指出“返回的对象的一部分将是'nextPageToken',您可以将其添加到后续查询或查询中,直到您拥有所有用户。”他包括了以下sn-p:
var usersPage2 = AdminDirectory.Users.list({
domain: 'klht.org',
maxResults: 500,
query: "orgUnitPath=/OU",
pageToken: nextPageToken
}).users;
我发现只需将其附加到上面的代码下方就会引发“ReferenceError:“nextPageToken”未定义。(第 13 行,文件“代码”)”。现在我又被困住了。你能帮我完成这项工作吗?
【问题讨论】:
标签: javascript google-apps-script google-admin-sdk