Google 组 API - getUsers() 您无权查看组的成员列表:
Google Groups API - getUsers() You do not have permission to view the member list for the group:
大家干杯!
我有一个 Google 脚本,它使用 getUsers() 函数检查电子邮件地址是否是组的成员。
到目前为止:
- 我已经激活了"Admin SDK Directory Service"
- 我有管理员权限
对于大多数群组来说,这很神奇,但是对于某些群组,我会收到授权错误。
来自日志的错误消息:
- "You do not have permission to view the member list for the group: foo@bar"
知道可能是什么问题吗?
任何事情都非常感谢。
谢谢!
问题是 GroupsApp 服务使用 GROUP 的权限来确定您是否可以查看成员列表。组的默认设置是将此访问权限限制为组的所有者和管理员。所以你有两个选择:
1) 让自己成为群组的所有者或管理员,或者
2) 使用 Admin SDK 检查群组成员资格。 Admin 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;}
}
}
}
更多信息Here
大家干杯!
我有一个 Google 脚本,它使用 getUsers() 函数检查电子邮件地址是否是组的成员。
到目前为止:
- 我已经激活了"Admin SDK Directory Service"
- 我有管理员权限
对于大多数群组来说,这很神奇,但是对于某些群组,我会收到授权错误。
来自日志的错误消息:
- "You do not have permission to view the member list for the group: foo@bar"
知道可能是什么问题吗? 任何事情都非常感谢。 谢谢!
问题是 GroupsApp 服务使用 GROUP 的权限来确定您是否可以查看成员列表。组的默认设置是将此访问权限限制为组的所有者和管理员。所以你有两个选择:
1) 让自己成为群组的所有者或管理员,或者
2) 使用 Admin SDK 检查群组成员资格。 Admin 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;}
}
}
}
更多信息Here