建立及更新動態群組

本頁說明如何建立及更新動態群組。

事前準備

請先執行下列工作,再繼續瞭解本頁資訊:

建立動態群組

以下是建立動態群組的範例:

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

後續步驟

動態群組建立完成後,您可以擷取並列出其成員。詳情請參閱「擷取動態群組及列出成員」。