0

特别是用户。

目前我有这样的脚本:

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 对象在我们的域中搜索对象?

当您使用域的控制面板时,您可以快速高效地搜索...

对于我当前的任务,我可能会放弃自己搜索域并要求正确的用户名。

4

1 回答 1

1

这是您的选择

1) 在 Google Apps 脚本中使用 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,如果还没有问题,您应该在问题跟踪器中打开一个问题。

于 2012-06-21T10:52:03.653 回答