Nutzer, Google Groups-Gruppen oder Google Chat App in einen Gruppenbereich einladen oder hinzufügen

In diesem Leitfaden wird erläutert, wie Sie die Methode create für die Ressource membership der Google Chat API verwenden, um einen Nutzer, eine Google-Gruppe oder eine Chat-App in einen Gruppenbereich einzuladen oder zu einem Gruppenbereich hinzuzufügen, der auch als Mitgliedererstellung bezeichnet wird. Wenn das angegebene Mitglied beim Erstellen einer Mitgliedschaft die Richtlinie für die automatische Annahme deaktiviert hat, wird es eingeladen und muss vor dem Beitritt die Einladung zum Gruppenbereich annehmen. Andernfalls wird das Mitglied beim Erstellen einer Mitgliedschaft direkt dem angegebenen Bereich hinzugefügt.

Die Ressource Membership gibt an, ob ein menschlicher Nutzer oder die Google Chat-App zu einem Gruppenbereich eingeladen wurde, ihm angehört oder nicht.

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 Erstellen einer Mitgliedschaft ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.memberships oder chat.memberships.app 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 einer Mitgliedschaft ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.memberships oder chat.memberships.app erforderlich.

Nutzer zu Gruppenbereichen einladen oder hinzufügen

Wenn Sie einen Nutzer in einen Gruppenbereich einladen oder ihm hinzufügen möchten, übergeben Sie in Ihrer Anfrage Folgendes:

  • Geben Sie den Autorisierungsbereich chat.memberships an.
  • Rufen Sie die Methode create für die Ressource membership auf.
  • Legen Sie parent auf den Ressourcennamen des Gruppenbereichs fest, in dem die Mitgliedschaft erstellt werden soll.
  • Setzen Sie member auf users/{user}, wobei {user} die Person ist, für die Sie die Mitgliedschaft erstellen möchten, und entweder:
    • Die ID für die Person in der People API. Wenn beispielsweise für die People API person resourceName der Wert people/123456789 festgelegt ist, legen Sie membership.member.name auf users/123456789 fest.
    • Die ID für den Nutzer in der Directory API.
    • Die E-Mail-Adresse des Nutzers. Beispiel: users/222larabrown@gmail.com oder users/larabrown@cymbalgroup.com. Wenn der Nutzer ein Google-Konto verwendet oder zu einer anderen Google Workspace-Organisation gehört, müssen Sie seine E-Mail-Adresse verwenden.

Im folgenden Beispiel wird ein Nutzer einem Gruppenbereich hinzugefügt:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_user_create.py.
  2. Fügen Sie den folgenden Code in chat_membership_user_create.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.memberships"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a user to a Chat space by creating a membership.
        '''
    
        # 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().members().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which user the membership is for.
            body = {
              'member': {
                'name':'users/USER',
                'type': 'HUMAN'
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: ein Name des Gruppenbereichs, den Sie über die Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.

    • USER: eine Nutzer-ID.

  4. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_membership_user_create.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the user to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/USER', type: 'HUMAN'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: ein Name des Gruppenbereichs, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

    • USER: eine Nutzer-ID.

  4. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node add-user-to-space.js
    

Die Chat API gibt eine Instanz von membership zurück, in der die erstellte Nutzermitgliedschaft angegeben ist.

Google-Gruppen zu Gruppenbereichen einladen oder hinzufügen

Wenn Sie eine Google-Gruppe zu einem Gruppenbereich einladen oder hinzufügen möchten, übergeben Sie in Ihrer Anfrage Folgendes:

  • Geben Sie den Autorisierungsbereich chat.memberships an.
  • Rufen Sie die Methode create für die Ressource membership auf.
  • Legen Sie parent auf den Ressourcennamen des Gruppenbereichs fest, in dem die Mitgliedschaft erstellt werden soll.
  • Legen Sie groupMember auf groups/{group} fest, 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. Im folgenden Beispiel wird einem benannten Gruppenbereich eine Gruppe hinzugefügt:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_group_create.py.
  2. Fügen Sie den folgenden Code in chat_membership_group_create.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.memberships"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a group to a Chat space by creating a membership.
        '''
    
        # 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().members().create(
    
            # The named space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which group the membership is for.
            body = {
              'groupMember': {
                'name':'groups/GROUP',
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: ein Name des Gruppenbereichs, den Sie über die Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.

    • GROUP: eine Gruppen-ID.

  4. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_membership_group_create.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the group to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {groupMember: {name: 'groups/GROUP'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: ein Name des Gruppenbereichs, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

    • GROUP: eine Gruppen-ID.

  4. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node add-group-to-space.js
    

Die Chat API gibt eine Instanz von membership zurück, in der die erstellte Gruppenmitgliedschaft angegeben ist.

Chat-App zu einem Gruppenbereich hinzufügen

Eine Chat-App kann einem Gruppenbereich keine andere App als Mitglied hinzufügen. Wenn Sie einem Gruppenbereich oder einer Direktnachricht zwischen zwei menschlichen Nutzern eine Chat-App hinzufügen möchten, übergeben Sie in Ihrer Anfrage Folgendes:

  • Geben Sie den Autorisierungsbereich chat.memberships.app an.
  • Rufen Sie die Methode create für die Ressource membership auf.
  • Legen Sie parent auf den Ressourcennamen des Gruppenbereichs fest, in dem die Mitgliedschaft erstellt werden soll.
  • Legen Sie member auf users/app fest. Dies ist ein Alias, der die App darstellt, die die Chat API aufruft.

Im folgenden Beispiel wird einem Gruppenbereich eine Chat-App hinzugefügt:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_app_create.py.
  2. Fügen Sie den folgenden Code in chat_membership_app_create.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.memberships.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds the Chat app to a Chat 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().members().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Set the Chat app as the entity that gets added to the space.
            # 'app' is an alias for the Chat app calling the API.
            body = {
                'member': {
                  'name':'users/app',
                  'type': 'BOT'
                }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Ersetzen Sie im Code SPACE durch einen Namen für den Gruppenbereich, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

  4. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_membership_app_create.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the app to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addAppToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships.app',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/app', type: 'BOT'}}
      });
    }
    
    addAppToSpace().then(console.log);
    
  3. Ersetzen Sie im Code SPACE durch einen Namen für den Gruppenbereich, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

  4. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node add-app-to-space.js
    

Die Chat API gibt eine Instanz von membership zurück, in der die erstellte App-Mitgliedschaft angegeben ist.