メッセージの添付ファイルに関するメタデータを取得する

このガイドでは、Google Chat API の Media リソースの get メソッドを使用して、メッセージの添付ファイルに関するメタデータを取得する方法について説明します。レスポンスは Attachment リソースのインスタンスです。

ユーザーがアプリにメッセージを送信すると、Google Chat から MESSAGE インタラクション イベントが送信されます。アプリが受信する操作イベントにはリクエストの本文が含まれます。これは、操作イベント(添付ファイルを含む)を表す JSON ペイロードです。添付ファイルのデータは、添付ファイルがコンテンツ(ローカル ファイル)としてアップロードされたものか、ドライブに保存されたファイルかによって異なります。Media リソースは、画像、動画、ドキュメントなど、Google Chat にアップロードされたファイルを表します。Attachment リソースは、メッセージに添付されたメディア(ファイル)のインスタンスを表します。Attachment リソースには、アタッチメントに関するメタデータ(保存場所など)が含まれます。

前提条件

Python

  • Python 3.6 以降
  • pip パッケージ管理ツール
  • Python 用の最新の Google クライアント ライブラリ。これらをインストールまたは更新するには、コマンドライン インターフェースで次のコマンドを実行します。

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Google Chat API が有効で構成された Google Cloud プロジェクト。手順については、Google Chat アプリを作成するをご覧ください。
  • Chat アプリ用に認可が構成されています。メッセージを取得するには、chat.bot 承認スコープを使用したアプリ認証が必要です。

メッセージの添付ファイルを取得する

Google Chat でメッセージの添付ファイルに関するメタデータを非同期で取得するには、リクエストで次のものを渡します。

メッセージの添付ファイルに関するメタデータを取得する方法は次のとおりです。

Python

  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 のインスタンスを返します。