В этом руководстве объясняется, как использовать метод get
в Media
ресурсе API Google Chat для получения метаданных о вложении сообщения. Ответом является экземпляр ресурса Attachment
.
Когда пользователь отправляет сообщение в ваше приложение, Google Chat отправляет событие взаимодействия MESSAGE
. Событие взаимодействия, полученное вашим приложением, включает тело запроса, которое представляет собой полезную нагрузку JSON, представляющую событие взаимодействия, включая все вложения. Данные во вложении различаются в зависимости от того, является ли вложение загруженным контентом (локальным файлом) или файлом, хранящимся на Диске. Media
ресурс представляет собой файл, загруженный в Google Chat, например изображения, видео и документы. Ресурс Attachment
представляет собой экземпляр носителя — файла, прикрепленного к сообщению. Ресурс Attachment
включает метаданные о вложении, например, о том, где оно сохранено.
Предварительные условия
Питон
- Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Создайте учетные данные идентификатора клиента OAuth для настольного приложения. Чтобы запустить пример из этого руководства, сохраните учетные данные в виде файла JSON с именем
client_secrets.json
в локальном каталоге.
- Выберите область авторизации , которая поддерживает аутентификацию пользователей.
Получить вложение к сообщению
Чтобы асинхронно получить метаданные о вложении сообщения в Google Chat, передайте в запросе следующее:
- Укажите область авторизации
chat.bot
. - Вызовите метод
get
ресурсаAttachment
, - Передайте
name
вложения сообщения.
Вот как получить метаданные о вложении сообщения:
Питон
- В своем рабочем каталоге создайте файл с
chat_get_message_attachment.py
. Включите следующий код
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)
В коде замените
spaces/ SPACE /messages/ MESSAGE /attachments/ ATTACHMENT
на имя вложения сообщения.В своем рабочем каталоге соберите и запустите пример:
python3 chat_get_message_attachment.py
Chat API возвращает экземпляр Attachment
, в котором подробно описаны метаданные об указанном вложении сообщения.