特别是用户。
目前我有这样的脚本:
function findUsers(s) {
var users = UserManager.getAllUsers();
var r = new Array;
Logger.log("User Count" + users.length );
for( var i = 0 ; i < users.length ; i++ )
{
var u = users[i];
var n = formatUserName( u );
n = n.toUpperCase();
if( n.indexOf( s.toUpperCase() ) > -1 )
{
r.push(u);
}
}
return r;
}
这有效,但有点慢,我知道它会变慢,因为由于当前的工作方式,更多的用户被迁移UserManager.getAllUsers()
因此,在我自己研究"缓存"域数据的方法之前......我想知道是否有一种有效的方法可以通过 API 或 GAScript 对象在我们的域中搜索对象?
当您使用域的控制面板时,您可以快速有效地进行搜索...
对于我当前的任务,我可能会放弃自己搜索域并需要正确的用户名。
以下是您的选择
1)从Google Apps Script中使用Google Apps Profiles API(https://developers.google.com/google-apps/profiles/#Retrieving)。这需要使用 oAuth。如果您尚未使用过 oAuth,请尝试使用 oAuth 服务库 ( https://developers.google.com/apps-script/notable-script-libraries ),以减轻您让它工作的痛苦。
2)第二个选项是你已经注意到的。将结果缓存在电子表格中。
3) 无论是 1 还是 2,如果还没有问题跟踪器,您应该在问题跟踪器中打开一个问题。