このガイドでは、Google Chat API の Message
リソースの update()
メソッドを使用して、スペース内のテキスト メッセージまたはカード メッセージを更新する方法について説明します。メッセージを更新して、メッセージの属性(メッセージの内容やカードの内容など)を変更します。カード メッセージの前にテキスト メッセージを追加したり、テキスト メッセージの後にカードを追加したりすることもできます。
Chat API では、Chat メッセージは Message
リソースで表されます。Chat ユーザーはテキストを含むメッセージのみを送信できますが、Chat アプリでは静的またはインタラクティブなユーザー インターフェースの表示、ユーザーからの情報収集、メッセージの非公開配信など、その他の多くのメッセージ機能を使用できます。Chat API で利用可能なメッセージ機能の詳細については、Google Chat メッセージの概要をご覧ください。
前提条件
Node.js
- Google Chat にアクセスできる Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Chat アプリの名前、アイコン、説明を使用して、Google Chat API を有効にして構成します。
- Node.js の Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストでの認証方法に基づいてアクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
Python
- Google Chat にアクセスできる Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Python の Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証する方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成し、その認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
Java
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Java Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証する方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
Apps Script
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- スタンドアロンの Apps Script プロジェクトを作成し、高度な Chat サービスを有効にします。
- このガイドでは、ユーザー認証またはアプリの認証を使用する必要があります。Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成します。手順については、Google Chat アプリとして認証と認可を行うをご覧ください。
- ユーザーとして認証するか、Chat アプリとして認証するかに応じて、 認可スコープを選択します。
ユーザーに代わってメッセージを更新する
ユーザー認証では、メッセージのテキストのみを更新できます。
ユーザー認証を使用してメッセージを更新するには、リクエストで次のように渡します。
chat.messages
認可スコープを指定します。UpdateMessage()
メソッドを呼び出します。- 次のように、
message
をMessage
のインスタンスとして渡します。- 更新するメッセージに設定された
name
フィールド。スペース ID とメッセージ ID が含まれます。 - 新しいテキストが設定された
text
フィールド。
- 更新するメッセージに設定された
updateMask
と値text
を渡します。
更新されたメッセージがカード メッセージの場合、テキストはカードの先頭に追加されます(引き続き表示されます)。
ユーザー認証を使用してメッセージを更新する、またはカード メッセージにテキスト メッセージを追加する方法は次のとおりです。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、次のように置き換えます。
SPACE_NAME
: スペースのname
の ID。ID を取得するには、ListSpaces()
メソッドを呼び出すか、スペースの URL を使用します。MESSAGE_NAME
: メッセージのname
からの ID。ID は、Chat API と非同期でメッセージを作成した後に返されるレスポンスの本文から、または作成時にメッセージに割り当てられたカスタム名から取得できます。
Chat API は、更新されたメッセージの詳細を示す Message
のインスタンスを返します。
Chat アプリとしてメッセージを更新する
アプリ認証では、メッセージのテキストとカードの両方を更新できます。
アプリ認証を使用してメッセージを更新するには、リクエストで次の情報を渡します。
chat.bot
認可スコープを指定します。UpdateMessage()
メソッドを呼び出します。- 次のように、
message
をMessage
のインスタンスとして渡します。name
フィールドは、更新するメッセージに設定します。これには、スペース ID とメッセージ ID が含まれます。- 更新が必要な場合は、新しいテキストで設定された
text
フィールド。 - 更新が必要な場合は、新しいカードで設定された
cardsV2
フィールド。
updateMask
に、更新するフィールドのリスト(text
、cardsV2
など)を渡します。
更新されたメッセージがカード メッセージで、テキストが更新された場合、更新されたテキストがカードの前に追加されます(カードは引き続き表示されます)。更新されたメッセージがテキスト メッセージで、カードが更新された場合、更新されたカードはテキストに追加されます(テキストは引き続き表示されます)。
アプリ認証を使用してメッセージのテキストとカードを更新する方法は次のとおりです。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、次のように置き換えます。
SPACE_NAME
: スペースのname
の ID。ID は、ListSpaces()
メソッドを呼び出すか、スペースの URL から取得できます。MESSAGE_NAME
: メッセージのname
の ID。ID は、Chat API を使用してメッセージを非同期で作成した後に返されるレスポンス本文から取得できます。また、作成時にメッセージに割り当てられたカスタム名から取得することもできます。
Chat API は、更新されたメッセージの詳細を示す Message
のインスタンスを返します。