Mitgliedschaft eines Nutzers in einem Google Chat-Bereich aktualisieren

In dieser Anleitung wird erläutert, wie Sie die update() Methode für die Membership Ressource der Google Chat API verwenden, um Attribute einer Mitgliedschaft zu ändern, z. B. ein Gruppenbereich-Mitglied in einen Gruppenbereich-Manager oder einen Gruppenbereich-Inhaber zu ändern.

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 Membership Ressource gibt an, ob ein menschlicher Nutzer oder eine Google Chat-App zu einem Gruppenbereich eingeladen wurde, Mitglied ist oder nicht teilnimmt.

Vorbereitung

Node.js

Mitgliedschaft aktualisieren

Wenn Sie eine Gruppenbereich-Mitgliedschaft aktualisieren möchten, übergeben Sie Folgendes in Ihrer Anfrage:

  • Geben Sie einen Autorisierungsbereich an:
    • Geben Sie bei der Nutzerauthentifizierung den chat.memberships Autorisierungsbereich an.
    • Geben Sie bei der App-Authentifizierung, den chat.app.memberships Autorisierungsbereich 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 UpdateMembership() Methode auf.
  • Übergeben Sie membership als Instanz von Membership mit Folgendem:
    • Das Feld name ist auf die zu aktualisierende Mitgliedschaft festgelegt, einschließlich einer Gruppenbereich-ID und einer Mitglieds-ID.
    • Die zu aktualisierenden Mitgliedschaftsfelder sind auf die neuen Werte festgelegt.
  • Übergeben Sie updateMask, um die Aspekte der zu aktualisierenden Mitgliedschaft anzugeben. Dazu gehören:
    • role: Die Rolle des Nutzers in einem Chat-Gruppenbereich, die seine zulässigen Aktionen im Gruppenbereich bestimmt. Eine detaillierte Erläuterung der Berechtigungen finden Sie unter MembershipRole in der Referenzdokumentation zur Chat API. Mögliche Werte sind:
      • ROLE_MEMBER: Ein Mitglied des Gruppenbereichs. In der Chat-UI wird diese Rolle als Mitglied bezeichnet.
      • ROLE_ASSISTANT_MANAGER: Ein Gruppenbereich-Manager. In der Chat-UI wird diese Rolle als Manager bezeichnet.
      • ROLE_MANAGER: Ein Gruppenbereich-Inhaber. In der Chat-UI wird diese Rolle als Inhaber bezeichnet.

Mitglied in einen Inhaber ändern (Nutzerauthentifizierung)

Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um ein reguläres Gruppenbereich-Mitglied in einen Gruppenbereich-Inhaber zu ändern. 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);
}

await main();

Ersetzen Sie zum Ausführen des Beispiels Folgendes:

  • SPACE_NAME: die ID aus dem Gruppenbereichs name. Sie können die ID abrufen, indem Sie die ListSpaces() Methode aufrufen oder die URL des Gruppenbereichs verwenden.
  • MEMBER_NAME: die ID aus dem name der Mitgliedschaft. Sie können die ID abrufen, indem Sie die ListMemberships() Methode 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. Sie können diesen Wert auf einen beliebigen Wert von MembershipRole festlegen. Wenn Sie das reguläre Mitglied beispielsweise zu einem Gruppenbereich-Manager machen möchten, ändern Sie ROLE_NAME stattdessen in ROLE_ASSISTANT_MANAGER.

Die Google Chat API aktualisiert die angegebene Mitgliedschaft zu einem Gruppenbereich-Inhaber und gibt eine Instanz von Membership zurück.

Inhaber in ein Mitglied ändern (Nutzerauthentifizierung)

Im folgenden Beispiel wird die Chat API mit Nutzerauthentifizierung aufgerufen, um einen Gruppenbereich-Inhaber in ein reguläres Gruppenbereich-Mitglied zu ändern. Dazu wird role als ROLE_MEMBERangegeben:

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);
}

await main();

Ersetzen Sie zum Ausführen des Beispiels Folgendes:

  • SPACE_NAME: die ID aus dem Gruppenbereichs name. Sie können die ID abrufen, indem Sie die ListSpaces() Methode aufrufen oder die URL des Gruppenbereichs verwenden.
  • MEMBER_NAME: die ID aus dem name der Mitgliedschaft. Sie können die ID abrufen, indem Sie die ListMemberships() Methode 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 Gruppenbereich-Inhaber und gibt eine Instanz von Membership zurück.

Mitglied in einen Inhaber ändern (Chat-App-Authentifizierung)

Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.

Skript schreiben, das die Chat API aufruft

Im folgenden Beispiel wird die Chat API mit App-Authentifizierung aufgerufen, um ein reguläres Gruppenbereich-Mitglied in einen Gruppenbereich-Inhaber zu ändern. Dazu wird role als ROLE_MANAGER im body angegeben, der aktualisierte Mitgliedschaftsattribute enthält:

Python

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

    • SPACE: ein Gruppenbereich-Name, den Sie mit der spaces.list Methode in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

    • MEMBERSHIP: ein Mitgliedschaftsname, den Sie mit der spaces.members.list Methode in der Chat API abrufen können.

    • ROLE: die aktualisierte Rolle, ROLE_MANAGER. Sie können diesen Wert auf einen beliebigen Wert von MembershipRole festlegen. Wenn Sie das reguläre Mitglied beispielsweise zu einem Gruppenbereich-Manager machen möchten, ändern Sie ROLE stattdessen in ROLE_ASSISTANT_MANAGER.

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

    python3 chat_membership_update_to_owner_app.py

Inhaber in ein Mitglied ändern (Chat-App-Authentifizierung)

Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.

Skript schreiben, das die Chat API aufruft

Im folgenden Beispiel wird die Chat API mit App-Authentifizierung aufgerufen, um einen Gruppenbereich-Inhaber in ein reguläres Gruppenbereich-Mitglied zu ändern. Dazu wird role als ROLE_MEMBER in der body angegeben, die 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 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()
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: ein Gruppenbereich-Name, den Sie mit der spaces.list Methode in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

    • MEMBERSHIP: ein Mitgliedschaftsname, den Sie mit der 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 Methode update() aufrufen, um 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 Administratorberechtigungenunterstützt.
  • Geben Sie in Ihrer Anfrage den Abfrageparameter useAdminAccess auf true an.

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