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 verwenden. der Google Chat API verwenden, um einen Nutzer, eine Google-Gruppe oder Chat-App mit einem Gruppenbereich Mitgliedschaft. Wenn das angegebene Mitglied beim Erstellen einer Mitgliedschaft deaktiviert sind, werden sie eingeladen und müssen den Gruppenbereich akzeptieren bevor Sie beitreten. Andernfalls wird beim Erstellen einer Mitgliedschaft direkt in den angegebenen Bereich.

Die Membership-Ressource gibt an, ob ein menschlicher Nutzer oder die Google Chat App Teil eines Leerzeichens oder fehlt.

Vorbereitung

Python

  • Python 3.6 oder höher
  • Das pip-Element Paketverwaltungstool
  • Die neuesten Google-Clientbibliotheken für Python. So installieren oder aktualisieren Sie sie: Führen Sie in der Befehlszeile den folgenden Befehl aus:

    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 Erstellen Sie eine Google Chat App.
  • Für die Chat App konfigurierte Autorisierung Wird erstellt... eine Mitgliedschaft erfordert Nutzerauthentifizierung mit dem Autorisierungsbereich chat.memberships oder chat.memberships.app.

Node.js

  • Node.js und npm
  • Die neuesten Google-Clientbibliotheken für Node.js. Führen Sie zur Installation den folgenden Befehl in der Befehlszeile ein:

    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 Erstellen Sie eine Google Chat App.
  • Für die Chat App konfigurierte Autorisierung Wird erstellt... eine Mitgliedschaft erfordert Nutzerauthentifizierung mit dem Autorisierungsbereich chat.memberships oder chat.memberships.app.

Nutzer zu Gruppenbereichen einladen oder hinzufügen

Wenn Sie einen Nutzer zu einem Gruppenbereich einladen oder hinzufügen möchten, übergeben Sie in Ihrem Anfrage:

  • Geben Sie den Autorisierungsbereich chat.memberships an.
  • Rufen Sie die Methode create-Methode am membership-Ressource.
  • 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, die Sie erhalten möchten und ist entweder:
    • Die ID für die Person in der People API. Wenn beispielsweise die People API Person resourceName ist people/123456789. Lege dann membership.member.name fest. an users/123456789.
    • Die ID für die Nutzer in der Directory API.
    • Die E-Mail-Adresse des Nutzers. Beispiel: users/[email protected] oder users/[email protected]. Wenn der Nutzer ein Google-Konto oder gehört zu einer anderen Google Workspace-Organisation, müssen Sie deren E-Mail-Adresse.

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 für den Gruppenbereich, der erhalten Sie in der Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

    • 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 für den Gruppenbereich, den Sie im Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

    • 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 die Details zur erstellten Nutzermitgliedschaft enthält.

Google-Gruppen zu Gruppenbereichen einladen oder hinzufügen

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

  • Geben Sie den Autorisierungsbereich chat.memberships an.
  • Rufen Sie die Methode create-Methode am membership-Ressource.
  • 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, die Sie für die Sie eine Mitgliedschaft erstellen möchten. Die ID für die Gruppe kann mithilfe der Cloud Identity API 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 zu Gruppenchats oder Direktnachrichten hinzugefügt werden, 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 für den Gruppenbereich, der erhalten Sie in der Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

    • 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 für den Gruppenbereich, den Sie im Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

    • 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 die Details zur erstellten Gruppenmitgliedschaft enthält.

Chat-App zu einem Gruppenbereich hinzufügen

Eine Chat-App kann einer Leerzeichen. So fügen Sie einem Gruppenbereich eine Chat-App hinzu: oder eine Direktnachricht zwischen zwei menschlichen Nutzern senden, übergeben Sie in Ihrer Anfrage Folgendes:

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

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, der erhalten Sie in der Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

  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, der erhalten Sie in der Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

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

    node add-app-to-space.js
    

Die Chat API gibt eine Instanz von membership die Details zur erstellten App-Mitgliedschaft enthält.