我是两个 Google Apps for Education 帐户的超级管理员,我在两个域中使用相同的脚本得到不同的结果。这是脚本:
function listUsers(s) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sheet.getDataRange().clear()
var users = UserManager.getAllUsers();
var r = new Array();
var f = new Array();
var Uconnect = '';
for( var i = 0 ; i < users.length ; i++ ){
var Umail = users[i].getEmail();
var UnomF = users[i].getFamilyName()
var UnomP = users[i].getGivenName()
if(users[i].getAgreedToTerms()){Uconnect = 'yes'}else{Uconnect = 'never'}
r.push([UnomF,UnomP,Umail,Uconnect]);
if(i%2==0){
f.push(['#eeeeff','#eeeeff','#eeeeff','#eeeeff']);
}else{
f.push(['#ffffff','#ffffff','#ffffff','#ffffff']);
}
}
r.sort(function(x,y){
var xp = x[0].toLowerCase();
var yp = y[0].toLowerCase();
Logger.log(xp+' '+yp)
return xp == yp ? 0 : xp < yp ? -1 : 1;// sort on name ascending
}
)
var header = ['Nom de famille','Prénom','Email','Déjà Connecté?']
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);
sheet.getRange(2,1,f.length,f[0].length).setBackgroundColors(f);
sheet.getDataRange().setVerticalAlignment('middle').setFontSize(11);
}
该脚本非常简单:它获取所有域用户并在电子表格中显示带有某种格式的列表。它还应该显示用户是否使用 domainUser 类中的getAgreedToTerms()方法初始化了他们的帐户。
在其中一个域上,我得到了真实的结果(与我在 Google Apps 管理控制面板中看到的结果相同),但在第二个域中getAgreedToTerms()
总是返回true
,即使对于新创建的用户也是如此。(据我所知,域设置是相同的.)
我在某处缺少什么吗?是否有另一种方法可以检查用户是否已将自己与他的帐户相关联?
我知道这不是一个真正的编程问题,但我也知道我们中的许多人都有 Google Apps 帐户和用户来管理 :-) 所以我认为值得一试。