Mitglieder 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 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:

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 oder chat.memberships an.
  • Rufen Sie die Methode list für die Ressource membership auf.
  • Wenn Sie Google Groups-Gruppen auflisten möchten, legen Sie den Suchparameter showGroups auf true fest.

Das folgende Beispiel listet Google Groups-Mitglieder, menschliche Mitglieder und Anwendungsmitglieder auf, die für den authentifizierten Nutzer sichtbar sind.

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 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()
    
  3. Ersetzen Sie im Code SPACE durch einen Namen für den Gruppenbereich, den Sie über die Methode spaces.list in der Chat API oder über die 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 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:

Im folgenden Beispiel werden die Mitglieder des Gruppenbereichs (keine 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 einen Namen für den Gruppenbereich, den Sie über die Methode spaces.list in der Chat API oder über die 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 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 Methode spaces.members.list.