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 La API de Google Chat para obtener metadatos sobre el archivo adjunto de un mensaje. La respuesta es una instancia de la Recurso Attachment.

Cuando el usuario envía un mensaje a tu app, Google Chat envía Evento de interacción MESSAGE. El evento de interacción que recibe tu app incluye el cuerpo de la solicitud, que es el Carga útil de JSON que representa el evento de interacción, incluidos los adjuntos. El datos en el adjunto varían según si el adjunto está contenido subido (un archivo local) o es un archivo almacenado en Drive. El Recurso Media representa un archivo subido 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 Attachment incluye los metadatos sobre el adjunto, como donde se guardan.

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 instalarlas o actualizarlas, Ejecuta el siguiente comando en tu interfaz de línea de comandos:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Recibe el archivo adjunto de un mensaje

Para obtener metadatos de forma asíncrona sobre el archivo adjunto de un mensaje en Google Chat, pasa lo siguiente en tu solicitud:

  • Especifica el alcance de la autorización chat.bot.
  • Llama al Método get en la Recurso Attachment,
  • Pasa el name del archivo adjunto del mensaje.

Para obtener los metadatos del archivo adjunto de un mensaje, sigue estos pasos:

Python

  1. En tu 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 con el nombre del archivo adjunto del mensaje.

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

    python3 chat_get_message_attachment.py
    

La API de Chat devuelve una instancia de Attachment que detalla los metadatos acerca del archivo adjunto del mensaje especificado.