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 los atributos, como el nombre visible, la descripción y los lineamientos visibles para el usuario.
El recurso Space
representa un lugar donde 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 en los que 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.
Autorización configurada para la app de Chat. La actualización de un espacio requiere la autenticación del usuario con el alcance 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.
Autorización configurada para la app de Chat. La actualización de un espacio requiere la autenticación del usuario con el alcance 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 de
chat.spaces
. - Llama al método
patch
en el recursoSpace
y pasa elname
del espacio que deseas actualizar, así como unupdateMask
y unbody
que especifiquen los atributos del espacio actualizados. updateMask
especifica los aspectos del espacio que se actualizarán y, además, incluye lo siguiente:displayName
: Actualiza el nombre legible por el usuario del espacio que se muestra en la IU de Google Chat. Solo admite cambiar el nombre visible de un espacio con el tipoSPACE
o cuando también se incluye la máscaraspaceType
para cambiar un tipo de espacioGROUP_CHAT
aSPACE
. Si intentas actualizar el nombre visible de un espacioGROUP_CHAT
oDIRECT_MESSAGE
, se generará un error de argumento no válido.spaceType
: Actualiza el tipo de espacio, pero solo permite cambiar un tipo de espacioGROUP_CHAT
aSPACE
. IncluyedisplayName
junto conspaceType
en la máscara de actualización y asegúrate de que el espacio especificado tenga undisplayName
no vacío y el tipo de espacioSPACE
. Si el espacio existente ya tiene el tipoSPACE
(incluida la máscaraspaceType
y el tipoSPACE
en el espacio especificado cuando se actualiza el nombre visible es opcional). Si intentas actualizar el tipo de espacio de otra manera, se generará un error de argumento no válido.spaceDetails
: Detalles sobre el espacio, incluidas la descripción y las reglas.spaceHistoryState
: Admite activar o desactivar el historial del espacio si la organización permite que los usuarios cambien el parámetro de configuración del historial. Mutuamente excluyentes con todas las demás rutas de campo.
Sigue estos pasos para actualizar el spaceDetails
de un espacio existente:
Python
- En el directorio de trabajo, crea un archivo llamado
chat_space_update.py
. 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()
En el código, reemplaza
SPACE
por un nombre de espacio, que puedes obtener del métodospaces.list
en la API de Chat o desde la URL de un espacio.En el directorio de trabajo, compila y ejecuta la muestra:
python3 chat_space_update.py
Node.js
- En el directorio de trabajo, crea un archivo llamado
update-space.js
. 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);
En el código, reemplaza
SPACE
por un nombre de espacio, que puedes obtener del métodospaces.list
en la API de Chat o desde la URL de un espacio.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.
Temas relacionados
- Obtener detalles sobre un espacio
- Crea listas de espacios.
- Cómo borrar un espacio
- Configura un espacio.
- Busca un espacio de mensaje directo.