このガイドでは、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フィールド。
- 更新するメッセージに設定された
text、cardsV2など、更新するフィールドのリストを指定してupdateMaskを渡します。
更新されたメッセージが カード メッセージで、テキストが更新された場合、 更新されたテキストはカードの先頭に追加されます(カードは引き続き表示されます)。 更新されたメッセージが テキスト メッセージで、カード が更新された場合、更新されたカードはテキストの末尾に追加されます(テキストは引き続き 表示されます)。
アプリ認証を使用してメッセージのテキストとカードを更新する方法は次のとおりです。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、次の値を置き換えます。
SPACE_NAME: スペースのnameからの ID。 ID は、ListSpacesメソッドを呼び出すか、スペースの URL から取得できます。MESSAGE_NAME: メッセージのnameからの ID。 ID は、Chat API を使用してメッセージを非同期で作成した後に返されるレスポンス本文から取得できます。また、作成時にメッセージに割り当てられた カスタム名 から取得することもできます。
Chat API は、更新されたメッセージの詳細を示す
Message
のインスタンスを返します。
カードを非同期で更新する
デベロッパー プレビューでは、
メッセージ内のカードを
replaceCards
メソッドを使用して非同期で更新できます。これは、リンクのプレビューの更新やタスクのステータスの更新など、ユーザー操作なしでカードの内容を更新する場合に便利です。
このメソッドは、アプリによって作成されたメッセージ(ユーザーに代わって作成されたメッセージを含む)で使用できます。
詳細については、 カードを作成して更新するをご覧ください。