このセクションでは、Chat 用アプリのビルドとテストの際に発生する可能性がある一般的な問題について説明します。
カード メッセージ、ダイアログ、リンクのプレビューがレンダリングされない、または期待どおりに動作しない
カードのエラーのトラブルシューティングについては、カードのトラブルシューティングと修正をご覧ください。
アプリから応答がありません
Chat 用アプリにメッセージを送信したときに「アプリから応答がありません」というメッセージが表示された場合は、Chat 用アプリの構成を確認してください。
Google API Console で、[メニュー] > [API とサービス] > [有効な API とサービス] > [Google Chat API] > [構成] をクリックします。
[アプリのステータス] で、[公開 - ユーザーが利用可能] が選択されていることを確認します。
[インタラクティブ機能] で、アプリの機能に適した設定になっていることを確認します。Chat 用アプリがユーザーとやり取りする場合は、[インタラクティブ機能を有効にする] をオンにしてください。
- デフォルトでは、アプリはユーザーからのダイレクト メッセージに応答できます。
- アプリがスペースやグループ チャットのメッセージに応答する場合は、[スペースとグループの会話に参加する] を選択します。
- [接続設定] で、[HTTP エンドポイント URL]、Apps Script プロジェクトの [デプロイ ID]、Cloud Pub/Sub の [トピック名]、Dialogflow エージェントが正しく設定され、デプロイされていることを確認します。
- [公開設定] で、適切なユーザーが Google Workspace ドメインのメールアドレスまたはグループを使用してアプリにアクセスできることを確認します。Google Workspace Marketplace SDK でアプリをデプロイする場合、Google Workspace Marketplace の設定が優先されるため、公開設定は必要ありません。
Google Workspace Marketplace SDK でアプリを公開する場合は、Google Workspace Marketplace の設定を確認します。
[保存] をクリックします。
アプリに再度メッセージを送信してみます。
Google Chat API の使用は Google Workspace ユーザーに限られます。
Chat 用アプリを構成する際に、Google Chat API is only available to Google Workspace users というエラーが表示されることがあります。このメッセージは、Chat API の構成に使用した Google アカウントが Google Workspace 組織に属していないことを意味します。Chat 用アプリをビルドしたり、Chat API を使用したりするには、Google Workspace
アカウントを使用する必要があります。
Google Chat ユーザーは、Google Workspace アカウントがなくても Chat 用アプリを使用できます。ユーザーが Chat 用アプリを見つけてインストールする方法について詳しくは、 インタラクティブな Google Chat 用アプリをビルドするをご覧ください。
ユーザーがスペースから退出させられるケース
Google Workspace 管理者がユーザーによるチャットの履歴のオンとオフの切り替えを禁止している場合、チャットの履歴を強制的にオンまたはオフにするユーザーレベルの設定と、組織レベルの強制設定を継承するスペースとの間で競合が発生し、ユーザーがスペースに参加できなかったり、スペースから退出させられたりすることがあります。
たとえば、ユーザーのチャットの履歴設定が強制的に「オン」に設定され、スペースのチャットの履歴設定が強制的に「オフ」に設定されている場合、そのユーザーはスペースに参加できないことがあります。また、競合が発生する前に参加していた場合でも、競合後にスペースにメッセージを投稿すると、そのユーザーがスペースから削除される可能性があります。
このシナリオや、チャットの履歴設定が競合する他のシナリオでは、Chat API でメンバーシップを作成できないことがあります。また、ユーザー認証を使用してメッセージを作成すると、チャットの履歴設定が競合する認証済みユーザーがスペースから削除されることがあります。
詳しくは、Google Workspace 管理者用ヘルプセンターのユーザーがスペースから退出させられるケースをご覧ください。
Google Apps Script で高度なチャット サービスのトラブルシューティングを行う
高度なチャット サービスに関する Apps Script のページをご覧ください。
ユーザーがスペースに Chat 用アプリを追加できない
ユーザーがスペースに Chat 用アプリを追加しようとしたときに
This organization's administrator must allow users to install this Chat app
というエラー メッセージが表示される場合、このエラー
は次のいずれかの原因で発生している可能性があります。
- 組織で Chat 用アプリが無効になっている。
- 組織で、この特定の Chat 用アプリが組織の許可リストに追加されていない。
ユーザーが Chat 用アプリを操作しようとしたときにこのエラー メッセージが表示される場合、親組織部門で有効にせずに、サブ組織部門へのアクセス権を組織が付与したことが原因である可能性があります。
この問題を解決する方法については、 ユーザーに Chat 用アプリのインストールを許可するをご覧ください。
管理者は、この操作に必要な OAuth 認可スコープをアプリに付与する必要があります
Chat 用アプリとして認証を行うと、次のエラーが表示されることがあります。
<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}?alt=json returned "The administrator must grant the app the required OAuth authorization scope for this action.". Details: "The administrator must grant the app the required OAuth authorization scope for this action.">
このエラー メッセージは、Google Workspace 管理者が、https://www.googleapis.com/auth/chat.app.* という名前で始まる認可スコープを使用するための 1 回限りの承認を Chat 用アプリにまだ付与していないことを意味します。
このエラーを解決するには:
- Google Workspace 管理者に Chat 用アプリの承認を付与するよう依頼します。Chat 用アプリのロジックでこのエラーを処理する場合は、リクエストされた操作を行うには管理者の承認が必要であることを通知するメッセージを送信することを検討してください。たとえば、
To perform this action, I need approval. <https://support.google.com/a?p=chat-app-auth|Learn more>. - Chat API メソッドが
https://www.googleapis.com/auth/chat.bot認可スコープ(管理者の承認は不要)をサポートしている場合は、代わりにそれを使用することを検討してください。メソッドがサポートしている認可スコープを確認するには、 Google Chat 用アプリと Google Chat API リクエストの認証と認可をご覧ください。
Cloud Functions のエラーのトラブルシューティング
Chat 用アプリが Cloud Functions で実装されていて、動作しない場合は、以下のセクションで問題のトラブルシューティングと修正を行います。
Cloud Functions のログを確認する
まず、Cloud Functions のログでエラーを確認します。
Google API コンソールで、Cloud Functions のページに移動します。
ログを開くには、Chat 用アプリの Cloud Functions を見つけて、 [アクションを表示] > [ログを表示] をクリックします。
ログ エクスプローラが開き、エラーを含む Cloud Functions のログを表示するクエリが実行されます。
記録されるデフォルトの情報だけではアプリのデバッグに十分でない場合は、Cloud Functions のコードから追加のロギングを追加できます。Cloud Functions のログの表示と書き込みをご覧ください。
Cloud Functions のエラーを確認する
ログとは別に、Cloud Functions は実行中に発生したエラーを報告することもあります。
Google API コンソールで、Cloud Functions のページに移動します。
Chat 用アプリの Cloud Functions をクリックします。
[関数の詳細] ページの [エラー] の下にエラーが表示されます。
エラーのトラブルシューティングを行うには、エラーをクリックします。
一般的な Cloud Functions のエラーを修正する
Cloud Functions で Chat 用アプリをビルドする際に、次のエラーが発生することがあります。
Function ChatApp in region REGION_NAME in project PROJECT_NAME already exists
Cloud Functions をデプロイすると、Function
ChatApp in region REGION_NAME in project PROJECT_NAME already
exists というエラーが表示されることがあります。このメッセージは、デプロイする Cloud Functions と同じ名前の別の Cloud Functions が存在することを意味します。名前を変更して、関数を再度デプロイします。Chat 用アプリが、既存の Cloud Functions のトリガー URL ではなく、Cloud Functions のトリガー URL を使用していることを確認します。
One or more users named in the policy do not belong to a permitted customer
Cloud Functions をデプロイすると、The operation
cannot be completed on the function: "One or more users named in the policy do
not belong to a permitted customer." というエラーが表示されることがあります。このエラーが表示された後に
Chat 用アプリにメッセージを送信すると、Google
Chat が Cloud Functions をホストしているサーバーに到達できないため、アプリが応答しないというエラーが表示されます。このメッセージは、「allUsers」という名前のユーザーに Cloud Functions を呼び出す権限がないことを意味します。
「allUsers」に「Cloud Functions 起動元」ロールを付与すると、アプリを強化する Cloud Functions が公開され、認証なしでアクセスできるようになります。ロールを割り当てる方法については、
単一のロールを付与するをご覧ください。
このエラーは、Google Cloud プロジェクトがドメインで制限されていることを意味する可能性があります。ドメイン制限の制約について詳しくは、 ドメイン別の ID の制限をご覧ください。
この問題を解決するには、Cloud Functions で未認証の呼び出しが許可されていることを確認します。既存の Cloud Functions で未認証の呼び出しを許可する方法については、 公開(未認証)アクセスを許可するをご覧ください。