Nutzer und Google Chat-Apps in einem Gruppenbereich auflisten

In diesem Leitfaden wird erläutert, wie Sie die Methode list für die Ressource membership der Google Chat API verwenden, um Nutzer und die Chat-App in einem Gruppenbereich als paginierte, filterbare Liste von Mitgliedern in einem Gruppenbereich aufzulisten. Wenn Sie Mitgliedschaften mit der App-Authentifizierung auflisten, werden Mitgliedschaften in Gruppenbereichen aufgelistet, auf die die Chat-App Zugriff hat. Mitgliedschaften für Chat-Apps werden jedoch ausgeschlossen, einschließlich ihrer eigenen. Wenn Sie Mitgliedschaften über die Nutzerauthentifizierung auflisten, werden Mitgliedschaften in Bereichen aufgelistet, auf die der authentifizierte Nutzer Zugriff hat.

Die Ressource Membership gibt an, ob ein menschlicher Nutzer oder eine Google Chat-App in einen Gruppenbereich eingeladen oder dort teilweise eingeladen wurde oder nicht.

Voraussetzungen

Python

  • Python 3.6 oder höher
  • Das Paketverwaltungstool pip
  • Die aktuellen 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, in dem die Google Chat API aktiviert und konfiguriert ist. Eine entsprechende Anleitung finden Sie unter Google Chat-App erstellen.
  • Für die Chat-App konfigurierte Autorisierung. Das Auflisten von Mitgliedschaften unterstützt die beiden folgenden Authentifizierungsmethoden:

Nutzer und die Chat-App in einem Gruppenbereich mit Nutzerauthentifizierung auflisten

Übergeben Sie in Ihrer Anfrage Folgendes, um Nutzer und die Chat-App in einem Gruppenbereich aufzulisten, auf den der authentifizierte Nutzer Zugriff hat:

Im folgenden Beispiel werden menschliche Mitglieder des Gruppenbereichs (nicht Administratoren des Gruppenbereichs) aufgelistet, die für den authentifizierten Nutzer sichtbar sind, da filter auf ROLE_Member gesetzt ist:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_member_list_user.py.
  2. 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 human space members (but not space managers) 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',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Ersetzen Sie im Code SPACE durch den Namen eines Gruppenbereichs, den Sie mit der Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.

  4. 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 von Mitgliedern des Gruppenbereichs (mit Ausnahme von Administratoren des Gruppenbereichs) und App-Mitgliedern aus dem angegebenen Gruppenbereich zurück.

Nutzer und die Chat-App 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 Anwendung Zugriff hat:

Im folgenden Beispiel werden Mitglieder des Gruppenbereichs (nicht Administratoren des Gruppenbereichs) aufgelistet, die für die Chat-App sichtbar sind:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_member_list_app.py.
  2. 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)
    
  3. Ersetzen Sie im Code SPACE durch den Namen eines Gruppenbereichs, den Sie mit der Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.

  4. 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 Gruppenbereichs (mit Ausnahme von Administratoren des Gruppenbereichs) aus dem angegebenen Bereich zurück.

Seitenumbruch anpassen oder Liste filtern

Übergeben Sie zum Auflisten der Mitgliedschaften die folgenden Abfrageparameter, um die Paginierung oder das Filtern der aufgeführten Mitgliedschaften anzupassen:

  • pageSize: Die maximale Anzahl der zurückzugebenden Mitgliedschaften. 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: Ein Seitentoken, das von einem vorherigen Aufruf der Liste von Gruppenbereichen empfangen 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 Methode spaces.members.list.