Google Apps Script を使用して Google Chat アプリを作成する

直接メッセージを送信でき、メッセージをエコーして応答する Google Chat アプリを作成します。

次の図は、アーキテクチャとメッセージング パターンを示しています。

Apps Script で実装された Chat アプリのアーキテクチャ。

上の図では、Apps Script の Chat アプリを操作しているユーザーには、次のような情報フローがあります。

  1. ユーザーがダイレクト メッセージまたは Chat スペースで Chat アプリにメッセージを送信します。
  2. Google Cloud にある Apps Script に実装されている Chat アプリのロジックが、メッセージを受信して処理します。
  3. 必要に応じて、Chat アプリのロジックを、カレンダーやスプレッドシートなどの Google Workspace サービスや、Google マップや YouTube などの Google サービスと統合できます。
  4. Chat アプリのロジックにより、Chat の Chat アプリサービスにレスポンスが返されます。
  5. レスポンスがユーザーに配信されます。

目標

  • 環境を設定する。
  • スクリプトを設定します。
  • Chat アプリを公開します。
  • Chat アプリをテストします。

前提条件

環境を設定する

Google Cloud コンソールで Cloud プロジェクトを開く

まだ開いていない場合は、このサンプルで使用する Cloud プロジェクトを開きます。

  1. Google Cloud コンソールで [プロジェクトの選択] ページに移動します。

    Cloud プロジェクトを選択

  2. 使用する Google Cloud プロジェクトを選択します。または、[プロジェクトを作成] をクリックし、画面の指示に従います。Google Cloud プロジェクトを作成する場合は、プロジェクトの課金を有効にすることが必要な場合があります。

Chat API を有効にする

Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。

OAuth 2.0 を使用するすべてのアプリには、同意画面の構成が必要です。アプリの OAuth 同意画面を構成すると、ユーザーとアプリ審査担当者に表示される内容を定義し、後で公開できるようにアプリを登録します。

  1. Google Cloud コンソールで、メニュー > [API とサービス] > [OAuth 同意画面] に移動します。

    OAuth 同意画面に移動

  2. [ユーザーの種類] で [内部] を選択し、[作成] をクリックします。
  3. アプリ登録フォームに入力し、[保存して次へ] をクリックします。
  4. 現時点では、スコープの追加をスキップして、[Save and Continue] をクリックします。今後、Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更してから、アプリに必要な認証スコープを追加する必要があります。

  5. アプリ登録の概要を確認します。変更するには、[編集] をクリックします。アプリ登録に問題がない場合は、[Back to Dashboard] をクリックします。

スクリプトを設定する

スクリプトを設定するには、テンプレートを使用して、Apps Script で Cloud プロジェクトを設定します。

テンプレートからスクリプトを作成する

  1. Apps Script の [スタートガイド] ページに移動します。
  2. [Chat App] テンプレートをクリックします。このテンプレートが表示されていない場合は、下にスクロールします。
  3. [無題のプロジェクト] をクリックし、「Quickstart app」と入力して [名前を変更] をクリックします。

Cloud プロジェクト番号をコピーする

  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [設定] に移動します。

    [IAM と管理] の設定に移動

  2. [プロジェクト番号] フィールドで、値をコピーします。

