Receber metadados sobre um anexo de mensagem

Este guia explica como usar o método get no recurso Media da API Google Chat para receber metadados sobre um anexo de mensagem. A resposta é uma instância do Recurso Attachment.

Quando o usuário envia uma mensagem para seu app, o Google Chat envia uma Evento de interação MESSAGE. O evento de interação recebido pelo seu aplicativo inclui um corpo de solicitação, que é o Payload JSON que representa o evento de interação, incluindo qualquer anexo. O os dados no anexo serão diferentes se ele for conteúdo enviado por upload (arquivo local) ou armazenado no Drive. O Recurso Media representa um arquivo enviado para o Google Chat, como imagens, vídeos e documentos. O Recurso Attachment representa uma instância de mídia (um arquivo) anexada a uma mensagem. O Attachment recurso inclui os metadados sobre o anexo, como onde eles serão salvos.

Pré-requisitos

Python

  • Python 3.6 ou superior
  • a ferramenta de gerenciamento de pacotes PIP;
  • As bibliotecas de cliente mais recentes do Google. Para instalar ou atualizar esses recursos, execute o seguinte comando na interface de linha de comando:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Receber um anexo de mensagem

Para receber metadados de maneira assíncrona sobre um anexo de mensagem no Google Chat, transmita o seguinte na sua solicitação:

Veja como conseguir metadados sobre um anexo de mensagem:

Python

  1. Em seu diretório de trabalho, crie um arquivo chamado chat_get_message_attachment.py:
  2. Inclua o seguinte código em 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. No código, substitua spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT com o nome do anexo da mensagem.

  4. No diretório de trabalho, crie e execute o exemplo:

    python3 chat_get_message_attachment.py
    

A API Chat retorna uma instância do Attachment que detalha os metadados sobre o anexo de mensagem especificado.