建立及更新動態群組
本頁說明如何建立及更新動態群組。
事前準備
請先完成下列工作,再按照本頁資訊操作:
參閱 Groups API 總覽。
閱讀動態群組總覽。
(選用) 制定及測試成員資格查詢。
建立動態群組
以下是建立動態群組的範例:
REST
如要建立動態群組,請使用群組的例項呼叫
groups.create()
。 群組的執行個體必須包含 dynamicGroupMetadata,以及用於填入群組的查詢。
Python
如要建立動態群組,請使用群組的執行個體呼叫 service.groups().create 方法。群組的執行個體必須包含 dynamicGroupMetadata,以及用於填入群組的查詢。下列範例說明如何建立動態群組,其中包含工程部門的所有現有使用者:
def create_dynamic_group(customer_id, email, query):
service = build_service()
groupDef = {
"parent": "customerId/{}".format(customer_id),
"groupKey": {"id": email},
"labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
"dynamicGroupMetadata": {
"queries": [
{
"resourceType": "USER",
"query": "user.organizations.exists(org, org.department=='engineering')"
}
]
}
}
request = service.groups().create(body=groupDef)
request.uri += "&initialGroupConfig=EMPTY"
response = request.execute()
return response
更新動態群組
以下是更新動態群組的範例:
REST
如要更新動態群組,請使用群組的例項呼叫 groups.patch()。群組的執行個體必須包含 dynamicGroupMetadata,其中含有用於填入群組的新查詢。
Python
如要更新動態群組,請使用要更新的群組名稱和群組例項,呼叫 service.groups().patch 方法。群組的執行個體必須包含 dynamicGroupMetadata,以及用於填入群組的查詢。以下範例說明如何將包含所有工程部門使用者的動態群組,更新為包含工程或財務部門所有使用者的群組:
# name (i.e. groups/01234abcdeef) uniquely identifies the group
def update_dynamic_group(name, query):
service = build_service()
groupDef = {
"dynamicGroupMetadata": {
"queries": [
{
"resourceType": "USER",
"query": "user.organizations.exists(org, org.department=='engineering' || org.department=='finance')"
}
]
}
}
request = service.groups().patch(name=name, body=groupDef)
request.uri += "&updateMask=dynamicGroupMetadata"
response = request.execute()
return response
後續步驟
動態群組存在後,您可以擷取該群組並列出其成員資格。 詳情請參閱「擷取動態群組及列出成員」。