このセクションでは、Chat 用アプリのビルドとテストの際に発生する可能性のある一般的な問題について説明します。
カード メッセージ、ダイアログ、リンクのプレビューがレンダリングされない、または想定どおりに動作しない
カードのエラーのトラブルシューティングについては、カードのトラブルシューティングと修正をご覧ください。
アプリが応答しない
Chat 用アプリにメッセージを送信したときに「アプリが応答していません」というメッセージが表示された場合は、Chat 用アプリの構成を確認します。
Google Cloud コンソールで、メニュー > [その他のプロダクト] > [Google Workspace] > [プロダクト ライブラリ] > [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 でメンバーシップを作成できないことがあります。また、ユーザー認証を使用してメッセージを作成すると、競合する Chat 履歴設定を持つ認証済みユーザーがスペースから削除されることがあります。
詳しくは、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.*
で始まる名前の認可スコープを使用する Chat 用アプリに 1 回限りの承認をまだ付与していないことを意味します。
このエラーを解決するには:
- Google Workspace 管理者に Chat 用アプリの承認を付与するよう依頼します。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 Cloud コンソールで、[Cloud Functions] ページに移動します。
ログを開くには、Chat 用アプリの Cloud Functions を見つけて、[アクションを表示] > [ログを表示] をクリックします。
ログ エクスプローラが開き、エラーを含む Cloud Functions ログを表示するクエリが実行されます。
デフォルトで記録される情報だけではアプリのデバッグに十分でない場合は、Cloud Functions コードから追加のロギングを追加できます。Cloud Functions ログの表示と書き込みをご覧ください。
Cloud Functions のエラーを確認する
ログに加えて、Cloud Functions は実行中に発生したエラーを報告することもあります。
Google Cloud コンソールで、[Cloud Functions] ページに移動します。
Chat 用アプリの Cloud Functions をクリックします。
[関数の詳細] ページの [エラー] にエラーが一覧表示されます。
エラーをクリックすると、さらにトラブルシューティングを行うことができます。
Cloud Functions の一般的なエラーを修正する
Cloud Functions で Chat 用アプリをビルドする際に、次のエラーが発生することがあります。
プロジェクト PROJECT_NAME
のリージョン REGION_NAME
に関数 ChatApp がすでに存在します
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 を使用していることを確認します。
ポリシーで指定されたユーザーの 1 人以上が、許可された顧客に属していません
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 で未認証の呼び出しを許可する方法については、公開(未認証)アクセスを許可するをご覧ください。