概要

Google Chat アプリを構築して、サービスやリソースを Google Chat に取り入れることができるため、ユーザーは会話から離れることなく情報を取得し、操作を行うことができます。

Google Chat は、次のような機能によりチームのコラボレーションをサポートします。

  • ユーザー間のダイレクト メッセージ。
  • スペース内のスレッド形式の会話。
  • プロジェクトごと、チームごとなどで専用のディスカッション スペースを作成できるチャット スペース。
  • スペースに参加したり、ダイレクト メッセージに返信したりできる Chat アプリ。

メッセージとスペース

Google Chat と Chat アプリ間のやり取りは、特定のスペースのコンテキストでメッセージを使用して行われます。たとえば、Chat アプリはテキスト(メッセージの一種)を特定の Chat スペースに送信できます。

メッセージには、Chat アプリの操作、テキスト、カードが含まれ、スペースにはチャットルームとダイレクト メッセージが含まれます。

上の図は、メッセージとスペースで使用できるさまざまな種類のインタラクションとコンテキストを示しています。

  • Google Chat と Chat アプリ間のメッセージは、定義されたメッセージ形式に従います。各メッセージは JSON オブジェクトで構成され、そのコンポーネントにはメッセージのユーザー ID、スタイル、コンテンツなどの要素が指定されます。Chat 用アプリは、次の種類のメッセージを送信できます。

    • テキスト メッセージ: テキスト メッセージには、テキストの書式設定が制限された書式なしテキスト コンテンツが含まれます。
    • カード メッセージ: カード メッセージは、スペースに表示されるカードの形式、コンテンツ、動作を定義します。たとえば、カード メッセージに、ユーザーから情報を収集するためのダイアログを開くリンクのボタンを含めることができます。


      カード作成ツールを使用して、Chat アプリのメッセージとユーザー インターフェースを設計し、プレビューできます。

      カードビルダーを開く

  • Google Chat では、スペースに次のコンテキストを設定できます。

    • 名前付きスペースまたはグループ スペースは、複数のユーザーに表示されます。
    • ダイレクト メッセージは、そのスペース内のユーザーにのみ表示されます。

ユースケース

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

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

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

Chat スペース内から Chat アプリに依頼できる操作の例を次に示します。

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

Chat アプリを作成する

このセクションでは、作成できる Chat アプリの種類について説明します。

ビルドする Chat アプリごとに、Google Cloud コンソールで個別の Google Cloud プロジェクトを作成する必要があります。Chat アプリをデプロイして他の Google Chat ユーザーと共有するには、Google Workspace Marketplace で公開して一覧表示します。詳細については、Chat アプリのデプロイを作成して管理するをご覧ください。

インタラクティブなチャット アプリ

多くの Chat アプリでは、ユーザーが Chat アプリに直接メッセージを送信したり、操作したりできます。インタラクティブ Chat アプリは、次のいずれかを行うことができます。

  • 名前リンク付きメッセージコマンド、ダイレクト メッセージにテキスト メッセージまたはカード メッセージで返信します。
  • ダイアログを開いて、ユーザーがフォームデータの入力などの複数のステップからなるプロセスを完了できるようにします。
  • リンクをプレビュー: 会話から直接操作できるように、便利な情報を記載したカードを添付します。

ユーザーとやり取りするには、Chat アプリがインタラクション イベントを受信して応答できる必要があります。インタラクティブな Chat アプリを作成するには、Google Chat アプリのインタラクション イベントを受信して応答するをご覧ください。

インタラクティブでない Chat アプリ

Google Chat アプリは、ユーザーが Chat アプリを直接操作できないが、Chat アプリが Google Chat API を直接呼び出す場合、ユーザーに対して非インタラクティブにすることもできます。たとえば、スペースにメッセージを送信する Chat アプリを作成できますが、ユーザーは Chat アプリに返信できません。このタイプの Chat アプリのアーキテクチャは、アラーム レポートなどに便利です。詳細については、Google Chat API の概要をご覧ください。

イベント ドリブンの Chat アプリ

Chat アプリは、Google Workspace Events API を使用して Chat リソースに関するイベントをサブスクライブできます。サブスクリプションを使用すると、Chat アプリは、サブスクライブされた Google Workspace リソースの変更を表すイベントに関する情報を受信できます。たとえば、Chat アプリは、Chat アプリが定期購入しているスペースの変更に応答できます。たとえば、スペースに追加された新規メンバーにウェルカム メッセージを送信できます。詳細については、Google Chat イベントをサブスクライブするをご覧ください。

Chat アプリのアーキテクチャを選択する

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

  • AppSheet
  • Google Apps Script
  • Dialogflow
  • Pub/Sub
  • Google Cloud またはオンプレミス HTTP サーバー

詳細については、Chat アプリのアーキテクチャを選択するをご覧ください。

アプリによるユーザーデータへのアクセス

チャットアプリが呼び出されると、呼び出し元、呼び出し元のコンテキスト、呼び出し元への対応方法を把握する必要があります。この基本的な ID データ以外のデータにアクセスするには、Chat アプリに認証を介してアクセス権を付与する必要があります。

  • デフォルトでは、チャットアプリは、アプリを呼び出すユーザー、またはアプリを呼び出す同じメッセージで@メンションされたユーザーの基本的な ID のみを読み取ることができます。この情報には、ユーザーの表示名、ユーザー ID、メールアドレス、アバター画像が含まれます。
  • リンクをプレビューする Chat アプリの場合、Chat アプリは、Chat アプリで構成された URL パターンと一致するメッセージに追加された URL を読み取ることができます。

  • Chat アプリが、すべてのメッセージやスペースのメンバーのリストなどの高度な機能をユーザーに提供するために他のデータにアクセスする必要がある場合は、そのデータにアクセスできるように認証を設定します。ユーザーデータにアクセスする場合、Chat アプリはアクセスをリクエストするプロンプトをユーザーに表示します。ユーザーはアクセスを許可する必要があります。詳しくは、Chat アプリを他のサービスやツールに接続するをご覧ください。

Google Chat API の動作を確認したい場合は、
Google Workspace デベロッパー チャンネルでは、ヒント、コツ、最新機能に関する動画をご覧いただけます。