Gruppenbereich mit ersten Mitgliedern einrichten

In dieser Anleitung wird erläutert, wie Sie die Methode setup für die Ressource Space der Google Chat API verwenden, um einen Google Chat-Bereich einzurichten. Wenn Sie einen Gruppenbereich einrichten, werden ihm bestimmte Nutzer hinzugefügt.

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.

Beachten Sie beim Einrichten eines Gruppenbereichs Folgendes:

  • Der aufrufende (authentifizierte) Nutzer wird dem Gruppenbereich automatisch hinzugefügt, sodass Sie die Mitgliedschaft des Nutzers nicht in der Anfrage angeben müssen.
  • Wenn beim Erstellen einer Direktnachricht (DM) eine DM zwischen zwei Nutzern besteht, wird die DM zurückgegeben. Andernfalls wird eine DM erstellt.
  • Wenn beim Erstellen eines Gruppenchats keine der in der Anfrage angegebenen Mitgliedschaften zum Gruppenchat hinzugefügt wird (z. B. bei Berechtigungsproblem), wird möglicherweise ein leerer Gruppenchat erstellt, der nur den aufrufenden Nutzer enthält.
  • Sie können keine Gruppenbereiche mit Unterhaltungsthreads für Antworten einrichten und keine Personen außerhalb von Google Workspace hinzufügen.
  • Doppelte Mitgliedschaften (einschließlich des aufrufenden Nutzers), die in der Anfrage angegeben sind, werden herausgefiltert, anstatt einen Anfragefehler zu verursachen.

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
    
  • 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-Anwendung konfigurierte Autorisierung. Zum Einrichten eines Bereichs ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.spaces.create oder chat.spaces erforderlich.

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-Anwendung konfigurierte Autorisierung. Zum Erstellen eines Gruppenbereichs ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.spaces.create oder chat.spaces erforderlich.

Gruppenbereich einrichten

Übergeben Sie in Ihrer Anfrage Folgendes, um einen Gruppenbereich einzurichten:

  • Geben Sie den Autorisierungsbereich chat.spaces.create oder chat.spaces an.
  • Rufen Sie die Methode setup für die Ressource Space auf.
  • Wenn Sie einen menschlichen Nutzer als Mitglied eines Gruppenbereichs hinzufügen möchten, geben Sie users/{user} an, wobei {user} entweder der {person_id} für person aus der People API oder die ID einer user in der Directory API ist. Wenn die People API-Person resourceName beispielsweise people/123456789 ist, können Sie den Nutzer dem Gruppenbereich hinzufügen. Fügen Sie dazu eine Mitgliedschaft mit users/123456789 als member.name hinzu.
  • Wenn Sie eine DM zwischen dem aufrufenden Nutzer und einem anderen menschlichen Nutzer erstellen möchten, geben Sie in Ihrer Anfrage die Mitgliedschaft des menschlichen Nutzers an.
  • Wenn Sie eine DM zwischen dem aufrufenden Nutzer und der aufrufenden App erstellen möchten, setzen Sie Space.singleUserBotDm auf true und geben Sie keine Mitgliedschaften an. Sie können diese Methode nur verwenden, um eine DM mit der aufrufenden App einzurichten. Informationen zum Hinzufügen der aufrufenden App als Mitglied eines Gruppenbereichs oder einer vorhandenen Direktnachricht zwischen zwei menschlichen Nutzern finden Sie unter Mitgliedschaft erstellen.

Im folgenden Beispiel werden ein benannter Bereich und Mitgliedschaften für drei menschliche Nutzer, den authentifizierten Nutzer und zwei weitere angegebene Nutzer, erstellt:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_setup.py.
  2. Fügen Sie den folgenden Code in chat_space_setup.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.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then sets up a Chat space by creating a space and adding members.
        '''
    
        # 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().setup(
    
          # Details about the space to set up.
          body = {
    
            # Attributes of the space to set up, like space type and display name.
            'space': {
    
                # To set up a named space, set spaceType to SPACE.
                'spaceType': 'SPACE',
    
                # The user-visible name of the space
                'displayName': 'API-setup'
            },
    
            # The people and app to add to the space.
            #
            # The authenticated user is automatically added to the space,
            # and doesn't need to be specified in the memberships array.
            'memberships': [
                {
                  'member': {
                    'name':'users/123456789',
                    'type': 'HUMAN'
                  }
                },
                {
                  'member': {
                    'name':'users/987654321',
                    'type': 'HUMAN'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_space_setup.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Sets up a new Chat space with users.
    * @return {!Promise<!Object>}
    */
    async function setupSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.create',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.setup({
        requestBody: {
          space: {
            spaceType: 'SPACE',
            displayName: 'API-made',
          },
          memberships: [
            {member: {name: 'users/123456789', type: 'HUMAN'}},
            {member: {name: 'users/987654321', type: 'HUMAN'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node setup-space.js
    

Ein benannter Chatbereich mit drei menschlichen Nutzern, einschließlich des authentifizierten Nutzers, wird eingerichtet.

Verwenden Sie die Ressourcen-ID des Gruppenbereichs, um die URL des Gruppenbereichs zu erstellen. Sie können die Ressourcen-ID aus dem Gruppenbereich name im Google Chat-Antworttext abrufen. Wenn die name Ihres Gruppenbereichs beispielsweise spaces/1234567 lautet, können Sie den Gruppenbereich über die folgende URL aufrufen: https://mail.google.com/chat/u/0/#chat/space/1234567.