Google Chat インターフェースを構築する

このページでは、Google Chat を拡張する Google Workspace アドオンのユーザー インターフェース(UI)を構築する方法の概要について説明します。

Chat 用アプリのインターフェースを構築するには、次のアドオン コンポーネントを使用します。

  • トリガー: Google Chat ユーザーが Chat 用アプリを呼び出す方法(スペースに追加する、メッセージを送信するなど)。
  • イベント オブジェクト: Chat 用アプリがトリガーまたは UI 操作から受け取るデータ。
  • アクション: メッセージの送信やカードベースのユーザー インターフェースの返信など、Chat 用アプリがやり取りに応答する方法。
Chat 用アプリがスペースに追加されたトリガーからイベント オブジェクトを受け取る
図 1: ユーザーが Chat 用アプリをスペースに追加すると、スペースに追加トリガーが起動し、イベント オブジェクトが送信されます。メッセージで応答するには、Chat 用アプリがイベント オブジェクトを処理し、メッセージを作成するアクションを返します。

Chat 用アプリは、次のインターフェースでカードを作成して表示できます。

  • テキスト、静的カード、インタラクティブ カード、ボタンを含むことができるメッセージ
  • ダイアログ: 新しいウィンドウで開くカードで、通常はユーザーに情報の送信を求めるものです。
  • 外部サービスに関する情報をプレビューするカードであるリンク プレビュー

トリガー

このセクションでは、Google Workspace アドオンが Chat で使用するトリガーについて説明します。

トリガーは、ユーザーが Chat UI を使用して Chat 用アプリを呼び出す特定の方法です(名前リンクやアプリ コマンドの使用など)。

次の表に、Chat トリガー、説明、Chat 用アプリの一般的な応答方法を示します。

トリガー 説明 一般的な対応
スペースに追加しました

ユーザーが Chat 用アプリをスペースに追加するか、Google Workspace 管理者が組織内のユーザーのダイレクト メッセージ スペースに Chat 用アプリをインストールします。管理者によってインストールされた Chat 用アプリについて詳しくは、Google Workspace 管理者用ヘルプ ドキュメントのドメイン内に Marketplace アプリをインストールするをご覧ください。

Chat 用アプリは、アプリの機能と、スペースのユーザーがアプリを操作する方法を説明するオンボーディング メッセージを送信します。
メッセージ

ユーザーは、メッセージで Chat 用アプリを次のいずれかの方法で操作します。

  • Chat 用アプリを使用して、ダイレクト メッセージ(DM)スペースにメッセージを送信します。
  • あらゆる種類のスペースで Chat 用アプリの名前リンクを付ける。
  • リンク プレビューの URL パターンに一致するリンクを含むメッセージを送信します。
  • selectionInput ウィジェットの複数選択メニューにテキストを入力します。
Chat 用アプリは、メッセージの内容に基づいて応答します。たとえば、Chat 用アプリは、スラッシュ コマンド /about に対して、Chat 用アプリが実行できるタスクを説明するメッセージで応答します。
スペースから削除しました

ユーザーがスペースから Chat 用アプリを削除した場合、または Google Workspace 管理者が組織内のユーザーの Chat 用アプリをアンインストールした場合。

管理者がインストールした Chat 用アプリは削除できません。ユーザーが以前に Chat アプリをインストールしていた場合、Google Workspace 管理者がアンインストールしようとしても、Chat アプリはインストールされたままになります。

Chat 用アプリは、スペース用に構成された受信通知(Webhook の削除など)を削除し、内部ストレージをクリアします。チャットアプリはスペースのメンバーではなくなったため、このトリガーにメッセージで応答できません。
アプリコマンド

ユーザーが Chat 用アプリのコマンドを使用する。

Chat 用アプリがコマンドに応答します。たとえば、メッセージで返信したり、ダイアログを開いたりします。

他の Google Workspace アドオンとは異なり、これらのトリガーのコールバック関数は Google Chat API を使用して構成する必要があります。詳しくは、Google Chat 用アプリを構成するをご覧ください。

トリガーに応答するには、次のガイドをご覧ください。

イベント オブジェクト

Chat 用アプリは、Chat トリガーが起動したとき、または Chat ユーザーが Chat 用アプリの UI を操作したとき(ボタンをクリックするなど)に、イベント オブジェクトを受け取ります。イベント オブジェクトには、Chat 用アプリが応答や UI の更新に使用できるインタラクションに関するデータが含まれています。

イベント オブジェクトの処理については、次のガイドをご覧ください。

Chat やその他の Google Workspace アプリケーション内のアドオン イベント オブジェクトについては、イベント オブジェクトをご覧ください。

チャットの操作

このセクションでは、Chat 用アプリがアドオン アクションを使用してユーザー操作に応答する方法について説明します。

アドオン アクションで応答するには、Chat 用アプリは 30 秒以内に応答する必要があります。また、応答はインタラクションが発生したスペースに投稿する必要があります。それ以外の場合、Chat 用アプリは認証を設定し、Google Chat API を呼び出して応答する必要があります。

チャットアプリは、さまざまな方法でインタラクションを処理して応答できます。多くの場合、Chat 用アプリはメッセージで返信します。チャットアプリは、データソースから情報を検索したり、イベント オブジェクト情報を記録したり、その他さまざまな処理を行うことができます。この処理動作は、Google Chat アプリを定義するうえで不可欠です。

ユーザー操作に応答するには、Chat 用アプリが対応するイベント オブジェクトを処理し、次の JSON オブジェクトのいずれかを返す必要があります。

Chat アプリの応答 返品に必要な対応
メッセージを送信または更新する DataActions
ダイアログを開く、更新する、閉じる。 RenderActions
カードやダイアログから情報を収集するには、ユーザーが複数選択メニューに入力した内容に基づいて選択項目を提案します。 RenderActions
Chat ユーザーがスペースで送信したメッセージ内のリンクのプレビュー DataActions

Google Chat API を使用して応答する

アドオン アクションを返す代わりに、Chat 用アプリで Google Chat API を使用してインタラクションに応答する必要がある場合があります。たとえば、Chat 用アプリは、次のいずれかを行うために Google Chat API を呼び出す必要があります。

  • 30 秒後にインタラクションに応答します。
  • インタラクションが発生したスペース外でタスクを実行する。
  • アドオンのアクションとして利用できないタスクを Chat で実行します。たとえば、ユーザーまたは Chat 用アプリがメンバーになっているスペースを一覧表示したり、スペースにユーザーを追加したりします。
  • Chat ユーザーに代わってタスクを実行します(ユーザー認証が必要です)。

Chat API の認証と呼び出しについては、Chat API の概要をご覧ください。