我从here借用了代码,将我的Google域中的目录数据下载到电子表格中。我在代码中所做的全部改变是用OpenByID替换OpenByURL,因为参数无效错误。现在它可以工作,除了它只返回我的域中的前100个用户。我总共有大约1000个用户,也许还有一些。我可以全部拉出来吗?如果没有,我可以至少将限额提高到100以上吗?和/或如何将查询限制在特定的组织单位?
我的完整代码如下:
function writeToSpreadsheet(){
var values = [];
var users = AdminDirectory.Users.list({domain:'klht.org'}).users; //example: ignitesynergy.com
for (var i=0; i<users.length; i++){
values.push([users[i].name.fullName, users[i].primaryEmail]); //Look in the docs or use auto complete to see what you can access
}
var spreadsheetID = '1JLDD2wm0_udmTn9ZHvdKhL_Ok3SvKYFqkBeiA1GdnYc';
SpreadsheetApp.openById(spreadsheetID).getSheets()[0].getRange(1, 1, values.length, values[0].length).setValues(values);
}
//Red indicates the places you need to use your info
答案 0 :(得分:3)
您可以下拉的最大值是500 - maxResults
同时在列表调用中添加orgUnitPath作为查询字段的一部分:
var users = AdminDirectory.Users.list({
domain: 'klht.org',
maxResults: 500,
query: "orgUnitPath=/OU"
}).users;
返回的对象的一部分将是nextPageToken
,您可以将其添加到后续查询或查询中,直到您拥有所有用户
var usersPage2 = AdminDirectory.Users.list({
domain: 'klht.org',
maxResults: 500,
query: "orgUnitPath=/OU",
pageToken: nextPageToken
}).users;