Google组API -GetUsers()您无权查看该组的成员列表:



欢呼大家!

我有一个Google脚本,该脚本检查电子邮件地址是否是使用GetUsers()function的组成员。

到目前为止:

  • 我已经激活了" Admin SDK目录服务"
  • 我有管理权限

对于大多数组都具有魔力,但是我会在某些组中遇到授权错误。

来自日志的错误消息:

  • "您无权查看该组的成员列表:foo@bar"

任何想法可能是什么问题?任何事情都非常感谢。谢谢!

问题是groupsApp服务使用组的权限来确定您是否可以查看成员列表。组的默认设置是将此访问权限限制在小组的所有者和经理中。因此,您有两个选择:

1)使自己成为该组的所有者或经理

2)使用管理员SDK检查小组成员资格。管理员SDK允许任何超级管理员查看组中的用户列表。要找出用户是否是组的成员,您需要检索组,然后在成员列表中迭代,然后将每个成员与所需的用户进行比较:

 function isMember(groupKey,userKey){
    //groupKey: testGroup@yourdomain.com
    //userKey: userEmail@yourdomain.com 
    var memberList = [];
    //Get the members list from the group
    var response = AdminDirectory.Members.list(groupKey);
    memberList = memberList.concat(response.members);
    while (response.nextPageToken){
      response = AdminDirectory.Members.list(groupKey,{pageToken: response.nextPageToken});
      memberList = memberList.concat(response.members);
    }
    if (memberList.length > 1){
      for (var x in memberList){
        if (memberList[x].email == userKey){return true;}
     }
   }
 }

更多信息在这里

相关内容

  • 没有找到相关文章

最新更新