このガイドでは、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 でメッセージの添付ファイルに関するメタデータを非同期で取得するには、リクエストで次のものを渡します。
chat.bot
承認スコープを指定します。Attachment
リソースでget
メソッドを呼び出します。- メッセージ添付ファイルの
name
を渡します。
メッセージの添付ファイルに関するメタデータを取得する方法は次のとおりです。
Python
- 作業ディレクトリに
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
のインスタンスを返します。