Google Chat アプリのエラーのトラブルシューティングと修正

このセクションでは、Chat アプリの作成とテスト中に発生する可能性のある一般的な問題について説明します。

カード メッセージ、ダイアログ、リンクのプレビューが想定どおりにレンダリングされない、または機能しない

カードのエラーのトラブルシューティングについては、カードのトラブルシューティングと修正をご覧ください。

アプリから応答がありません

Chat アプリにメッセージを送信したときに「アプリが応答していません」と返信された場合は、Chat アプリの構成を確認します。

  1. Google Cloud コンソールで、メニュー > [その他のプロダクト] > [Google Workspace] > [プロダクト ライブラリ] > [Google Chat API] > [管理] > [構成] をクリックします。

    Chat API に移動

  2. [アプリのステータス] で、[ライブ - ユーザーが利用可能] が選択されていることを確認します。

  3. [インタラクティブ機能] で、アプリの機能に適した設定になっていることを確認します。Chat アプリがユーザーとやり取りする場合は、[インタラクティブ機能を有効にする] をオンにしてください。

    1. アプリがメッセージに返信する場合は、[1 対 1 のメッセージを受け取る] を選択してください。
    2. [接続設定] で、HTTP エンドポイント URL、Apps Script プロジェクトのデプロイ ID、Cloud Pub/Sub のトピック名、または Dialogflow エージェントが正しく設定され、デプロイされていることを確認します。
    3. [公開設定] で、適切なユーザーが Google Workspace ドメイン内のメールアドレスまたはグループを使用してアプリにアクセスできることを確認します。アプリが Google Workspace Marketplace SDK でデプロイされている場合、Google Workspace Marketplace の設定が優先されるため、公開設定は必要ありません。
  4. アプリが Google Workspace Marketplace SDK で公開されている場合は、Google Workspace Marketplace の設定を確認します。

  5. [保存] をクリックします。

  6. アプリにもう一度メッセージを送信してみてください。

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 のログでエラーを確認します。

  1. Google Cloud コンソールで、[Cloud Functions] ページに移動します。

    Cloud Functions に移動

  2. ログを開くには、Chat アプリの Cloud Functions 関数を見つけて、アクションを表示アイコン > [ログを表示] をクリックします。

ログ エクスプローラが開き、エラーを含む Cloud Functions のログを表示するクエリが実行されます。

ログに記録されるデフォルトの情報ではアプリをデバッグできない場合は、Cloud Functions コードから追加のロギングを追加できます。Cloud Functions ログの表示と書き込みをご覧ください。

Cloud Functions 関数のエラーを確認する

ログとは別に、Cloud Functions は実行中に発生したエラーも報告することがあります。

  1. Google Cloud コンソールで、[Cloud Functions] ページに移動します。

    Cloud Functions に移動

  2. チャットアプリの Cloud Functions 関数をクリックします。

  3. [関数の詳細] ページの [エラー] にエラーが表示されます。

  4. エラーの詳細なトラブルシューティングを行うには、そのエラーをクリックします。

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 の関数の未認証の呼び出しを許可する方法については、公開(未認証)アクセスを許可するをご覧ください。