このページでは、Google Apps Script を使用して Google Chat で動作する Google Workspace アドオンを作成する方法について説明します。Google Chat では、アドオンは Google Chat アプリとしてユーザーに表示されます。詳細については、Google Chat の拡張機能の概要をご覧ください。
Chat アプリでは、メッセージを直接送信したり、メッセージをエコーして返信したりできます。
次の図は、アーキテクチャとメッセージ パターンを示しています。
上の図では、ユーザーが Apps Script Chat アプリを操作すると、次の情報が流れます。
- ユーザーが、ダイレクト メッセージまたは Chat スペースで Chat アプリにメッセージを送信します。
- Google Cloud にある Apps Script で実装された Chat アプリ ロジックがメッセージを受信して処理します。
- 必要に応じて、Chat アプリのロジックを Google Workspace サービス(カレンダーやスプレッドシートなど)や、Google マップや YouTube などの他の Google サービスと統合できます。
- Chat アプリのロジックは、Chat の Chat アプリ サービスにレスポンスを返します。
- レスポンスがユーザーに配信されます。
目標
- 環境をセットアップする。
- スクリプトを設定します。
- Chat アプリ用に Google Workspace アドオンを構成します。
- Chat アプリをテストします。
前提条件
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- Google Cloud プロジェクト プロジェクトを作成するには、Google Cloud プロジェクトを作成するをご覧ください。
環境の設定
Google Cloud コンソールで Cloud プロジェクトを開きます。
このサンプルに使用する Cloud プロジェクトをまだ開いていない場合は、開きます。
- Google Cloud コンソールで [プロジェクトを選択] ページに移動します。
- 使用する Google Cloud プロジェクトを選択します。または、[プロジェクトを作成] をクリックし、画面の指示に沿って操作します。Google Cloud プロジェクトを作成する場合は、プロジェクトの課金を有効にする必要がある場合があります。
Chat API を有効にする
Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Google Chat API を有効にします。
OAuth 同意画面を構成する
OAuth 2.0 を使用するすべてのアプリで、同意画面の設定が必要です。アプリの OAuth 同意画面を構成すると、ユーザーとアプリの審査担当者に表示される内容が定義され、後でアプリを公開できるようにアプリが登録されます。
- Google Cloud コンソールで、メニュー > [API とサービス] > [OAuth 同意画面] に移動します。
- [ユーザーの種類] で [内部] を選択し、[作成] をクリックします。
- アプリ登録フォームに入力し、[保存して続行] をクリックします。
ここではスコープの追加をスキップして、[保存して次へ] をクリックします。今後、Google Workspace 組織の外部で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更し、アプリに必要な認可スコープを追加する必要があります。
- アプリ登録の概要を確認します。変更するには、[編集] をクリックします。アプリの登録に問題がなければ、[ダッシュボードに戻る] をクリックします。
スクリプトを設定する
スクリプトを設定するには、クイックスタート プロジェクトのコピーを作成し、Apps Script で Cloud プロジェクトを設定します。
クイックスタート プロジェクトのコピーを作成する
- 次のボタンをクリックして、Google Chat のアドオンの Apps Script プロジェクトを開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、 [コピーを作成] をクリックします。
Apps Script プロジェクトのコピーに名前を付けます。
[Add-on Chat app のコピー] をクリックします。
[プロジェクト タイトル] に「
Add-on Chat app
」と入力します。[名前を変更] をクリックします。
Cloud プロジェクト番号をコピーする
- Google Cloud コンソールで、メニュー > [IAM と管理] > [設定] に移動します。
- [プロジェクト番号] フィールドで値をコピーします。
Apps Script プロジェクトの Cloud プロジェクトを設定する
- Chat アプリの Apps Script プロジェクトで、[プロジェクトの設定] をクリックします。
- [Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
- [GCP プロジェクト番号] に、Google Cloud プロジェクト番号を貼り付けます。
- [プロジェクトを設定] をクリックします。
これで、(次の手順で説明するように)試して、要件に合わせてカスタマイズできる、動作するアプリコードができました。
Apps Script プロジェクトを開くときに、正しい Google アカウントにログインしていることを確認します。現在のアカウントが、気付かないうちにデフォルト アカウントに切り替わってしまうことがあります。
テスト Deployment を作成する
次のステップで使用できるように、この Apps Script プロジェクトのデプロイ ID が必要です。
ヘッドのデプロイ ID を取得する手順は次のとおりです。
- Chat アプリの Apps Script プロジェクトで、[デプロイ] > [デプロイをテスト] をクリックします。
- ヘッドデプロイ ID をコピーして、後の手順で使用し、[完了] をクリックします。
アドオンを構成する
Apps Script のデプロイを使用して、次の手順でアドオンを作成し、Google Chat アプリをデプロイします。
- コンソールで
Google Chat API
を検索し、[Google Chat API] をクリックします。 - [管理] をクリックします。
[構成] をクリックして、Chat アプリを設定します。
- [アプリ名] フィールドに「
Add-on Chat app
」と入力します。 - [アバターの URL] フィールドに「
https://developers.google.com/chat/images/quickstart-app-avatar.png
」と入力します。 - [説明] フィールドに「
Add-on Chat app
」と入力します。 - [機能] で、[1:1 のメッセージを受信する] と [スペースとグループの会話に参加する] を選択します。
- [接続設定] で [Apps Script プロジェクト] を選択します。
- [Deployment ID] フィールドに、先ほどコピーした Head デプロイ ID を貼り付けます。
- [公開設定] で [ドメイン内の特定のユーザーとグループ] を選択し、メールアドレスを入力します。
- [アプリ名] フィールドに「
[保存] をクリックします。
Chat アプリでメッセージに返信できるようになりました。
Chat アプリをテストする
Chat アプリをテストするには、Chat アプリでダイレクト メッセージ スペースを開き、メッセージを送信します。
信頼できるテスターとして自分自身を追加したときに指定した Google Workspace アカウントを使用して Google Chat を開きます。
- [ 新しいチャット] をクリックします。
- [1 人以上を追加] フィールドに、Chat アプリの名前を入力します。
検索結果から Chat アプリを選択します。ダイレクト メッセージが開きます。
そのアプリの新しいダイレクト メッセージに、「
Hello
」と入力してenter
を押します。Chat アプリは、追加していただきありがとうございますとメッセージを返します。
信頼できるテスターを追加し、インタラクティブ機能のテストについて詳しくは、Google Chat アプリのインタラクティブ機能のテストをご覧ください。
トラブルシューティング
Google Chat アプリまたはカードからエラーが返されると、Chat インターフェースに「エラーが発生しました」というメッセージが表示されます。または「リクエストを処理できません」というメッセージが表示されます。Chat UI にエラー メッセージが表示されない場合でも、Chat アプリまたはカードで予期しない結果が生成されることがあります(カード メッセージが表示されないなど)。
チャット UI にエラー メッセージが表示されない場合でも、チャットアプリのエラー ロギングがオンになっている場合は、エラーの修正に役立つ説明的なエラー メッセージとログデータが利用できます。エラーの表示、デバッグ、修正については、Google Chat エラーのトラブルシューティングと修正をご覧ください。
クリーンアップ
このチュートリアルで使用したリソースに対して Google Cloud アカウントで課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。メニュー > [IAM と管理] > [リソースを管理] をクリックします。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。