Nutzer oder eine Google Chat App in einen Gruppenbereich einladen oder hinzufügen

In diesem Leitfaden wird erläutert, wie Sie mit der Methode create für die Ressource membership der Google Chat API einen Nutzer oder eine Chat-App in einen Gruppenbereich einladen oder hinzufügen. Dieser wird auch als „Mitgliedschaft erstellen“ bezeichnet. Wenn das angegebene Mitglied beim Erstellen einer Mitgliedschaft die Richtlinie zum automatischen Akzeptieren deaktiviert hat, wird es eingeladen und muss die Einladung für den Gruppenbereich annehmen, bevor es beitreten kann. Andernfalls wird das Mitglied beim Erstellen einer Mitgliedschaft direkt dem angegebenen Gruppenbereich hinzugefügt.

Die Ressource Membership gibt an, ob ein menschlicher Nutzer oder eine Google Chat-App in einen Gruppenbereich eingeladen wurde, Teil von diesem Gruppenbereich ist oder nicht anwesend ist.

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-httplib2 google-auth-oauthlib oauth2client
    
  • Eine veröffentlichte Chat-App. Informationen zum Erstellen und Veröffentlichen einer Chat-App finden Sie unter Google Chat-App erstellen.

  • Für die Chat-Anwendung konfigurierte Autorisierung. Zum Erstellen einer Mitgliedschaft ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.memberships oder chat.memberships.app erforderlich.

Nutzer in einen Gruppenbereich einladen oder hinzufügen

Wenn Sie einen Nutzer in einen 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.
  • Setzen Sie member auf users/{user}, wobei {user} die Person ist, für die Sie eine Mitgliedschaft erstellen möchten, und entweder:
    • Die ID für die Person in der People API. Wenn der Personen resourceName der People API beispielsweise people/123456789 ist, legen Sie membership.member.name auf users/123456789 fest.
    • Die ID des Nutzers 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:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # 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: Der Name des Gruppenbereichs, den Sie in der Chat API über die Methode spaces.list 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
    

Die Chat API gibt eine Instanz von membership zurück, die Details zur erstellten Mitgliedschaft enthält.

Chat-Apps zu Gruppenbereichen 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 der 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 für member den Alias users/app fest. Dieser Alias steht für die Anwendung, 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:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # 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 den Namen eines Gruppenbereichs, den Sie in der Chat API mit der Methode spaces.list oder aus der 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
    

Die Chat API gibt eine Instanz von membership zurück, die Details zur erstellten Mitgliedschaft enthält.