获取 Google 组成员

Fetch Google Group members

我正在尝试使用发现 API 获取 Google 组的所有成员。 所以我使用了 doc 中给出的代码,但出现以下错误:

'Error(2033): Group resource name has the correct format of `groups/{group_id}`, but it contains an invalid `{groupd_id}`

我作为group_id使用了Google组的邮箱或纯文本名称,但错误仍然存​​在。 该组 ID 的正确语法是什么?

代码:

group_id = 'my_google_group@my_organization.com'
request = service.groups().memberships().searchTransitiveMemberships(parent=f'groups/{group_id}')

要从 Cloud Identity 的 GCP 组中检索信息,您还有 3 个 GCP 官方文档中指定的选项或“方法”:

  1. Get

  2. List

  3. Directory API: Groups

在最坏的情况下,其中 none 个可以工作,这可能是因为您没有作为 GCP“所有者”的 IAM 角色,即使您使用超级管理员用户登录G套件。您可以在此处使用以下有关 GCP 的官方文档 GCP: Understanding roles

您可以通过 gcloud 控制台获取您知道的群组的 group_id 电子邮件:

$ gcloud identity groups describe your-group-name@domain.com

这将 return 类似于:

createTime: '2019-01-01T00:00:00.000000Z'
displayName: YourGroupName
groupKey:
  id: your-group-name@domain.com
labels:
  cloudidentity.googleapis.com/groups.discussion_forum: ''
name: groups/8673hkdnjaod98f
parent: customers/Cjas8duwn
updateTime: '2021-01-01T00:00:00.000000Z'

与您相关的部分是:

name: groups/8673hkdnjaod98f

所以在这个例子中 group_id 是:8673hkdnjaod98f

只是想评论戴夫的好答案,但我没有足够的代表..

如果您确实想以编程方式获取组名,例如,如果您要处理多个组,请查看那些 docs.

那里,groupName 以所需格式 (groups/...) 为您提供名称,group_id 是该组的电子邮件。

旁注:文档似乎不是最新的,我必须从第二行删除 + "&groupKey.namespace=identitysources/" + identity_source_id 才能正常工作。