管理 Google 群组的成员资格
群组存在后,可以为它创建成员资格。本页面介绍了如何使用 Cloud Identity Groups API 执行一些基本成员资格操作。如需了解如何创建 Google 群组,请参阅创建和搜索 Google 群组。
准备工作
Enable the Cloud Identity API.
设置身份验证并安装客户端库。请参阅设置 Cloud Identity Groups API,了解具体方式。
向 Google 群组添加成员资格
REST
使用 memberships.create
方法向组添加成员。
在使用任何请求数据之前,请先进行以下替换:
-
GROUP_ID
:您要向其中添加成员的群组的数字 ID。如需查找单个组的 ID,请使用groups.lookup
方法。如需查看客户或命名空间下的所有群组 ID,请使用groups.list
方法。 -
MEMBER_ID
:成员的 ID。对于 Google 管理的实体,请使用成员的电子邮件地址。对于与外部身份映射的实体,请使用符合身份源要求的字符串。 -
ROLE_NAME
:您要授予成员的角色的名称。 请使用OWNER
、MANAGER
或MEMBER
。 -
PROJECT_ID
: 您要用于发出请求的 Google Cloud 项目。
HTTP 方法和网址:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
请求 JSON 正文:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] }
如需发送您的请求,请展开以下选项之一:
响应包含一个 Operation
,用于指示请求的状态。
已完成的操作包含已添加的成员资格。例如:
{ "done": true, "response": { "@type": "type.googleapis.com/google.apps.cloudidentity.groups.v1.Membership", "name": "groups/GROUP_ID/memberships/123456789012345678901", "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] } }
您还可以使用 memberships.create
方法将成员添加为群组的管理员或所有者:
要将某人设为群组管理员,请按照以下程序添加 但应使用以下请求正文:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
要将某人设为论坛版主,请按照以下程序添加 但应使用以下请求正文:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
以下代码展示如何向群组添加成员资格。expiryDetail
是可选字段,可添加以设置成员资格的到期时间。preferredMemberKey
的值是成员的电子邮件地址。
def create_google_group_membership(service, identity_source_id, group_id, member_key):
param = "&groupKey.id=" + group_id + "&groupKey.namespace=identitysources/" + identity_source_id
try:
lookupGroupNameRequest = service.groups().lookup()
lookupGroupNameRequest.uri += param
# Given a group ID and namespace, retrieve the ID for parent group
lookupGroupNameResponse = lookupGroupNameRequest.execute()
groupName = lookupGroupNameResponse.get("name")
# Create a membership object with a memberKey and a single role of type MEMBER
membership = {
"preferredMemberKey": {"id": member_key},
"roles" : {
"name" : "MEMBER",
"expiryDetail": {
"expireTime": "2021-10-02T15:01:23Z"
}
}
}
# Create a membership using the ID for the parent group and a membership object
response = service.groups().memberships().create(parent=groupName, body=membership).execute()
print(response)
except Exception as e:
print(e)
列出 Google 群组的成员资格
REST
使用 memberships.list
方法列出群组成员。
在使用任何请求数据之前,请先进行以下替换:
-
GROUP_ID
:所需群组的数字 ID 列出其成员的权限。如需查找单个组的 ID,请使用groups.lookup
方法。如需查看某个客户或命名空间下的所有群组 ID,请使用groups.list
方法。 -
PROJECT_ID
:您要用于发出请求的 Google Cloud 项目的字母数字 ID。
HTTP 方法和网址:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
如需发送您的请求,请展开以下选项之一:
响应中包含群组中所有成员及其角色的数组。
Python
以下代码列出群组的成员资格:
def list_google_group_memberships(service, group_id):
param = "&groupKey.id=" + group_id
try:
lookup_group_name_request = service.groups().lookup()
lookup_group_name_request.uri += param
lookup_group_name_response = lookup_group_name_request.execute()
group_name = lookup_group_name_response.get("name")
# List memberships
response = service.groups().memberships().list(parent=group_name).execute()
print(response)
except Exception as e:
print(e)