In dieser Anleitung wird beschrieben, wie Sie mit der Methode update() für die Ressource Membership der Google Chat API Attribute einer Mitgliedschaft ändern, z. B. ein Mitglied eines Gruppenbereichs in einen Gruppenbereichsmanager oder einen Gruppenbereichsinhaber.
Wenn Sie Google Workspace-Administrator sind, können Sie die Methode update() aufrufen, um die Mitgliedschaft eines beliebigen Bereichs in Ihrer Google Workspace-Organisation zu aktualisieren.
Die Membership-Ressource gibt an, ob ein menschlicher Nutzer oder eine Google Chat-App zu einem Gruppenbereich eingeladen wurde, Teil eines Gruppenbereichs ist oder nicht.
Vorbereitung
Node.js
- Ein Google Workspace-Konto für Unternehmen mit Zugriff auf Google Chat.
- Umgebung einrichten:
- Google Cloud-Projekt erstellen
- OAuth-Zustimmungsbildschirm konfigurieren
- Aktivieren und konfigurieren Sie die Google Chat API mit einem Namen, einem 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
credentials.jsonin 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 einen Autorisierungsbereich aus, je nachdem, ob Sie sich als Nutzer oder als Chat-App authentifizieren möchten.
Mitgliedschaft aktualisieren
Wenn Sie eine Mitgliedschaft in einem Bereich aktualisieren möchten, übergeben Sie Folgendes in Ihrer Anfrage:
- Geben Sie einen Autorisierungsbereich an:
- Geben Sie mit der Nutzerauthentifizierung den
chat.memberships-Autorisierungsbereich an. - Geben Sie bei der App-Authentifizierung den Autorisierungsbereich
chat.app.membershipsan. Wenn Sie eine Mitgliedschaft mit App-Authentifizierung aktualisieren, können Sie nur Mitgliedschaften in Bereichen aktualisieren, die von Chat-Apps erstellt wurden. Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
- Geben Sie mit der Nutzerauthentifizierung den
- Rufen Sie die Methode
UpdateMembership()auf. - Übergeben Sie
membershipals Instanz vonMembershipmit Folgendem:- Das Feld
nameist auf die zu aktualisierende Mitgliedschaft festgelegt und enthält eine Gruppenbereichs-ID und eine Mitglieds-ID. - Die Mitgliedschaftsfelder, die aktualisiert werden sollen, werden auf die neuen Werte gesetzt.
- Das Feld
- Übergeben Sie
updateMask, um die Aspekte der Mitgliedschaft anzugeben, die aktualisiert werden sollen. Dazu gehören die folgenden:role: Rolle des Nutzers in einem Chatbereich, die seine zulässigen Aktionen im Bereich bestimmt. Ausführliche Erläuterungen zu Berechtigungen finden Sie in der Chat API-Referenzdokumentation unterMembershipRole. Mögliche Werte:ROLE_MEMBER: Ein Mitglied des Gruppenbereichs. In der Chat-Benutzeroberfläche wird diese Rolle als Mitglied bezeichnet.ROLE_ASSISTANT_MANAGER: Ein Administrator des Gruppenbereichs. In der Chat-Benutzeroberfläche wird diese Rolle als Manager bezeichnet.ROLE_MANAGER: Ein Bereichsinhaber. In der Chat-Benutzeroberfläche wird diese Rolle als Inhaber bezeichnet.
Ein Mitglied zum Inhaber machen (Nutzerauthentifizierung)
Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um ein reguläres Space-Mitglied zum Space-Inhaber zu machen. Dazu wird role als ROLE_MANAGER angegeben:
Node.js
So führen Sie das Beispiel aus:
SPACE_NAME: Die ID aus demnamedes Bereichs. Sie können die ID abrufen, indem Sie die MethodeListSpaces()aufrufen oder die URL des Bereichs verwenden.MEMBER_NAME: die ID aus demnameder Mitgliedschaft. Sie können die ID abrufen, indem Sie die MethodeListMemberships()aufrufen oder aus dem Antworttext, der nach dem asynchronen Erstellen einer Mitgliedschaft mit der Chat API zurückgegeben wird.ROLE_NAME: die aktualisierte RolleROLE_MANAGER. Sie können diesen Wert auf einen beliebigen Wert vonMembershipRolefestlegen. Wenn Sie beispielsweise ein reguläres Mitglied zum Administrator des Gruppenbereichs machen möchten, ändern SieROLE_NAMEinROLE_ASSISTANT_MANAGER.
Die Google Chat API aktualisiert die angegebene Mitgliedschaft auf einen Gruppenbereichsinhaber und gibt eine Instanz von Membership zurück.
Inhaber in Mitglied ändern (Nutzerauthentifizierung)
Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um einen Gruppenbereichsinhaber zu einem regulären Gruppenbereichsmitglied zu machen. Dazu wird role als ROLE_MEMBER angegeben:
Node.js
So führen Sie das Beispiel aus:
SPACE_NAME: Die ID aus demnamedes Bereichs. Sie können die ID abrufen, indem Sie die MethodeListSpaces()aufrufen oder die URL des Bereichs verwenden.MEMBER_NAME: die ID aus demnameder Mitgliedschaft. Sie können die ID abrufen, indem Sie die MethodeListMemberships()aufrufen oder aus dem Antworttext, der nach dem asynchronen Erstellen einer Mitgliedschaft mit der Chat API zurückgegeben wird.ROLE_NAME: die aktualisierte RolleROLE_MEMBER.
Die Google Chat API aktualisiert die angegebene Mitgliedschaft auf einen Gruppenbereichsinhaber und gibt eine Instanz von Membership zurück.
Mitglied zum Inhaber machen (Authentifizierung in der Chat-App)
Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
Skript zum Aufrufen der Chat API schreiben
Im folgenden Beispiel wird die Chat API mit App-Authentifizierung aufgerufen, um ein reguläres Gruppenbereichsmitglied zum Gruppenbereichsinhaber zu machen. Dazu wird role als ROLE_MANAGER im body angegeben, das die aktualisierten Mitgliedschaftsattribute enthält:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_update_to_owner_app.py. Fügen Sie den folgenden Code in
chat_membership_update_to_owner_app.pyein: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 owner. ''' # 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) # 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', # Replace ROLE with a MembershipRole value. # Obtain the MembershipRole values from the membership of Chat API. body={'role': 'ROLE'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()Ersetzen Sie im Code Folgendes:
SPACE: Ein Bereichsname, den Sie über die Methodespaces.listin der Chat API oder über die URL eines Bereichs abrufen können.MEMBERSHIP: Ein Mitgliedschaftsname, den Sie über diespaces.members.list-Methode in der Chat API abrufen können.ROLE: die aktualisierte RolleROLE_MANAGER. Sie können diesen Wert auf einen beliebigen Wert vonMembershipRolefestlegen. Wenn Sie beispielsweise ein reguläres Mitglied zum Administrator des Gruppenbereichs machen möchten, ändern SieROLEinROLE_ASSISTANT_MANAGER.
Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 chat_membership_update_to_owner_app.py
Einen Inhaber in ein Mitglied ändern (Authentifizierung in der Chat-App)
Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
Skript zum Aufrufen der Chat API schreiben
Im folgenden Beispiel wird die Chat API mit App-Authentifizierung aufgerufen, um einen Gruppenbereichsinhaber zu einem regulären Gruppenbereichsmitglied zu machen. Dazu wird role als ROLE_MEMBER im body angegeben, das die aktualisierten Mitgliedschaftsattribute enthält:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_membership_update_to_member_app.py. Fügen Sie den folgenden Code in
chat_membership_update_to_member_app.pyein: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 owner to change it to a regular member. ''' # 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) # 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:
SPACE: Ein Bereichsname, den Sie über die Methodespaces.listin der Chat API oder über die URL eines Bereichs abrufen können.MEMBERSHIP: Ein Mitgliedschaftsname, den Sie über diespaces.members.list-Methode in der Chat API abrufen können.
Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es 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 update()-Methode aufrufen, um die Mitgliedschaften für einen beliebigen Bereich in Ihrer Google Workspace-Organisation zu aktualisieren.
So rufen Sie diese Methode als Google Workspace-Administrator auf:
- Rufen Sie die Methode mit der Nutzerauthentifizierung auf und geben Sie einen Autorisierungsbereich an, der den Aufruf der Methode mit Administratorberechtigungen unterstützt.
- Geben Sie in Ihrer Anfrage den Abfrageparameter
useAdminAccessalstruean.
Weitere Informationen und Beispiele finden Sie unter Gruppenbereiche in Google Chat als Google Workspace-Administrator verwalten.
Weitere Informationen
- Nutzer oder Google Chat-App in einen Gruppenbereich einladen oder hinzufügen
- Details zur Mitgliedschaft eines Nutzers oder einer Chat-App abrufen
- Mitglieder eines Gruppenbereichs auflisten
- Nutzer oder Chat-App aus einem Gruppenbereich entfernen