このガイドでは、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 認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat 用アプリとして認証するかに基づいて、 認証スコープを選択します。
Python
- Google Chat へのアクセス権を持つ Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する。
- Chat 用アプリの名前、アイコン、説明を使用して、Google Chat API を有効にして構成します。
- Python Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証を行う方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat 用アプリとして認証するかに基づいて、 認証スコープを選択します。
Java
- Google Chat へのアクセス権を持つ Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する。
- Chat 用アプリの名前、アイコン、説明を使用して、Google Chat API を有効にして構成します。
- Java Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証を行う方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat 用アプリとして認証するかに基づいて、 認証スコープを選択します。
Apps Script
- Google Chat へのアクセス権を持つ Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する。
- Chat 用アプリの名前、アイコン、説明を使用して、Google Chat API を有効にして構成します。
- スタンドアロンの Apps Script プロジェクトを作成し、高度な Chat サービスを有効にします。
- このガイドでは、ユーザー認証またはアプリ認証のいずれかを使用する必要があります。Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成します。手順については、Google Chat アプリとして認証と認可を行うをご覧ください。
- ユーザーとして認証するか、Chat 用アプリとして認証するかに基づいて、 認証スコープを選択します。
ユーザーに代わってメッセージを更新する
ユーザー認証では、メッセージのテキストのみを更新できます。
ユーザー認証を使用してメッセージを更新するには、リクエストで次の情報を渡します。
chat.messages
認可スコープを指定します。UpdateMessage()
メソッドを呼び出します。- 次のコードを使用して、
message
をMessage
のインスタンスとして渡します。- 更新するメッセージに設定された
name
フィールド。スペース ID とメッセージ ID が含まれます。 - 新しいテキストが設定された
text
フィールド。
- 更新するメッセージに設定された
- 値
text
を含むupdateMask
を渡します。
更新されたメッセージがカード メッセージの場合、テキストはカードの先頭に追加されます(カードは引き続き表示されます)。
ユーザー認証を使用してメッセージを更新したり、カード メッセージにテキスト メッセージを追加したりする方法は次のとおりです。
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
のインスタンスを返します。