Apps Script プロジェクトの Cloud プロジェクトを設定する

  1. Chat アプリの Apps Script プロジェクトで、[プロジェクトの設定] プロジェクト設定のアイコン をクリックします。
  2. [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
  3. [GCP のプロジェクト番号] に、Google Cloud のプロジェクト番号を貼り付けます。
  4. [プロジェクトを設定] をクリックします。

これで、動作中のアプリコードが完成しました。次の手順で試し、要件に合わせてカスタマイズできます。

Apps Script テンプレートを開くときは、正しい Google アカウントにログインしていることをご確認ください。気づかないうちに、現在のアカウントがデフォルトのアカウントに切り替えられることがあります。

テストデプロイを作成する

この Apps Script プロジェクトのデプロイ ID が必要です。この ID は次のステップで使用できます。

ヘッドデプロイ ID を取得する手順は次のとおりです。

  1. Chat アプリ Apps Script プロジェクトで、[デプロイ] > [デプロイをテスト] をクリックします。
  2. 後のステップで使用するためにヘッド デプロイ ID をコピーし、[完了] をクリックします。

Chat アプリを公開する

Google Cloud コンソールから Chat アプリを公開します。

  1. Google Cloud コンソールGoogle Chat API を検索し、[Google Chat API] をクリックします。
  2. [管理] をクリックします。
  3. [設定] をクリックし、Chat アプリを設定します。

    1. [App name] フィールドに「Quickstart app」と入力します。
    2. [アバターの URL] フィールドに「https://developers.google.com/chat/images/quickstart-app-avatar.png」と入力します。
    3. [説明] フィールドに「Quickstart app」と入力します。
    4. [機能] で、[1 対 1 のメッセージを受信する] と [スペースとグループの会話に参加する] を選択します。
    5. [接続設定] で、[Apps Script プロジェクト] を選択します。
    6. [デプロイ ID] フィールドに、先ほどコピーしたヘッド デプロイ ID を貼り付けます。
    7. [公開設定] で、[ドメイン内の特定のユーザーとグループ] を選択し、メールアドレスを入力します。
  4. [保存] をクリックします。

これで Chat アプリがメッセージに応答できるようになりました。

Chat アプリをテストする

Chat アプリをテストするには、Chat アプリでダイレクト メッセージ スペースを開き、メッセージを送信します。

  1. Trusted Tester として自身を追加したときに指定した Google Workspace アカウントを使用して Google Chat を開きます。

    Google Chat に移動

  2. [ 新しいチャット] をクリックします。
  3. [1 人以上のユーザーを追加] フィールドに、Chat アプリの名前を入力します。
  4. 検索結果から Chat アプリを選択します。ダイレクト メッセージが開きます。

  5. アプリとの新しいダイレクト メッセージで、「Hello」と入力して enter キーを押します。

    Chat アプリにメッセージを追加していただき、ありがとうございます。

Trusted Tester を追加し、インタラクティブ機能のテストの詳細については、Google Chat アプリのインタラクティブ機能をテストするをご覧ください。

トラブルシューティング

Google Chat アプリまたはカードからエラーが返されると、Chat インターフェースに「エラーが発生しました」というメッセージが表示されます。または「リクエストを処理できません」と表示されます。Chat UI にエラー メッセージが表示されていなくても、Chat アプリまたはカードから予期しない結果(カード メッセージが表示されないなど)が生成される場合があります。

エラー メッセージは Chat UI に表示されない場合がありますが、Chat アプリのエラーロギングがオンになっている場合は、エラー メッセージとログデータを使用してエラーを修正できます。エラーの表示、デバッグ、修正については、Google Chat のエラーのトラブルシューティングと修正をご覧ください。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。

  1. Google Cloud コンソールで、[リソースの管理] ページに移動します。メニュー > [IAM と管理] > [リソースの管理] をクリックします。

    Resource Manager に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ

  • インタラクティブなカードを作成する - カード メッセージは、定義済みのレイアウト、ボタンなどのインタラクティブな UI 要素、画像などのリッチメディアをサポートします。カード メッセージを使用して詳細情報を表示し、ユーザーから情報を収集して、ユーザーを次のステップに導きます。
  • スラッシュ コマンドをサポートする - スラッシュ コマンドを使用すると、スラッシュ(/)で始まるコマンド(/help など)を入力することで、ユーザーがアプリに提供できる特定のコマンドを登録してアドバタイズできます。
  • 起動ダイアログ - ダイアログは、アプリでユーザーとやり取りするために開くことができる、ウィンドウ処理されたカードベースのインターフェースです。複数のカードを順番に重ねることができるため、ユーザーはフォームデータの入力など、複数のステップを踏むことができます。