Cómo obtener metadatos sobre un archivo adjunto de un mensaje

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 recurso Attachment.
  • Pasa el name del archivo adjunto del mensaje.

Sigue estos pasos para obtener metadatos sobre el archivo adjunto de un mensaje:

Python

  1. En el directorio de trabajo, crea un archivo llamado chat_get_message_attachment.py.
  2. 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)
    
  3. En el código, reemplaza spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT por el nombre del archivo adjunto del mensaje.

  4. 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.