admin-sdk:users/list 有效,但 members/list 无效?

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"
 }
}

这似乎没有意义...这是需要在组织级别be/can更改的权限吗? (即我的管理员已允许 user/list 但尚未允许 members/list?)

如果这是 API 中的某种故意行为...为什么?有没有人找到解决办法? (Screenscraping https://groups.google.com/a/mycompany/forum/#!members/mygroup 可能会起作用,但当理论上 API...

FWIW - 我正在尝试使用 php 在 linux 机器上的服务 运行 中执行此操作,但直到我可以在 API explorer,我不确定这是否相关。我的第一次尝试是获取适用于 users/list 的所有代码并改为调用 members/list。当失败时,我尝试了 API Explorer,但也失败了。

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

您可以让管理员为您域中的用户授予 "Read" 管理员 API 权限。

管理控制台 > 管理角色 > 创建新角色(例如 "All users GroupsAPIRead")> 权限 > 管理员 API 权限(不是管理控制台 API 权限)> 组 > 勾选 "Read"(不要勾选创建、更新或删除)。