Gruppenbereich mit ersten Mitgliedern einrichten

In dieser Anleitung wird erläutert, wie Sie mit der Methode setup für die Ressource Space der Google Chat API einen Google Chat-Bereich einrichten. Beim Einrichten eines Gruppenbereichs wird ein Bereich erstellt und ihm werden bestimmte Nutzer hinzugefügt.

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

  • Direktnachrichten (DNs) 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 dauerhafte Orte, an denen Nutzer Nachrichten senden, Dateien freigeben und mit anderen zusammenarbeiten.

Beachten Sie beim Einrichten eines Gruppenbereichs Folgendes:

  • Der aufrufende (authentifizierte) Nutzer wird dem Bereich automatisch hinzugefügt, sodass Sie die Mitgliedschaft des Nutzers in der Anfrage nicht angeben müssen.
  • Wenn beim Erstellen einer Direktnachricht (DN) eine DN zwischen zwei Nutzern vorhanden ist, wird diese zurückgegeben. Andernfalls wird eine DN erstellt.
  • Wenn beim Erstellen eines Gruppenchats keine der in der Anfrage angegebenen Mitgliedschaften zum Gruppenchat hinzugefügt wird (z. B. aufgrund eines Berechtigungsproblems), wird möglicherweise ein leerer Gruppenchat erstellt (nur der aufrufende Nutzer).
  • Sie können keine Gruppenbereiche mit Unterhaltungsthreads für Antworten einrichten und keine Personen außerhalb Ihres Google Workspace-Kontos hinzufügen.
  • Doppelte Mitgliedschaften (einschließlich des aufrufenden Nutzers), die in der Anfrage angegeben sind, werden herausgefiltert und führen nicht zu einem Anfragefehler.

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

Node.js

  • Node.js und npm
  • Die neuesten Google-Clientbibliotheken für Node.js. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • 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. Zum Erstellen eines Bereichs 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 Nutzer als Mitglied des Gruppenbereichs hinzufügen möchten, geben Sie users/{user} an, wobei {user} entweder der {person_id} für den person aus der People API oder die ID eines user in der Directory API ist. Wenn beispielsweise die People API-Person resourceName people/123456789 ist, können Sie den Nutzer dem Gruppenbereich hinzufügen, indem Sie eine Mitgliedschaft mit users/123456789 als member.name aufnehmen.
  • Wenn Sie eine Gruppe als Mitglied des Gruppenbereichs hinzufügen möchten, geben Sie groups/{group} an, wobei {group} die Gruppen-ID ist, für die Sie die Mitgliedschaft erstellen möchten. Die ID für die Gruppe kann mithilfe der Cloud Identity API abgerufen werden. Wenn die Cloud Identity API beispielsweise eine Gruppe mit dem Namen groups/123456789 zurückgibt, legen Sie membership.groupMember.name auf groups/123456789 fest. Google Groups-Gruppen können nicht zu Gruppenchats oder Direktnachrichten hinzugefügt werden, sondern nur zu einem benannten Gruppenbereich.
  • 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 DN zwischen dem aufrufenden Nutzer und der anrufenden 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. Wie Sie die aufrufende App als Mitglied eines Gruppenbereichs oder als vorhandene DM zwischen zwei menschlichen Nutzern hinzufügen, erfahren Sie unter Mitgliedschaft erstellen.

Im folgenden Beispiel werden ein benannter Bereich und Mitgliedschaften für eine Gruppe und drei menschliche Nutzer erstellt (einschließlich des authentifizierten Nutzers und zwei weiterer angegebener Nutzer).

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 users and groups 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'
                  }
                },
                {
                  'groupMember': {
                    'name': 'groups/11223344'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created space.
        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'}},
            {groupMember: {name: 'groups/11223344'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node setup-space.js
    

Es wird ein benannter Chatbereich mit einer Gruppe und drei menschlichen Nutzern, einschließlich des authentifizierten Nutzers, eingerichtet.

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