Gruppenbereich mit ersten Mitgliedern einrichten

In diesem Leitfaden wird erläutert, wie Sie die Methode setup für die Ressource Space des Google Chat API, um einen Google Chat-Bereich einzurichten. Wenn Sie einen Gruppenbereich einrichten, wird ein Gruppenbereich erstellt und bestimmte Nutzer hinzugefügt.

Die Space-Ressource ist ein Ort, an dem Personen und Chat-Apps Nachrichten senden können, Dateien freigeben und gemeinsam bearbeiten. Es gibt verschiedene Arten von Gruppenbereichen:

  • Direktnachrichten (DNs) sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und eine Chat-App.
  • Gruppenchats sind Unterhaltungen zwischen drei oder mehr Nutzern und Chat-Apps.
  • Benannte Gruppenbereiche sind dauerhafte Orte, an denen Nutzer Nachrichten senden, Dateien teilen und zusammenzuarbeiten.

Beachten Sie beim Einrichten eines Gruppenbereichs Folgendes:

  • Der anrufende (authentifizierte) Nutzer wird dem Gruppenbereich automatisch hinzugefügt. müssen Sie die Mitgliedschaft des Nutzers nicht in der Anfrage angeben.
  • Wenn beim Erstellen einer Direktnachricht (DN) eine DN zwischen zwei Nutzern vorhanden ist, wird die DM zurückgegeben. Andernfalls wird eine DN erstellt.
  • Wenn beim Erstellen eines Gruppenchats keine der in der Anfrage angegebenen Mitgliedschaften angegeben wird zum Gruppenchat hinzugefügt wurden (z. B. Berechtigungsproblem), dann wird möglicherweise ein leerer Gruppenchat erstellt (einschließlich nur des anrufenden Nutzers).
  • Sie können keine Gruppenbereiche mit Unterhaltungsthreads für Antworten einrichten und keine Personen außerhalb Ihrer Google Workspace
  • Doppelte Mitgliedschaften (einschließlich des aufrufenden Nutzers) im Antrag werden herausgefiltert, anstatt einen Anfragefehler zu verursachen.

Vorbereitung

Python

Node.js

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-Methode für die Ressource Space
  • Wenn Sie einen Nutzer als Mitglied des Gruppenbereichs hinzufügen möchten, geben Sie users/{user} an, wobei {user} ist entweder der {person_id} für den person aus der People API oder die ID eines user in der Directory API. Wenn beispielsweise die People API-Person resourceName gleich people/123456789 ist, können Sie den Nutzer dem Gruppenbereich hinzufügen, indem Sie einschließlich einer Mitgliedschaft bei users/123456789 als member.name.
  • Wenn Sie eine Gruppe als Mitglied des Gruppenbereichs hinzufügen möchten, geben Sie groups/{group} an, wobei {group} die ID der Gruppe, für die Sie eine Mitgliedschaft erstellen möchten. Die ID für die Gruppe kann können mit der Cloud Identity API abgerufen werden. Wenn beispielsweise die Cloud Identity API gibt eine Gruppe namens groups/123456789 zurück, dann legt membership.groupMember.name bis groups/123456789. Google Groups-Gruppen können nicht wurden einem Gruppenchat oder einer Direktnachricht hinzugefügt, aber nur einem benannten Gruppenbereich.
  • Um eine DN zwischen dem aufrufenden Nutzer und einem anderen menschlichen Nutzer zu erstellen Nutzer, geben Sie in Ihrer Anfrage die Mitgliedschaft des menschlichen Nutzers an.
  • Um eine DN zwischen dem aufrufenden Nutzer und der anrufenden App zu erstellen, legen Sie Folgendes fest: Space.singleUserBotDm zu true und geben Sie keine Mitgliedschaften an. Sie können Verwenden Sie diese Methode nur, um eine DN mit der aufrufenden App einzurichten. So fügen Sie die Anruffunktion hinzu: als Mitglied eines Gruppenbereichs oder als bestehende DN zwischen zwei menschlichen Nutzern, siehe Erstellen Sie eine Mitgliedschaft.

Im folgenden Beispiel wird ein benannter Gruppenbereich erstellt und Mitgliedschaften darin erstellt für eine Gruppe und drei menschliche Nutzer (einschließlich des authentifizierten Nutzers und zwei anderen angegebenen Nutzern) angezeigt werden.

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
    

Ein benannter Chatbereich mit einer Gruppe und drei menschlichen Nutzern, einschließlich der authentifizierter Nutzer eingerichtet wurde.

Wenn Sie den Gruppenbereich aufrufen möchten, verwenden Sie seine Ressourcen-ID, um seine URL zu erstellen. Sie finden die Ressourcen-ID aus dem Gruppenbereich „name“ in der Google Chat-Antwort Textkörper. Wenn die name Ihres Gruppenbereichs z. B. spaces/1234567 beträgt, gehen Sie folgendermaßen vor: mit der folgenden URL an den Gruppenbereich an: https://mail.google.com/chat/u/0/#chat/space/1234567