管理 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)