Gruppenbereich aktualisieren

In dieser Anleitung wird erläutert, wie Sie mit der Methode patch in der Ressource Space der Google Chat API einen Gruppenbereich aktualisieren. Sie können einen Gruppenbereich aktualisieren, um Attribute zu ändern, z. B. den für den Nutzer sichtbaren Anzeigenamen, die Beschreibung und Richtlinien.

Die Ressource Space stellt einen Ort dar, an dem Nutzer und Chat-Apps Nachrichten senden, Dateien freigeben und zusammenarbeiten können. Es gibt verschiedene Arten von Gruppenbereichen:

  • Direktnachrichten (DMs) sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und einer Chat-App.
  • Gruppenchats sind Unterhaltungen zwischen drei oder mehr Nutzern und Chat-Apps.
  • Benannte Gruppenbereiche sind persistente Orte, an denen Nutzer Nachrichten senden, Dateien freigeben und zusammenarbeiten.

Voraussetzungen

Python

  • Python 3.6 oder höher
  • Das Paketverwaltungstool pip
  • Die aktuellen Google-Clientbibliotheken für Python. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren oder zu aktualisieren:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Ein Google Cloud-Projekt, in dem die Google Chat API aktiviert und konfiguriert ist. Eine entsprechende Anleitung finden Sie unter Google Chat-App erstellen.
  • Für die Chat-App konfigurierte Autorisierung. Zum Aktualisieren eines Gruppenbereichs ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.spaces erforderlich.

Node.js

  • Node.js und npm
  • Aktuelle Google-Clientbibliotheken für Node.js Führen Sie den folgenden Befehl über die Befehlszeile aus, um sie zu installieren:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Ein Google Cloud-Projekt, in dem die Google Chat API aktiviert und konfiguriert ist. Eine entsprechende Anleitung finden Sie unter Google Chat-App erstellen.
  • Für die Chat-App konfigurierte Autorisierung. Zum Aktualisieren eines Gruppenbereichs ist eine Nutzerauthentifizierung mit dem Autorisierungsbereich chat.spaces erforderlich.

Gruppenbereiche aktualisieren

Übergeben Sie in Ihrer Anfrage Folgendes, um einen vorhandenen Gruppenbereich in Google Chat zu aktualisieren:

  • Geben Sie den Autorisierungsbereich chat.spaces an.
  • Rufen Sie die Methode patch für die Ressource Space auf und übergeben Sie den name des zu aktualisierenden Bereichs sowie einen updateMask und ein body für die aktualisierten Gruppenbereichsattribute.
  • Mit updateMask werden die Aspekte des zu aktualisierenden Bereichs angegeben. Dazu gehören:
    • displayName: Aktualisiert den für Nutzer lesbaren Namen des Gruppenbereichs, der in der Google Chat-UI angezeigt wird. Unterstützt nur das Ändern des Anzeigenamens eines Gruppenbereichs mit dem Typ SPACE oder wenn zusätzlich die Maske spaceType einbezogen wird, um einen GROUP_CHAT-Bereichstyp in SPACE zu ändern. Der Versuch, den Anzeigenamen eines GROUP_CHAT- oder DIRECT_MESSAGE-Bereichs zu aktualisieren, führt zu einem Fehler mit einem ungültigen Argument.
    • spaceType: Aktualisiert den Typ des Gruppenbereichs, kann aber nur den Typ GROUP_CHAT in SPACE ändern. Fügen Sie displayName zusammen mit spaceType in die Aktualisierungsmaske ein und achten Sie darauf, dass für das angegebene Leerzeichen displayName und der Bereichstyp SPACE nicht leer sind. Wenn der vorhandene Bereich bereits den Typ SPACE hat, ist einschließlich der Maske spaceType und des Typs SPACE im angegebenen Bereich beim Aktualisieren des Anzeigenamens optional . Wenn Sie versuchen, den Bereichstyp auf andere Weise zu aktualisieren, wird ein Fehler aufgrund eines ungültigen Arguments ausgegeben.
    • spaceDetails: Details zum Gruppenbereich, einschließlich einer Beschreibung und Regeln.
    • spaceHistoryState: Unterstützt die Aktivierung oder Deaktivierung des Verlaufs für den Gruppenbereich, wenn in der Organisation Nutzer ihre Verlaufseinstellungen ändern können. Schließt sich mit allen anderen Feldpfaden gegenseitig aus.

So aktualisieren Sie die spaceDetails eines vorhandenen Gruppenbereichs:

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_update.py.
  2. Fügen Sie den folgenden Code in chat_space_update.py ein:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.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.spaces"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates the specified space description and guidelines.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                          'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().patch(
    
          # The space to update, and the updated space details.
          #
          # Replace {space} with a space name.
          # Obtain the space name from the spaces resource of Chat API,
          # or from a space's URL.
          name='spaces/SPACE',
          updateMask='spaceDetails',
          body={
    
            'spaceDetails': {
              'description': 'This description was updated with Chat API!',
              'guidelines': 'These guidelines were updated with Chat API!'
            }
    
          }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Ersetzen Sie im Code SPACE durch den Namen eines Gruppenbereichs, den Sie mit der Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.

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

    python3 chat_space_update.py
    

Node.js

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen update-space.js.
  2. Fügen Sie den folgenden Code in update-space.js ein:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a Chat space with the description and guidelines.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.patch({
        name: 'spaces/SPACE',
        updateMask: 'spaceDetails',
        requestBody: {
          spaceDetails: {
            description: 'This description was updated with Chat API!',
            guidelines: 'These guidelines were updated with Chat API!'
          },
        }
      });
    }
    
    updateSpace().then(console.log);
    
  3. Ersetzen Sie im Code SPACE durch den Namen eines Gruppenbereichs, den Sie mit der Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.

  4. Führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:

    node update-space.js
    

Die Google Chat API gibt eine Instanz der Ressource Space zurück, die die Aktualisierungen widerspiegelt.