En esta guía, se explica cómo usar el método get
en el recurso Media
de la API de Google Chat para obtener metadatos sobre un archivo adjunto de mensaje. La respuesta es una instancia del recurso Attachment
.
Cuando el usuario envía un mensaje a tu app, Google Chat envía un evento de interacción MESSAGE
.
El evento de interacción que recibe tu app incluye un cuerpo de solicitud, que es la carga útil JSON que representa el evento de interacción, incluidos los archivos adjuntos. Los datos del archivo adjunto difieren en función de si se subió contenido (un archivo local) o si es un archivo almacenado en Drive. El recurso Media
representa un archivo que se sube a Google Chat, como imágenes, videos y documentos.
El recurso Attachment
representa una instancia de contenido multimedia (un archivo) adjunto a un mensaje. El recurso Attachment
incluye los metadatos sobre el adjunto, como dónde se guarda.
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 google-auth
- 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. Para obtener un mensaje, se requiere autenticación de la app con el permiso de autorización
chat.bot
.
Obtén un archivo adjunto de mensaje
Para obtener metadatos sobre un archivo adjunto de mensaje de manera asíncrona en Google Chat, pasa lo siguiente en la solicitud:
- Especifica el alcance de la autorización de
chat.bot
. - Llama al método
get
en el recursoAttachment
. - Pasa el
name
del archivo adjunto del mensaje.
Sigue estos pasos para obtener metadatos sobre el archivo adjunto de un mensaje:
Python
- En el directorio de trabajo, crea un archivo llamado
chat_get_message_attachment.py
. Incluye el siguiente código en
chat_get_message_attachment.py
:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Get a Chat message. result = chat.spaces().messages().attachments().get( # The message to get. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MESSAGE with a message name. # Obtain the message name from the response body returned # after creating a message asynchronously with Chat REST API. name='spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT' ).execute() # Print Chat API's response in your command line interface. print(result)
En el código, reemplaza
spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT
por el nombre del archivo adjunto del mensaje.En el directorio de trabajo, compila y ejecuta la muestra:
python3 chat_get_message_attachment.py
La API de Chat muestra una instancia de Attachment
que detalla los metadatos sobre el archivo adjunto del mensaje especificado.
Temas relacionados
- Cómo subir contenido multimedia como un archivo adjunto
- Cómo descargar contenido multimedia como un archivo adjunto