admin-SDK:用户/列表有效,但成员/列表无效


admin-sdk: users/list works, but members/list doesn't?

我公司的域中,我能够通过以下调用成功搜索用户:https://developers.google.com/admin-sdk/directory/v1/reference/users/list(域:mydomain.com,视图类型:domain_public,我自己的电子邮件作为服务帐户授权中的子=。

我已经确认,使用 Web 浏览器,我公司中的任何人都可以通过转到 https://groups.google.com/a/mycompany/forum/#!members/mygroup 来查看公司中任何组的成员身份。

似乎遵循(相同的api,显然在全公司范围内开放(我应该能够通过此调用获得组成员:https://developers.google.com/admin-sdk/directory/v1/reference/members/list

但是,即使使用 API 资源管理器,我也得到了:

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 资源管理器并在那里失败了。

您可以让管理员为您网域中的用户允许"读取"管理员 API 权限。

管理控制台> 管理员角色> 创建新角色(例如"所有用户组APIRead"(>权限>管理员 API 权限(不是管理控制台 API 权限(>组>勾选"读取"(不要勾选创建、更新或删除(。

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