Google Chat アプリを作成する

Google Chat アプリは、Google Apps Script、独自の技術スタック、または Google AppSheet を使用して作成できます。

基本的なチャットアプリを作成するには、次のクイックスタートをご覧ください。

インタラクティブな Google Chat アプリを作成する

ユーザーが Google Chat アプリを操作するには、アプリが Google Chat イベントを受信して応答する必要があります。チャットアプリはさまざまな方法で応答できます。

  • Google Chat でユーザーにシンプルなテキスト メッセージやインタラクティブなカード メッセージを送信する。
  • ダイアログを開いて、フォームデータの入力など、ユーザーがマルチステップのプロセスを完了できるようにします。
  • リンクを展開: 会話から直接操作できる有益な情報が記載されたカードを添付します。

Chat アプリは、Chat API で REST リソースにアクセスすることで、Chat データを非同期で操作することもできます。Chat REST リソースの一般的な用途は次のとおりです。

  • メッセージを作成、削除、更新します。
  • スペースで会話しているユーザーとチャットアプリを一覧表示する。
  • Google Chat アプリが追加されているすべてのスペースを一覧表示します。

多くの Chat アプリは、外部のウェブアプリとサービスに接続して Chat と統合します。

Google Chat アプリを構成するときに、イベントを受信して応答するサービスのエンドポイントを指定する必要があります。インタラクションの作成方法については、イベントの概要をご覧ください。

ユーザーデータへのアクセス

アプリが便利な方法で動作するには、アプリが誰に、どのコンテキストで、そして呼び出し元にどのように対処するかを把握する必要があります。この基本的な ID データ以外のデータにアクセスするには、認証によってアプリにアクセス権を付与する必要があります。

  • デフォルトでは、アプリは、ユーザーを呼び出したユーザー、またはアプリを呼び出したメッセージで名前リンクされているユーザーの基本 ID しか読み取ることができません。この情報には、ユーザーの表示名、ユーザー ID、メールアドレス、アバター画像が含まれます。
  • リンク プレビューを使用するアプリの場合、アプリは、構成済みの URL パターンに一致するメッセージに追加された URL を読み取ることができます。
  • 強化された機能をユーザーに提供するためにアプリが他のデータにアクセスする必要がある場合は、そのデータにアクセスできるように認証を設定します。ユーザーデータにアクセスする場合、アプリはユーザーにアクセスを要求するので、ユーザーはそのアクセスを許可する必要があります。

ユーザーからの独立

チャットアプリは特定のユーザーに関連付けられていないため、ドメイン内の誰もがスペースにアプリを追加したり削除したりできます。スペースにアプリが追加されると、ドメイン内のすべてのユーザーがそのアプリに名前リンクを追加できます。ドメイン外の外部ユーザーはアプリにアクセスできません。

アプリのユースケース

Chat などの会話型プラットフォームにアプリを追加すると、コンテキストを変更することなく、質問、コマンドなどを行うことができます。アプリはそのバックエンドで他のシステムにアクセスして、そのシステムの仲介役として機能します。

統合された認知エクスペリエンスを維持しながら、幅広いリソースとツールへのアクセスを提供するこの機能により、次のような多くのタイプのアプリケーションに優れたフレームワークを提供できます。

  • ワークフロー管理
  • セットアップと構成
  • 注文の生成
  • 検索
  • データ収集

Chat スペース内からアプリに行う操作には、次のようなものがあります。

  • 情報の検索 - アプリは、ユーザーが入力した構造化または自由形式のテキストクエリに基づいて情報を取得できます。
  • ファイル チケット - アプリは、ユーザーから提供された情報を使用して、インシデント レポートやその他のアーティファクトを生成できます。
  • 連携の取り組み - アプリを使用すると、チームメンバーの相互作用(チームメモリの提供やリソースのスケジュール設定など)を強化できます。

Google Chat API

Chat API を使用すると、さまざまな方法でアプリを Chat スペースや DM に統合できますが、アプリロジックの実装や特定の方法の提供は行われません。単純なコマンド ドリブン アプリを作成することも、任意の言語処理サービスと AI サービス、任意のモジュールを使用することもできます。これは、次のようなさまざまなプラットフォームで行えます。

  • Apps Script
  • Google Cloud
  • クラウドまたはオンプレミスの HTTP サーバー

詳細については、アプリ実装のアーキテクチャをご覧ください。

標準の機能

Chat でアプリを構成する際には、次の要素から成る ID を提供する必要があります。

  • アプリ名
  • アプリのアバター画像
  • アプリ デベロッパーの ID

また、ユーザーがアプリの使用を開始するのに役立つ help コマンドや同等の機能も提供する必要があります。

Chat によるアプリの通信

アプリは Chat との間でメッセージを送受信できます。これらのメッセージは、Chat で単純なテキスト メッセージまたはインタラクティブ カードとしてレンダリングできる、定義済みのメッセージ形式を使用します。

ダイレクト メッセージ(DM)のアプリ

ダイレクト メッセージに応答するようにアプリを設定できます。これにより、1 人のユーザーが 1 対 1 で会話するインターフェースが提供されます。

Chat スペースのアプリ

アプリを Chat スペースに追加すると、スペースに表示される特定のコンテンツに応答できます。たとえば、「@altostrat」で始まるすべてのメッセージが Alttostrat アプリに渡され、レスポンスが Chat スペースに表示されるように設定できます。次のシーケンス図は、アプリの動作をまとめたものです。

Chat スペース内の Google Chat アプリのシーケンス。

Chat では、エンドポイントのいずれかを介してアプリと通信します。エンドポイントは、次のいずれかになります。

  • HTTP(ウェブサービス)エンドポイントは、さまざまなスタイルのインタラクションに対応できます。
  • Cloud Pub/Sub エンドポイントを使用すると、実装がファイアウォールの内側にある場合でも、Chat からのメッセージを中継するトピックにアプリをサブスクライブできます。

Chat をアプリに接続するさまざまな方法については、エンドポイントの種類をご覧ください。

Chat の chatbot

chatbot とは、ユーザーとの対話を模倣した方法でコンピュータとやり取りするコンピュータ プログラムのことです。その操作は、単純なキーワード主導のクエリから、自然言語処理と AI の手法を使用した精巧な会話システムまで、さまざまです。この会話形式の人間とコンピュータの相互作用は、さまざまな種類の有用なアプリケーションのフレームワークとして機能します。

初期の chatbot には、Eliza(1964)や Julia(1994)のような学術的な好奇心がありました。現在、bot はカスタマー サポート、Google アシスタントなどの仮想アシスタントなど、さまざまな役割でインターネット上にあります。

Google Chat アプリは chatbot と呼ばれることがあり、アプリ名に「bot」を含めるとサービスをわかりやすく表現できます。Chat アプリは完全に機能するウェブ アプリケーションとサービスであるため、chat アプリは「単なる bot」以上のものと見なすことをおすすめします。