在我公司的域内,我可以通过此次通话成功搜索用户: https://developers.google.com/admin-sdk/directory/v1/reference/users/list (域名:mydomain.com,viewType:domain_public,以及我自己的电子邮件,作为服务帐户授权中的sub =。)
我已经确认使用网络浏览器,我公司的任何人都可以转到https://groups.google.com/a/mycompany/forum/#!members/mygroup查看公司中任何群组的会员资格。
似乎遵循(同样的api,显然在公司范围内开放),我应该能够通过这个电话获得小组成员: https://developers.google.com/admin-sdk/directory/v1/reference/members/list
但是,即使使用API Explorer,我也会:
403 OK
- SHOW HEADERS -
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Not Authorized to access this resource/api"
}
],
"code": 403,
"message": "Not Authorized to access this resource/api"
}
}
这似乎没有意义......这是一个需要/可以在组织层面进行更改的权限吗? (即我的管理员已经允许用户/列表但尚未允许成员/列表?)
如果这是API中的某种故意行为......为什么?有没有人找到方法? (屏幕抓取https://groups.google.com/a/mycompany/forum/#!members/mygroup可能会起作用,但理论上理论上是一个API似乎太疯狂......)
FWIW - 我试图使用php在linux机器上运行的服务中执行此操作,但是直到我能够在API浏览器中运行它,我才不确定'相关的。我的第一次尝试是获取适用于用户/列表的所有代码,并调用成员/列表。当失败时,我尝试了API Explorer并在那里失败了。
答案 0 :(得分:1)
您可以让管理员为您域中的用户授予“读取”管理员API权限。
管理控制台>管理员角色>创建新角色(例如“所有用户GroupsAPIRead”)>特权> Admin API权限(不是管理控制台API权限)>群组>勾选“读取”(不要勾选创建,更新或删除)。
答案 1 :(得分:0)
最近添加了users.list()的domain_public选项,以允许最终用户检索目录的有限视图。目前没有相应的组。要运行groups.list(),您需要成为具有读取组权限的委派管理员。