admin-sdk:users / list有效,但是成员/列表没有?

时间:2016-02-05 17:30:50

标签: php api google-admin-sdk google-groups admin-sdk

在我公司的域内,我可以通过此次通话成功搜索用户: 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并在那里失败了。

2 个答案:

答案 0 :(得分:1)

您可以让管理员为您域中的用户授予“读取”管理员API权限。

管理控制台>管理员角色>创建新角色(例如“所有用户GroupsAPIRead”)>特权> Admin API权限(不是管理控制台API权限)>群组>勾选“读取”(不要勾选创建,更新或删除)。

答案 1 :(得分:0)

最近添加了users.list()的domain_public选项,以允许最终用户检索目录的有限视图。目前没有相应的组。要运行groups.list(),您需要成为具有读取组权限的委派管理员。