Mitgliedschaft eines Nutzers in einem Google Chat-Bereich aktualisieren

In diesem Leitfaden wird die Verwendung des update() für die Ressource Membership der Google Chat API, um Attribute zu ändern zu einer Mitgliedschaft, z. B. zum Ändern eines Mitglieds eines Gruppenbereichs zu einem Administrator oder vom Administrator eines Gruppenbereichs zu einem Mitglied des Gruppenbereichs.

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

Mitgliedschaft aktualisieren

Wenn Sie die Mitgliedschaft in einem Gruppenbereich aktualisieren möchten, geben Sie in Ihrer Anfrage Folgendes 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. Bei der Aktualisierung eines Mitgliedschaft mit App-Authentifizierung kannst du nur Mitgliedschaften aktualisieren in Gruppenbereiche, die von Chat-Apps erstellt wurden. Die App-Authentifizierung ist nur einmal erforderlich Administratorgenehmigung
  • Rufen Sie die Methode UpdateMembership() auf.
  • Übergeben Sie membership als Instanz von Membership Dabei gilt:
    • Das Feld name, das auf die zu aktualisierende Mitgliedschaft festgelegt ist und eine Gruppenbereich-ID enthält und eine Mitglieds-ID.
    • Die zu aktualisierenden Mitgliedschaftsfelder werden auf die neuen Werte festgelegt.
  • Übergeben Sie updateMask, um die Aspekte der zu aktualisierenden Mitgliedschaft anzugeben. umfasst Folgendes:
    • role: Die Rolle eines 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. das Senden von Nachrichten an den Gruppenbereich. In Einzelunterhaltungen und unbenannten Gruppenunterhaltungen hat jeder diese Rolle.
      • ROLE_MANAGER: Administrator eines Gruppenbereichs Der Nutzer verfügt über alle grundlegenden Berechtigungen sowie Administratorberechtigungen, mit denen sie den Gruppenbereich verwalten können, z. B. Mitglieder entfernen Wird nur in Gruppenbereichen unterstützt, in denen „spaceType“ den Wert „SPACE“ hat (benannte Gruppenbereiche).

Ein reguläres Mitglied eines Gruppenbereichs zum Administrator des 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

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

Ersetzen Sie zum Ausführen des Beispiels Folgendes:

  • SPACE_NAME: die ID aus dem name Sie können die ID durch Aufrufen der Methode ListSpaces() oder aus der URL des Gruppenbereichs abrufen.
  • MEMBER_NAME: die ID aus der name Sie erhalten die ID durch Aufrufen der ListMemberships() oder aus dem Antworttext, der nach dem Erstellen einer Mitgliedschaft zurückgegeben wurde. mit der Chat API asynchron ausführen.
  • 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 Administrator eines Gruppenbereichs zu einem regulären Mitglied machen

Im folgenden Beispiel wird die Chat API mit 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

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

Ersetzen Sie Folgendes, um das Beispiel auszuführen:

  • SPACE_NAME: die ID aus dem name des Gruppenbereichs. Sie erhalten die ID durch Aufrufen der ListSpaces() oder anhand der URL des Gruppenbereichs erfolgen.
  • MEMBER_NAME: die ID aus der name Sie können die ID durch Aufrufen der Methode ListMemberships() oder aus dem Antworttext abrufen, der zurückgegeben wird, nachdem eine Mitgliedschaft asynchron mit der Chat API erstellt wurde.
  • 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

Die App-Authentifizierung ist nur einmal erforderlich Administratorgenehmigung

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:

  1. Gehen Sie in der Google Cloud Console zu „Menü“  > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
  3. Ihr neuer API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ . um Ihren API-Schlüssel zur 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

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_membership_update_to_manager_app.py.
  2. 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()
    
  3. 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 Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs abrufen können.

    • MEMBERSHIP: ein Mitgliedsname, der erhalten Sie in der Methode spaces.members.list in der Chat API.

  4. 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:

  1. Gehen Sie in der Google Cloud Console zu „Menü“  > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel:
  3. Ihr neuer API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ . um Ihren API-Schlüssel zur 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 einzuschränken. Ihres API-Schlüssels. Weitere Informationen finden Sie unter Einschränkungen für API-Schlüssel anwenden.

Skript zum Aufrufen der Chat API schreiben

Im folgenden Beispiel wird die Chat API mit App-Authentifizierung um einen Administrator des Gruppenbereichs zu einem regulären Mitglied des Gruppenbereichs zu machen, indem Sie role als ROLE_MEMBER in der body, die aktualisierte Mitgliedschaftsattribute angibt:

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, 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()
    
  3. Ersetzen Sie im Code Folgendes:

    • API_KEY: API-Schlüssel, den Sie zum Erstellen erstellt haben Dienstendpunkt für die Chat API

    • SPACE: ein Name für den Gruppenbereich, der erhalten Sie in der Methode spaces.list in der Chat API oder über die URL eines Gruppenbereichs.

    • MEMBERSHIP: ein Mitgliedsname, den du über die spaces.members.list-Methode in der Chat API abrufen kannst.

  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() anrufen Methode zum Aktualisieren der Mitgliedschaften für einen beliebigen Bereich in Ihrem Google Workspace-Konto Unternehmen.

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 der Anfrage den Abfrageparameter useAdminAccess in true an.

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