In dieser Anleitung wird beschrieben, wie Sie mit der Methode update()
die Membership
-Ressource der Google Chat API verwenden, um Attribute einer Mitgliedschaft zu ändern, z. B. ein Gruppenbereichsmitglied in einen Gruppenbereichsmanager oder einen Gruppenbereichsmanager in ein Gruppenbereichsmitglied umzuwandeln.
Wenn Sie Google Workspace-Administrator sind, können Sie die Methode update()
aufrufen, um die Mitgliedschaft eines beliebigen Gruppenbereichs in Ihrer Google Workspace-Organisation zu aktualisieren.
Die Ressource Membership
gibt an, ob ein Nutzer oder eine Google Chat-App zu einem Gruppenbereich eingeladen wurde, zu einem Gruppenbereich gehört oder nicht zu einem Gruppenbereich gehört.
Vorbereitung
Node.js
- Ein Google Workspace-Konto für Unternehmen oder Organisationen mit Zugriff auf Google Chat.
- Richten Sie Ihre Umgebung ein:
- Google Cloud-Projekt erstellen
- Konfigurieren Sie den OAuth-Zustimmungsbildschirm.
- Aktivieren und konfigurieren Sie die Google Chat API mit einem Namen, Symbol und einer Beschreibung für Ihre Chat-App.
- Installieren Sie die Cloud-Clientbibliothek für Node.js.
- Erstellen Sie Anmeldedaten für den Zugriff, je nachdem, wie Sie sich in Ihrer Google Chat API-Anfrage authentifizieren möchten:
- Wenn Sie sich als Chat-Nutzer authentifizieren möchten, erstellen Sie Anmeldedaten für die OAuth-Client-ID und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
client_secrets.json
in Ihrem lokalen Verzeichnis. - Wenn Sie sich als Chat-App authentifizieren möchten, erstellen Sie Anmeldedaten für das Dienstkonto und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
credentials.json
.
- Wenn Sie sich als Chat-Nutzer authentifizieren möchten, erstellen Sie Anmeldedaten für die OAuth-Client-ID und speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
- Wählen Sie den Autorisierungsbereich aus, je nachdem, ob Sie sich als Nutzer oder als Chat-App authentifizieren möchten.
Mitgliedschaft aktualisieren
Wenn Sie die Mitgliedschaft in einem Gruppenbereich aktualisieren möchten, geben Sie Folgendes in Ihrer Anfrage an:
- Geben Sie einen Autorisierungsbereich an:
- Geben Sie bei der Nutzerauthentifizierung den Autorisierungsbereich
chat.memberships
an. - Geben Sie bei der App-Authentifizierung (verfügbar in der Entwicklervorschau) den Autorisierungsbereich
chat.app.memberships
an. Wenn Sie eine Mitgliedschaft mit App-Authentifizierung aktualisieren, können Sie nur Mitgliedschaften in Gruppenbereichen aktualisieren, die mit Chat-Apps erstellt wurden. Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
- Geben Sie bei der Nutzerauthentifizierung den Autorisierungsbereich
- Rufen Sie die Methode
UpdateMembership()
auf. - Übergeben Sie
membership
als Instanz vonMembership
mit folgendem Code:- Das Feld
name
ist auf die zu aktualisierende Mitgliedschaft festgelegt. Es enthält eine Gruppenbereichs-ID und eine Mitglieds-ID. - Die zu aktualisierenden Mitgliedschaftsfelder werden auf die neuen Werte gesetzt.
- Das Feld
- Übergebe
updateMask
, um die Aspekte der Mitgliedschaft anzugeben, die aktualisiert werden sollen. Dazu gehören:role
: Die Rolle eines Nutzers in einem Chatbereich, die seine zulässigen Aktionen im Bereich bestimmt. Mögliche Werte sind:ROLE_MEMBER
: Ein Mitglied des Gruppenbereichs. Der Nutzer hat grundlegende Berechtigungen, z. B. das Senden von Nachrichten an den Gruppenbereich. In Einzelunterhaltungen und unbenannten Gruppenunterhaltungen hat jeder diese Rolle.ROLE_MANAGER
: Administrator des Gruppenbereichs Der Nutzer hat alle grundlegenden Berechtigungen sowie Administratorberechtigungen, mit denen er den Gruppenbereich verwalten kann, z. B. Mitglieder hinzufügen oder entfernen. Nur in Gruppenbereichen unterstützt, in denenspaceType
=SPACE
(benannte Gruppenbereiche).
Einen regulären Gruppenbereichsmitglied als Nutzer zum Administrator eines Gruppenbereichs machen
Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um ein reguläres Mitglied eines Gruppenbereichs zum Administrator des Gruppenbereichs zu machen. Dazu wird role
als ROLE_MANAGER
angegeben:
Node.js
Ersetzen Sie zum Ausführen des Beispiels Folgendes:
SPACE_NAME
: die ID aus demname
des Gruppenbereichs. Sie können die ID durch Aufrufen der MethodeListSpaces()
oder aus der URL des Gruppenbereichs abrufen.MEMBER_NAME
: die ID aus dername
der Mitgliedschaft. Sie können die ID durch Aufrufen der MethodeListMemberships()
oder aus dem Antworttext abrufen, der nach dem asynchronen Erstellen einer Mitgliedschaft mit der Chat API zurückgegeben wird.ROLE_NAME
: die aktualisierte Rolle,ROLE_MANAGER
.
Die Google Chat API aktualisiert die angegebene Mitgliedschaft zu einem Gruppenbereichsmanager und gibt eine Instanz von Membership
zurück.
Einen Space-Administrator zu einem regulären Mitglied machen
Im folgenden Beispiel wird die Chat API mithilfe der Nutzerauthentifizierung aufgerufen, um einen Administrator eines Gruppenbereichs in ein reguläres Mitglied des Gruppenbereichs zu verwandeln. Dazu wird role
als ROLE_MEMBER
angegeben:
Node.js
Ersetzen Sie zum Ausführen des Beispiels Folgendes:
SPACE_NAME
: die ID aus demname
des Gruppenbereichs. Sie können die ID durch Aufrufen der MethodeListSpaces()
oder aus der URL des Gruppenbereichs abrufen.MEMBER_NAME
: die ID aus dername
der Mitgliedschaft. Sie können die ID durch Aufrufen der MethodeListMemberships()
oder aus dem Antworttext abrufen, der nach dem asynchronen Erstellen einer Mitgliedschaft mit der Chat API zurückgegeben wird.ROLE_NAME
: die aktualisierte Rolle,ROLE_MEMBER
.
Die Google Chat API aktualisiert die angegebene Mitgliedschaft zu einem Gruppenbereichsmanager und gibt eine Instanz von Membership
zurück.
Ein reguläres Mitglied eines Gruppenbereichs in der Chat App zum Administrator des Gruppenbereichs machen
Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
API-Schlüssel erstellen
Wenn Sie eine API-Methode der Entwicklervorschau aufrufen möchten, müssen Sie eine nicht öffentliche Entwicklervorschauversion des API-Discovery-Dokuments verwenden. Zur Authentifizierung der Anfrage müssen Sie einen API-Schlüssel übergeben.
Öffnen Sie zum Erstellen des API-Schlüssels das Google Cloud-Projekt Ihrer App und führen Sie die folgenden Schritte aus:
- Gehen Sie in der Google Cloud Console zu „Menü“ > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
- Ihr neuer API-Schlüssel wird angezeigt.
- Klicken Sie auf „Kopieren“ , um den API-Schlüssel für die Verwendung im Code Ihrer App zu kopieren. Den API-Schlüssel finden Sie auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts.
- Klicken Sie auf Schlüssel einschränken, um die erweiterten Einstellungen zu aktualisieren und die Verwendung Ihres API-Schlüssels einzuschränken. Weitere Informationen finden Sie unter Einschränkungen für API-Schlüssel anwenden.
Script zum Aufrufen der Chat API schreiben
Im folgenden Beispiel wird die Chat API mithilfe der App-Authentifizierung aufgerufen, um ein reguläres Mitglied eines Gruppenbereichs zum Administrator des Gruppenbereichs zu machen. Dazu wird role
als ROLE_MANAGER
in der body
angegeben, in der die aktualisierten Mitgliedschaftsattribute angegeben sind:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_update_to_manager_app.py
. Fügen Sie in
chat_membership_update_to_manager_app.py
den folgenden Code ein:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code Folgendes:
API_KEY
: Der API-Schlüssel, den Sie zum Erstellen des Dienstendpunkts für die Chat API erstellt haben.SPACE
: Der Name eines Gruppenbereichs, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.MEMBERSHIP
: ein Mitgliedsname, den du über diespaces.members.list
-Methode in der Chat API abrufen kannst.
Erstellen und führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
python3 chat_membership_update_to_manager_app.py
Administrator eines Gruppenbereichs in der Chat App zu einem regulären Mitglied machen
Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
API-Schlüssel erstellen
Wenn Sie eine API-Methode der Entwicklervorschau aufrufen möchten, müssen Sie eine nicht öffentliche Entwicklervorschauversion des API-Discovery-Dokuments verwenden. Zur Authentifizierung der Anfrage müssen Sie einen API-Schlüssel übergeben.
Öffnen Sie zum Erstellen des API-Schlüssels das Google Cloud-Projekt Ihrer App und führen Sie die folgenden Schritte aus:
- Gehen Sie in der Google Cloud Console zu „Menü“ > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
- Ihr neuer API-Schlüssel wird angezeigt.
- Klicken Sie auf „Kopieren“ , um den API-Schlüssel für die Verwendung im Code Ihrer App zu kopieren. Den API-Schlüssel finden Sie auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts.
- Klicken Sie auf Schlüssel einschränken, um die erweiterten Einstellungen zu aktualisieren und die Verwendung Ihres API-Schlüssels einzuschränken. Weitere Informationen finden Sie unter Einschränkungen für API-Schlüssel anwenden.
Script zum Aufrufen der Chat API schreiben
Im folgenden Beispiel wird die Chat API mithilfe der App-Authentifizierung aufgerufen, um einen Space-Administrator zu einem regulären Mitglied des Spaces zu machen. Dazu wird role
als ROLE_MEMBER
in der body
angegeben, in der die aktualisierten Mitgliedschaftsattribute angegeben sind:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_update_to_member_app.py
. Fügen Sie in
chat_membership_update_to_member_app.py
den folgenden Code ein:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Ersetzen Sie im Code Folgendes:
API_KEY
: Der API-Schlüssel, den Sie zum Erstellen des Dienstendpunkts für die Chat API erstellt haben.SPACE
: Der Name eines Gruppenbereichs, den Sie über die Methodespaces.list
in der Chat API oder über die URL eines Gruppenbereichs abrufen können.MEMBERSHIP
: ein Mitgliedsname, den du über diespaces.members.list
-Methode in der Chat API abrufen kannst.
Erstellen und führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
python3 chat_membership_update_to_member_app.py
Mitgliedschaften als Google Workspace-Administrator aktualisieren
Wenn Sie Google Workspace-Administrator sind, können Sie die Methode update()
aufrufen, um die Mitgliedschaften für jeden Gruppenbereich in Ihrer Google Workspace-Organisation zu aktualisieren.
So rufen Sie diese Methode als Google Workspace-Administrator auf:
- Rufen Sie die Methode mit Nutzerauthentifizierung auf und geben Sie einen Autorisierungsbereich an, der den Aufruf der Methode mit Administratorberechtigungen unterstützt.
- Geben Sie in Ihrer Anfrage den Abfrageparameter
useAdminAccess
antrue
an.
Weitere Informationen und Beispiele finden Sie unter Google Chat-Gruppenbereiche als Google Workspace-Administrator verwalten.
Weitere Informationen
- Nutzer oder Google Chat-Apps zu einem Gruppenbereich einladen oder hinzufügen
- Details zur Mitgliedschaft eines Nutzers oder einer Chat-App abrufen
- Mitglieder in einem Gruppenbereich auflisten
- Nutzer oder Chat-App aus einem Gruppenbereich entfernen