In diesem Leitfaden wird erläutert, wie Sie die Methode list
für die Ressource membership
der Google Chat API verwenden, um Mitglieder in einem Gruppenbereich als paginierte, filterbare Liste von Mitgliedschaften in einem Gruppenbereich aufzulisten. Wenn Sie Mitgliedschaften mit der App-Authentifizierung auflisten, werden Mitgliedschaften in Bereichen aufgelistet, auf die die Chat-App Zugriff hat. Mitgliedschaften in Chat-Apps, einschließlich ihrer eigenen, werden jedoch ausgeschlossen. Wenn Sie Mitgliedschaften mithilfe der Nutzerauthentifizierung auflisten, werden Mitgliedschaften in Bereichen aufgelistet, auf die der authentifizierte Nutzer Zugriff hat.
Die Ressource Membership
gibt an, ob ein menschlicher Nutzer oder die Google Chat-App zu einem Gruppenbereich eingeladen wurde, ihm angehört oder nicht.
Voraussetzungen
Python
- Python 3.6 oder höher
- Das Paketverwaltungstool pip
Die neuesten Google-Clientbibliotheken für Python. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren oder zu aktualisieren:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Ein Google Cloud-Projekt mit aktivierter und konfigurierter Google Chat API. Eine Anleitung dazu finden Sie unter Google Chat-App erstellen.
Für die Chat-App konfigurierte Autorisierung. Mitgliedschaften für Einträge unterstützen die beiden folgenden Authentifizierungsmethoden:
- Nutzerauthentifizierung mit dem Autorisierungsbereich
chat.memberships.readonly
oderchat.memberships
. - App-Authentifizierung mit dem Autorisierungsbereich
chat.bot
.
- Nutzerauthentifizierung mit dem Autorisierungsbereich
Mitglieder in einem Gruppenbereich mit Nutzerauthentifizierung auflisten
Um Nutzer, Google Groups-Gruppen und die Chat-App in einem Bereich aufzulisten, auf den der authentifizierte Nutzer Zugriff hat, übergeben Sie in Ihrer Anfrage Folgendes:
- Geben Sie bei der Nutzerauthentifizierung den Autorisierungsbereich
chat.memberships.readonly
oderchat.memberships
an. - Rufen Sie die Methode
list
für die Ressourcemembership
auf. - Wenn Sie Google Groups-Gruppen auflisten möchten, legen Sie den Suchparameter
showGroups
auftrue
fest.
Das folgende Beispiel listet Google Groups-Mitglieder, menschliche Mitglieder und Anwendungsmitglieder auf, die für den authentifizierten Nutzer sichtbar sind.
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_member_list_user.py
. Fügen Sie den folgenden Code in
chat_member_list_user.py
ein:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists Google Group, human, and app members in a specified space. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().list( # The space for which to list memberships. parent = 'spaces/SPACE', # Set this parameter to list Google Groups. showGroups = 'true' ).execute() # Prints the list of memberships. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code
SPACE
durch einen Namen für den Gruppenbereich, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_member_list_user.py
Die Google Chat API gibt eine Liste der Mitglieder der Google-Gruppe sowie der Mitglieder und Anwendungsmitglieder aus dem angegebenen Bereich zurück.
Mitglieder in einem Gruppenbereich mit App-Authentifizierung auflisten
Übergeben Sie in Ihrer Anfrage Folgendes, um Nutzer und die Chat-App in einem Bereich aufzulisten, auf den die authentifizierte App Zugriff hat:
- Geben Sie für die App-Authentifizierung den Autorisierungsbereich
chat.bot
an. - Rufen Sie die Methode
list
für die Ressourcemember
auf. - Wenn Sie Google Groups-Gruppen auflisten möchten, legen Sie den Suchparameter
showGroups
auftrue
fest.
Im folgenden Beispiel werden die Mitglieder des Gruppenbereichs (keine Administratoren des Gruppenbereichs) aufgelistet, die für die Chat-App sichtbar sind:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_member_list_app.py
. Fügen Sie den folgenden Code in
chat_member_list_app.py
ein:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().members().list( # The space for which to list memberships. parent = 'spaces/SPACE', # An optional filter that returns only human space members. filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"' ).execute() print(result)
Ersetzen Sie im Code
SPACE
durch einen Namen für den Gruppenbereich, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_member_list_app.py
Die Google Chat API gibt eine Liste der Mitglieder des angegebenen Gruppenbereichs (mit Ausnahme von Administratoren des Gruppenbereichs) zurück.
Paginierung anpassen oder Liste filtern
Übergeben Sie zum Auflisten der Mitgliedschaften die folgenden Abfrageparameter, um die Paginierung der aufgeführten Mitgliedschaften anzupassen oder diese zu filtern:
pageSize
: Die maximale Anzahl von Mitgliedschaften, die zurückgegeben werden sollen. Der Dienst gibt möglicherweise weniger als diesen Wert zurück. Wenn keine Vorgabe erfolgt, werden maximal 100 Leerzeichen zurückgegeben. Der Maximalwert beträgt 1.000. Werte über 1.000 werden automatisch in 1.000 geändert.pageToken
: Seitentoken, das von einem vorherigen Aufruf einer Gruppenbereichsliste erhalten wurde. Geben Sie dieses Token an, um die nachfolgende Seite abzurufen. Beim Paginieren sollte der Filterwert mit dem Aufruf übereinstimmen, der das Seitentoken bereitgestellt hat. Die Übergabe eines anderen Werts kann zu unerwarteten Ergebnissen führen.filter
: ein Abfragefilter. Erfordert eine Nutzerauthentifizierung. Details zu unterstützten Abfragen finden Sie in der Methodespaces.members.list
.
Weitere Informationen
- Details zur Mitgliedschaft eines Nutzers oder einer Chat-App abrufen
- Nutzer oder die Chat-App zu einem Gruppenbereich einladen oder hinzufügen
- Mitgliedschaft eines Nutzers in einem Google Chat-Bereich aktualisieren
- Einen Nutzer oder eine Chat-App aus einem Gruppenbereich entfernen