Получить метаданные о вложении сообщения

В этом руководстве объясняется, как использовать метод get в Media ресурсе API Google Chat для получения метаданных о вложении сообщения. Ответом является экземпляр ресурса Attachment .

Когда пользователь отправляет сообщение в ваше приложение, Google Chat отправляет событие взаимодействия MESSAGE . Событие взаимодействия, полученное вашим приложением, включает тело запроса, которое представляет собой полезную нагрузку JSON, представляющую событие взаимодействия, включая все вложения. Данные во вложении различаются в зависимости от того, является ли вложение загруженным контентом (локальным файлом) или файлом, хранящимся на Диске. Media ресурс представляет собой файл, загруженный в Google Chat, например изображения, видео и документы. Ресурс Attachment представляет собой экземпляр носителя — файла, прикрепленного к сообщению. Ресурс Attachment включает метаданные о вложении, например, о том, где оно сохранено.

Предварительные условия

Питон

  • Python 3.6 или выше
  • Инструмент управления пакетами pip
  • Новейшие клиентские библиотеки Google для Python. Чтобы установить или обновить их, выполните следующую команду в интерфейсе командной строки:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Проект Google Cloud с включенным и настроенным API Google Chat. Инструкции см. в разделе Создание приложения Google Chat .
  • Авторизация настроена для приложения Чат. Для получения сообщения требуется аутентификация приложения с областью авторизации chat.bot .

Получить вложение к сообщению

Чтобы асинхронно получить метаданные о вложении сообщения в Google Chat, передайте в запросе следующее:

Вот как получить метаданные о вложении сообщения:

Питон

  1. В своем рабочем каталоге создайте файл с chat_get_message_attachment.py .
  2. Включите следующий код 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. В коде замените spaces/ SPACE /messages/ MESSAGE /attachments/ ATTACHMENT на имя вложения сообщения.

  4. В своем рабочем каталоге соберите и запустите пример:

    python3 chat_get_message_attachment.py
    

Chat API возвращает экземпляр Attachment , в котором подробно описаны метаданные об указанном вложении сообщения.