Actualizar un espacio

En esta guía, se explica cómo usar el método patch en el recurso Space de la API de Google Chat para actualizar un espacio. Actualiza un espacio para cambiar sus atributos, como el nombre visible para el usuario, la descripción y los lineamientos.

El recurso Space representa un lugar en el que las personas y las apps de Chat pueden enviar mensajes, compartir archivos y colaborar. Existen varios tipos de espacios:

  • Los mensajes directos (MD) son conversaciones entre dos usuarios o un usuario y una app de Chat.
  • Los chats en grupo son conversaciones entre tres o más usuarios y las apps de Chat.
  • Los espacios con nombre son lugares persistentes donde las personas envían mensajes, comparten archivos y colaboran.

Requisitos previos

Python

  • Python 3.6 o superior
  • La herramienta de administración de paquetes pip
  • Las bibliotecas cliente de Google más recientes para Python. Para instalarlos o actualizarlos, ejecuta el siguiente comando en tu interfaz de línea de comandos:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Un proyecto de Google Cloud con la API de Google Chat habilitada y configurada. Para conocer los pasos, consulta Compila una app de Google Chat.
  • La autorización configurada para la app de Chat. La actualización de un espacio requiere la autenticación de usuarios con el permiso de autorización chat.spaces.

Node.js

  • Node.js y npm
  • Las bibliotecas cliente de Google más recientes para Node.js. Para instalarlos, ejecuta el siguiente comando en tu interfaz de línea de comandos:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • Un proyecto de Google Cloud con la API de Google Chat habilitada y configurada. Para conocer los pasos, consulta Compila una app de Google Chat.
  • La autorización configurada para la app de Chat. La actualización de un espacio requiere la autenticación de usuarios con el permiso de autorización chat.spaces.

Actualiza un espacio

Para actualizar un espacio existente en Google Chat, pasa lo siguiente en la solicitud:

  • Especifica el alcance de la autorización chat.spaces.
  • Llama al método patch en el recurso Space. En tu solicitud, debes especificar el campo name del espacio, el campo updateMask con uno o más campos para actualizar y un body con la información actualizada del espacio.

Puedes actualizar datos como el nombre visible, el tipo de espacio, el estado del historial y mucho más. Para ver todos los campos que puedes actualizar, consulta la documentación de referencia.

Sigue estos pasos para actualizar el campo spaceDetails de un espacio existente:

Python

  1. En el directorio de trabajo, crea un archivo llamado chat_space_update.py.
  2. Incluye el siguiente código en 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. En el código, reemplaza SPACE por un nombre de espacio, que puedes obtener del método spaces.list en la API de Chat o de la URL de un espacio.

  4. En tu directorio de trabajo, compila y ejecuta la muestra:

    python3 chat_space_update.py
    

Node.js

  1. En el directorio de trabajo, crea un archivo llamado update-space.js.
  2. Incluye el siguiente código en 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. En el código, reemplaza SPACE por un nombre de espacio, que puedes obtener del método spaces.list en la API de Chat o de la URL de un espacio.

  4. En tu directorio de trabajo, ejecuta la muestra:

    node update-space.js
    

La API de Google Chat muestra una instancia del recurso Space que refleja las actualizaciones.