Details zu einem Gruppenbereich abrufen

In diesem Leitfaden wird erläutert, wie Sie die Methode get für eine Space-Ressource der Google Chat API verwenden, um Details zu einem Gruppenbereich wie den Anzeigenamen, die Beschreibung und Richtlinien abzurufen.

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.

Durch die Authentifizierung über die Anwendungsauthentifizierung kann eine Chat-Anwendung Bereiche erhalten, auf die sie in Google Chat Zugriff hat, z. B. Gruppenbereiche, in denen die Anwendung Mitglied ist. Mit der Nutzerauthentifizierung können Sie Gruppenbereiche erhalten, 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 Abrufen eines Gruppenbereichs 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 Abrufen eines Gruppenbereichs unterstützt die beiden folgenden Authentifizierungsmethoden:

Gruppenbereich anfordern

Um einen Gruppenbereich in Google Chat zu erhalten, übergeben Sie in Ihrer Anfrage Folgendes:

  • Geben Sie für die Anwendungsauthentifizierung den Autorisierungsbereich chat.bot an. Geben Sie für die Nutzerauthentifizierung den Autorisierungsbereich chat.spaces.readonly oder chat.spaces an.
  • Rufen Sie die Methode get für die Ressource Space auf und übergeben Sie den name des abzurufenden Bereichs. Den Namen des Gruppenbereichs können Sie der Gruppenbereichsressource in Google Chat oder der URL eines Gruppenbereichs entnehmen.

Details zum Gruppenbereich mit Nutzerauthentifizierung abrufen

So rufen Sie mit der Nutzerauthentifizierung Details zum Gruppenbereich ab:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_get_user.py.
  2. Fügen Sie den folgenden Code in chat_space_get_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.spaces.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about 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().get(
    
              # The space to get.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        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_space_get_user.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      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.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  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. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node get-space.js
    

Die Chat API gibt eine Instanz von Space zurück, die Details zum angegebenen Bereich enthält.

Details zum Gruppenbereich mit App-Authentifizierung abrufen

So rufen Sie mit der App-Authentifizierung Details zum Gruppenbereich ab:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_get_app.py.
  2. Fügen Sie den folgenden Code in chat_space_get_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().get(
    
        # The space to get.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        name='spaces/SPACE'
    
    ).execute()
    
    print(result)
    
  3. Ersetzen Sie im Code SPACE durch den Namen eines Gruppenbereichs, den Sie in der Chat API über die Methode spaces.list() 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_space_get_app.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      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.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  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. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node app-get-space.js
    

Die Chat API gibt eine Instanz von Space zurück, die Details zum angegebenen Bereich enthält.