获取Google群组成员



我正在尝试使用discovery API获取Google Group的所有成员。所以我使用了文档中给出的代码,但我得到了以下错误:

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

我使用了谷歌集团的电子邮件或纯文本名称作为group_id,但错误仍然存在。该组id的正确语法是什么?

代码:

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

您可以使用gcloud控制台获取您知道电子邮件的组的group_id

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

它将返回类似于的东西

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

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

  1. 获取

  2. 列出

  3. 目录API:组

在最坏的情况下,它们都不起作用,这可能是因为你没有IAM角色作为";所有者";对于GCP,即使您正在使用G Suite的超级管理员用户登录。你可以在这里使用以下GCP的官方文档GCP:理解角色

我只是想评论Dave的好答案,但我没有足够的代表。

如果您确实想以编程方式获取组名,例如,如果您正在处理多个组,请查看这些文档。

在那里,groupName以所需格式(groups/...(为您提供名称,在这种情况下,group_id是组的电子邮件。

附带说明:文档似乎不是最新的,我不得不从第二行中删除+ "&groupKey.namespace=identitysources/" + identity_source_id才能工作。

相关内容

  • 没有找到相关文章

最新更新