Aggiornare uno spazio

Questa guida spiega come utilizzare il metodo patch nella risorsa Space dell'API Google Chat per aggiornare uno spazio. Aggiorna uno spazio per modificarne gli attributi, come il nome visualizzato, la descrizione e le linee guida visibili agli utenti.

La risorsa Space rappresenta un luogo in cui le persone e le app di Chat possono inviare messaggi, condividere file e collaborare. Esistono diversi tipi di spazi:

  • I messaggi diretti sono conversazioni tra due utenti o un utente e un'app di Chat.
  • Le chat di gruppo sono conversazioni tra tre o più utenti e app di Chat.
  • Gli spazi con nome sono luoghi permanenti in cui le persone inviano messaggi, condividono file e collaborano.

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo comando nell'interfaccia a riga di comando:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Un progetto Google Cloud con l'API Google Chat abilitata e configurata. Per i passaggi da seguire, vedi Creare un'app Google Chat.
  • Autorizzazione configurata per l'app Chat. Per aggiornare uno spazio è necessaria l'autenticazione dell'utente con l'ambito di autorizzazione chat.spaces.

Node.js

  • Node.js e npm
  • Le librerie client di Google più recenti per Node.js. Per installarle, esegui questo comando nell'interfaccia a riga di comando:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Un progetto Google Cloud con l'API Google Chat abilitata e configurata. Per i passaggi da seguire, vedi Creare un'app Google Chat.
  • Autorizzazione configurata per l'app Chat. Per aggiornare uno spazio è necessaria l'autenticazione dell'utente con l'ambito di autorizzazione chat.spaces.

Aggiornare uno spazio

Per aggiornare uno spazio esistente in Google Chat, trasmetti quanto segue nella richiesta:

  • Specifica l'ambito dell'autorizzazione chat.spaces.
  • Chiama il metodo patch sulla risorsa Space. Nella richiesta, specifica il campo name dello spazio, il campo updateMask con uno o più campi da aggiornare e un body con le informazioni aggiornate sullo spazio.

Puoi aggiornare, ad esempio, il nome visualizzato, il tipo di spazio, lo stato della cronologia e altro ancora. Per visualizzare tutti i campi che puoi aggiornare, consulta la documentazione di riferimento.

Ecco come aggiornare il campo spaceDetails di uno spazio esistente:

Python

  1. Nella directory di lavoro, crea un file denominato chat_space_update.py.
  2. Includi il seguente codice in chat_space_update.py:

    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 updated space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Nel codice, sostituisci SPACE con il nome di uno spazio, che puoi ottenere dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.

  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_space_update.py
    

Node.js

  1. Nella directory di lavoro, crea un file denominato update-space.js.
  2. Includi il seguente codice in update-space.js:

    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. Nel codice, sostituisci SPACE con il nome di uno spazio, che puoi ottenere dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.

  4. Nella directory di lavoro, esegui l'esempio:

    node update-space.js
    

L'API Google Chat restituisce un'istanza della risorsa Space che riflette gli aggiornamenti.