Gruppenbereiche auflisten

In dieser Anleitung wird erläutert, wie Sie die Ressource list in der Ressource Space der Google Chat API zum Auflisten von Gruppenbereichen verwenden. Wenn Sie Gruppenbereiche auflisten, wird eine paginierte, filterbare Liste von Gruppenbereichen zurückgegeben.

Die Ressource Space stellt einen Ort dar, an dem Nutzer und Chat-Apps Nachrichten senden, Dateien freigeben und zusammenarbeiten können. Es gibt verschiedene Arten von Gruppenbereichen:

  • Direktnachrichten (DMs) sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und einer Chat-App.
  • Gruppenchats sind Unterhaltungen zwischen drei oder mehr Nutzern und Chat-Apps.
  • Benannte Gruppenbereiche sind persistente Orte, an denen Nutzer Nachrichten senden, Dateien freigeben und zusammenarbeiten.

Wenn Sie Gruppenbereiche mit der App-Authentifizierung auflisten, werden auch die Gruppenbereiche aufgeführt, auf die die Chat-App Zugriff hat. Wenn Sie Gruppenbereiche mit der Nutzerauthentifizierung auflisten, werden die Bereiche aufgeführt, auf die der authentifizierte Nutzer Zugriff hat.

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 Gruppenbereichen unterstützt die beiden folgenden Authentifizierungsmethoden:

Node.js

  • Node.js und npm
  • Aktuelle Google-Clientbibliotheken für Node.js Führen Sie den folgenden Befehl über die Befehlszeile aus, um sie zu installieren:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • 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 Gruppenbereichen unterstützt die beiden folgenden Authentifizierungsmethoden:

Gruppenbereiche mit Nutzerauthentifizierung auflisten

Übergeben Sie in Ihrer Anfrage Folgendes, um Gruppenbereiche in Google Chat aufzulisten:

Im folgenden Beispiel werden benannte Gruppenbereiche und Gruppenchats (aber keine herausgefilterten Direktnachrichten) aufgelistet, die für den authentifizierten Nutzer sichtbar sind:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_list.py.
  2. Fügen Sie den folgenden Code in chat_space_list.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.spaces.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists named spaces and group chats (but not direct messages)
        visible to the authenticated user.
        '''
    
        # 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().list(
    
              # An optional filter that returns named spaces or unnamed group chats,
              # but not direct messages (DMs).
              filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
          ).execute()
    
        # Prints the returned list of spaces.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_space_list.py
    

Node.js

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen list-spaces.js.
  2. Fügen Sie den folgenden Code in list-spaces.js ein:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node list-spaces.js
    

Die Chat API gibt ein paginiertes Array mit benannten Bereichen und Gruppenchats zurück.

Gruppenbereiche mit App-Authentifizierung auflisten

Übergeben Sie in Ihrer Anfrage Folgendes, um Gruppenbereiche in Google Chat aufzulisten:

Im folgenden Beispiel werden benannte Gruppenbereiche und Gruppenchats (aber keine Direktnachrichten) aufgelistet, die für die Chat-App sichtbar sind:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_list_app.py.
  2. Fügen Sie den folgenden Code in chat_space_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().list(
    
            # An optional filter that returns named spaces or unnamed
            # group chats, but not direct messages (DMs).
            filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
        ).execute()
    
    print(result)
    
  3. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_space_list_app.py
    

Node.js

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen app-list-spaces.js.
  2. Fügen Sie den folgenden Code in app-list-spaces.js ein:

    const chat = require('@googleapis/chat');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node app-list-spaces.js
    

Die Chat API gibt ein Array von Leerzeichen in mehreren Seiten zurück.

Seitenumbruch anpassen oder Liste filtern

Übergeben Sie die folgenden optionalen Abfrageparameter, um Gruppenbereiche in Google Chat aufzulisten, um die Paginierung anzupassen oder die aufgeführten Gruppenbereiche zu filtern:

  • pageSize: Die maximale Anzahl von Leerzeichen, die zurückgegeben werden sollen. Der Dienst gibt dann 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. Details zu unterstützten Abfragen finden Sie in der Methode spaces.list.