管理 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 專案的英數 ID。
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)