Neste guia, explicamos como usar o método get
no recurso Media
da
API Google Chat para receber metadados sobre um anexo de mensagens. A resposta é uma
instância do
recurso Attachment
.
Quando o usuário envia uma mensagem para seu app, o Google Chat envia um
evento de interação MESSAGE
.
O evento de interação recebido pelo app inclui um corpo da solicitação, que é o payload JSON que representa o evento de interação, incluindo todos os anexos. Os dados no anexo serão diferentes se for conteúdo enviado por upload (um 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 recurso Attachment
inclui os metadados sobre o anexo, como
o local em que ele é salvo.
Pré-requisitos
Python
- Python 3.6 ou superior
- A ferramenta de gerenciamento de pacotes pip
As bibliotecas de cliente mais recentes do Google para Python. Para instalar ou atualizar, execute o seguinte na interface de linha de comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Um projeto do Google Cloud com a API Google Chat ativada e configurada. Veja as etapas em Criar um app do Google Chat.
Autorização configurada para o app do Chat. O recebimento de uma mensagem requer a autenticação do app com o escopo de autorização
chat.bot
.
Receber um anexo de mensagem
Para receber metadados de forma assíncrona sobre um anexo de mensagem no Google Chat, transmita o seguinte na solicitação:
- Especifique o escopo de autorização
chat.bot
. - Chame o
método
get
no recursoAttachment
. - Transmita o
name
do anexo da mensagem.
Veja como acessar os metadados de um anexo de uma mensagem:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_get_message_attachment.py
. 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)
No código, substitua
spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT
pelo nome do anexo da mensagem.No diretório de trabalho, crie e execute a amostra:
python3 chat_get_message_attachment.py
A API Chat retorna uma instância de
Attachment
que detalha os metadados sobre o anexo de mensagem especificado.