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

このページでは、Google Apps Script を使用して Google Chat で動作する Google Workspace アドオンを作成する方法について説明します。Google Chat では、アドオンは Google Chat アプリとしてユーザーに表示されます。詳細については、Google Chat の拡張機能の概要をご覧ください。

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 アプリ用に Google Workspace アドオンを構成します。
  • 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 コンソールで、メニュー > [API とサービス] > [OAuth 同意画面] に移動します。

    OAuth 同意画面に移動

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

  5. アプリ登録の概要を確認します。変更するには、[編集] をクリックします。アプリの登録に問題がなければ、[ダッシュボードに戻る] をクリックします。

スクリプトを設定する

スクリプトを設定するには、クイックスタート プロジェクトのコピーを作成し、Apps Script で Cloud プロジェクトを設定します。

クイックスタート プロジェクトのコピーを作成する

  1. 次のボタンをクリックして、Google Chat のアドオンの Apps Script プロジェクトを開きます。
    プロジェクトを開く
  2. [概要] をクリックします。
  3. 概要ページで、コピーを作成するアイコン [コピーを作成] をクリックします。
  4. Apps Script プロジェクトのコピーに名前を付けます。

    1. [Add-on Chat app のコピー] をクリックします。

    2. [プロジェクト タイトル] に「Add-on Chat app」と入力します。

    3. [名前を変更] をクリックします。

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 アカウントにログインしていることを確認します。現在のアカウントが、気付かないうちにデフォルト アカウントに切り替わってしまうことがあります。

テスト Deployment を作成する

次のステップで使用できるように、この Apps Script プロジェクトのデプロイ ID が必要です。

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

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

アドオンを構成する

Apps Script のデプロイを使用して、次の手順でアドオンを作成し、Google Chat アプリをデプロイします。

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

    1. [アプリ名] フィールドに「Add-on Chat app」と入力します。
    2. [アバターの URL] フィールドに「https://developers.google.com/chat/images/quickstart-app-avatar.png」と入力します。
    3. [説明] フィールドに「Add-on Chat app」と入力します。
    4. [機能] で、[1:1 のメッセージを受信する] と [スペースとグループの会話に参加する] を選択します。
    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 アプリまたはカードで予期しない結果が生成されることがあります(カード メッセージが表示されないなど)。

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

クリーンアップ

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

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

    Resource Manager に移動

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