javascript-使用nextpagetoken在Google Apps脚本查询中提取500多个结果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-使用nextpagetoken在Google Apps脚本查询中提取500多个结果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2162字,纯文字阅读大概需要4分钟。
内容图文
![javascript-使用nextpagetoken在Google Apps脚本查询中提取500多个结果](/upload/InfoBanner/zyjiaocheng/664/44c10f6573ce4e7aad3e78ad6bb16f90.jpg)
在对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’,您可以将其添加到一个或多个后续查询中,直到拥有所有用户为止.”他包括以下片段:
var usersPage2 = AdminDirectory.Users.list({
domain: 'klht.org',
maxResults: 500,
query: "orgUnitPath=/OU",
pageToken: nextPageToken
}).users;
我发现只是将其附加在上面的代码下面会引发“ ReferenceError:未定义“ nextPageToken”.(第13行,文件“代码”)”.现在,我再次陷入困境.你能帮我做这个工作吗?
解决方法:
我在上一个答案中提到的nextPageToken是第一个查询结果的属性.
为了最好地应对示例中未确定的最大用户数,最好通过while循环将查询包装到AdminSDK来实现此目的,该循环将在没有更多用户找到时立即终止:
function writeToSpreadsheet(){
var values = [],
users = [],
userListQuery = {},
nextPageToken = '',
listObject = {
domain:'klht.org',
maxResults: 500,
query: "orgUnitPath=/CleverTeachers/King"
},
i = 0,
spreadsheetID = '1JLDD2wm0_udmTn9ZHvdKhL_Ok3SvKYFqkBeiA1GdnYc';
do {
if (nextPageToken && nextPageToken !== '') {
listObject.pageToken = nextPageToken;
}
userListQuery = AdminDirectory.Users.list(listObject);
// if there are more users than fit in the query a nextPageToken is returned
nextPageToken = userListQuery.nextPageToken;
// Add the query results to the users array
users = users.concat(userListQuery.users);
} while (nextPageToken);
for (i = 0; i < users.length; i += 1) {
values.push([users[i].name.fullName, users[i].primaryEmail]);
}
SpreadsheetApp.openById(spreadsheetID).getSheets()[0].getRange(1, 1, values.length, values[0].length).setValues(values);
}
内容总结
以上是互联网集市为您收集整理的javascript-使用nextpagetoken在Google Apps脚本查询中提取500多个结果全部内容,希望文章能够帮你解决javascript-使用nextpagetoken在Google Apps脚本查询中提取500多个结果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。