Mitgliedschaft eines Nutzers in einem Google Chat-Bereich aktualisieren

In dieser Anleitung wird beschrieben, wie Sie mit der Methode update() für die Ressource Membership der Google Chat API Attribute einer Mitgliedschaft ändern können, z. B. ein Gruppenbereichsmitglied in einen Gruppenbereichsmanager oder einen Gruppenbereichsmanager in ein Gruppenbereichsmitglied.

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

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.memberships an. Wenn Sie eine Mitgliedschaft mit App-Authentifizierung aktualisieren, können Sie nur Mitgliedschaften in Gruppenbereichen aktualisieren, die von Chat-Apps erstellt wurden. Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
  • Rufen Sie die Methode UpdateMembership() auf.
  • Übergeben Sie membership als Instanz von Membership mit Folgendem:
    • Das Feld name ist auf die zu aktualisierende Mitgliedschaft festgelegt und enthält eine Gruppenbereichs-ID und eine Mitglieds-ID.
    • Die zu aktualisierenden Mitgliedschaftsfelder, die auf die neuen Werte festgelegt sind.
  • Übergeben Sie updateMask, um die Aspekte der Mitgliedschaft anzugeben, die aktualisiert werden sollen. Dazu gehören die folgenden:
    • role: Die Rolle des Nutzers in einem Chatbereich, die seine zulässigen Aktionen im Bereich bestimmt. Mögliche Werte:
      • ROLE_MEMBER: Ein Mitglied des Gruppenbereichs. Der Nutzer hat grundlegende Berechtigungen, z. B. zum Senden von Nachrichten an den Bereich. In Einzel- und unbenannten Gruppenunterhaltungen hat jeder diese Rolle.
      • ROLE_MANAGER: Ein Administrator des Gruppenbereichs. Der Nutzer hat alle grundlegenden Berechtigungen sowie Administratorberechtigungen, mit denen er den Bereich verwalten kann, z. B. Mitglieder hinzufügen oder entfernen. Wird nur in Bereichen unterstützt, in denen spaceType SPACE ist (benannte Bereiche).

Ein reguläres Mitglied eines Gruppenbereichs als Nutzer zum Administrator des Gruppenbereichs machen

Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um ein reguläres Gruppenbereichsmitglied zum Gruppenbereichsmanager zu machen. Dazu wird role als ROLE_MANAGER angegeben:

Node.js

chat/client-libraries/cloud/update-membership-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.memberships'];

// This sample shows how to update a membership with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

  // Make the request
  const response = await chatClient.updateMembership(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

So führen Sie das Beispiel aus:

  • SPACE_NAME: Die ID aus dem name des Bereichs. Sie können die ID abrufen, indem Sie die Methode ListSpaces() aufrufen oder die URL des Bereichs verwenden.
  • MEMBER_NAME: die ID aus dem name der Mitgliedschaft. Sie können die ID abrufen, indem Sie die Methode ListMemberships() aufrufen oder aus dem Antworttext, 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.

Administrator eines Gruppenbereichs als Nutzer zum regulären Mitglied machen

Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um einen Space-Administrator zu einem regulären Space-Mitglied zu machen. Dazu wird role als ROLE_MEMBER angegeben:

Node.js

chat/client-libraries/cloud/update-membership-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.memberships'];

// This sample shows how to update a membership with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    membership: {
      // Replace SPACE_NAME and MEMBER_NAME here
      name: 'spaces/SPACE_NAME/members/MEMBER_NAME',
      // Replace ROLE_NAME here with ROLE_MEMBER or ROLE_MANAGER
      role: 'ROLE_NAME'
    },
    updateMask: {
      // The field paths to update.
      paths: ['role']
    }
  };

  // Make the request
  const response = await chatClient.updateMembership(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

So führen Sie das Beispiel aus:

  • SPACE_NAME: Die ID aus dem name des Bereichs. Sie können die ID abrufen, indem Sie die Methode ListSpaces() aufrufen oder die URL des Bereichs verwenden.
  • MEMBER_NAME: die ID aus dem name der Mitgliedschaft. Sie können die ID abrufen, indem Sie die Methode ListMemberships() aufrufen oder aus dem Antworttext, 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 als Chat-App zum Administrator des Gruppenbereichs machen

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 der App-Authentifizierung aufgerufen, um ein reguläres Gruppenbereichsmitglied zum Gruppenbereichsmanager zu machen. Dazu wird role als ROLE_MANAGER im body angegeben, das die aktualisierten Mitgliedschaftsattribute enthält:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_update_to_manager_app.py.
  2. Fügen Sie den folgenden Code in chat_membership_update_to_manager_app.py 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)
    
        # 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()
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: Ein Bereichsname, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Bereichs abrufen können.

    • MEMBERSHIP: Ein Mitgliedschaftsname, den Sie über die spaces.members.list-Methode in der Chat API abrufen können.

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

    python3 chat_membership_update_to_manager_app.py

Administrator eines Gruppenbereichs als reguläres Mitglied festlegen (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 Space-Administrator zu einem normalen Space-Mitglied zu machen. Dazu wird role als ROLE_MEMBER im body angegeben, das aktualisierte Mitgliedschaftsattribute enthält:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_update_to_member_app.py.
  2. Fügen Sie den folgenden Code in chat_membership_update_to_member_app.py 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)
    
        # 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()
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: Ein Bereichsname, den Sie über die Methode spaces.list in der Chat API oder über die URL eines Bereichs abrufen können.

    • MEMBERSHIP: Ein Mitgliedschaftsname, den Sie über die spaces.members.list-Methode in der Chat API abrufen können.

  4. 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 useAdminAccess als true an.

Weitere Informationen und Beispiele finden Sie unter Gruppenbereiche in Google Chat als Google Workspace-Administrator verwalten.