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, la descripción y los lineamientos visibles para el usuario.
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 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 la interfaz de línea de comandos:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Una app de Chat publicada. Para crear y publicar una app de Chat, consulta Cómo compilar 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 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 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 de espacio actualizados. updateMask
especifica los aspectos del espacio que se actualizará y, además, incluye lo siguiente:displayName
: Actualiza el nombre legible para el usuario del espacio que se muestra en la IU de Google Chat. Solo se admite el cambio del 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 otras maneras, se generará un error de argumento no válido.spaceDetails
: Detalles sobre el espacio, incluidas la descripción y las reglas.spaceHistoryState
: Admite la activación o desactivación del historial del espacio si la organización permite que los usuarios cambien la 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
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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()
En el código, reemplaza
SPACE
por el nombre de un espacio, que puedes obtener del métodospaces.list
en la API de Chat, o bien desde la URL de un espacio.En el directorio de trabajo, compila y ejecuta la muestra:
python3 chat_space_update.py
La API de Google Chat muestra una instancia del recurso Space
que refleja las actualizaciones.
Temas relacionados
- Obtén detalles sobre un espacio.
- Enumera espacios.
- Borrar un espacio.
- Configura un espacio.
- Busca un espacio de mensaje directo.