我有来自Google Developer网站的这个脚本,它可以获取所有域用户:
function listAllUsers() {
var pageToken, page;
do {
page = AdminDirectory.Users.list({
domain: 'wter.se',
orderBy: 'givenName',
maxResults: 100,
pageToken: pageToken
});
var users = page.users;
if (users) {
for (var i = 0; i < users.length; i++) {
var user = users[i];
}
}
pageToken = page.nextPageToken;
} while (pageToken);
}
我想获取每个用户参数并将其添加到电子表格中。
变量用户拥有所有这些参数(users.EmailAdress等),但我如何将它们放在电子表格中?
答案 0 :(得分:0)
您必须为工作表中的每一行构建一个数组(一个2D数组),其中包含一个数组,下面是一个包含3列的示例,使用简单的UserManager class列出了我的域的所有用户。
代码结构几乎相同,for循环和users[i]
属性......
这里的输出数组称为'r',并使用最终的setValues(r);
写在工作表中 - 代码还有一个你不需要的排序功能,但我把它留在这里以获取信息,如果有人需要它。
function listUsers(s) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sheet.getDataRange().clear()
var users = UserManager.getAllUsers();
var r = new Array();
var f = new Array();
for( var i = 0 ; i < users.length ; i++ ){
var Umail = users[i].getEmail();
var UnomF = users[i].getFamilyName()
var UnomP = users[i].getGivenName()
r.push([UnomF,UnomP,Umail]);
}
r.sort(function(x,y){
var xp = x[0].toLowerCase();
var yp = y[0].toLowerCase();
return xp == yp ? 0 : xp < yp ? -1 : 1;// sort on name ascending
}
)
var header = ['Nom de famille','Prénom','Email']
sheet.getRange(1,1,1,r[0].length).setValues([header]).setFontWeight('bold')
.setBackground('silver').setBorder(true,true,true,true,true,true);
sheet.getRange(2,1,r.length,r[0].length).setValues(r);
}