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 サービス(Google マップや YouTube など)と統合できます。
  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 を有効にできます。
  • Google Cloud コンソールで、Google Chat API を有効にします。

    API の有効化

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

  1. Google Cloud コンソールで、メニュー > > [ブランディング] に移動します。

    [ブランディング] に移動

  2. をすでに構成している場合は、[ブランディング]、[ユーザー]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。[ まだ設定されていません] というメッセージが表示された場合は、[使ってみる] をクリックします。
    1. [アプリ情報] の [アプリ名] に、アプリの名前を入力します。
    2. [ユーザー サポートメール] で、ユーザーが同意について問い合わせる際に使用するサポートのメールアドレスを選択します。
    3. [続行] をクリックします。
    4. [対象] で [内部] を選択します。
    5. [続行] をクリックします。
    6. [連絡先情報] で、プロジェクトに対する変更の通知を受け取るメールアドレスを入力します。
    7. [続行] をクリックします。
    8. [完了] で、Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
    9. [続行] をクリックします。
    10. [作成] をクリックします。
  3. 現時点では、スコープの追加はスキップできます。今後、Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更する必要があります。次に、アプリに必要な認可スコープを追加します。詳細については、OAuth 同意画面を構成するガイドをご覧ください。

スクリプトを設定する

スクリプトを設定するには、テンプレートを使用して、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 を取得するには、次の操作を行います。

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

Chat 用アプリを公開する

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

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

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

Chat アプリでメッセージに返信できるようになりました。

Chat アプリをテストする

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

  1. 信頼できるテスターとして登録した際に指定した Google Workspace アカウントを使用して、Google Chat を開きます。

    Google Chat にアクセスする

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

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

    Chat 用アプリから、追加していただいたことへの感謝とメッセージの返信が届きます。

信頼できるテスターを追加してインタラクティブ機能のテストについて詳しくは、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 要素、画像などのリッチメディアをサポートしています。カード メッセージを使用して、詳細な情報を提示したり、ユーザーから情報を収集したり、ユーザーに次のステップを案内したりできます。
  • コマンドに応答する - コマンドを使用すると、ユーザーは Chat 用アプリの主な機能を見つけて使用できます。
  • ダイアログを起動する - ダイアログは、アプリがユーザーとやり取りするために開くことができる、ウィンドウベースのカードベースのインターフェースです。複数のカードを順番につなげることができ、ユーザーがフォームデータの入力などの複数ステップのプロセスを完了するのに役立ちます。
  • Codelab: より高度なチャットアプリを作成する準備はできましたか?Codelab のフィードバック Chat アプリ Gemini 対応の Google Chat アプリを作成するをご覧ください。