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 がメンバーシップを作成できないことがあります。また、ユーザー認証を使用してメッセージを作成すると、チャット履歴設定が競合する認証済みユーザーがスペースから削除される可能性があります。

詳しくは、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 回限りの承認をまだ付与していないことを意味します。

このエラーを解決するには:

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

  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 の関数があることを意味します。名前を変更して、関数を再度デプロイします。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 Invoker」ロールを付与すると、アプリを動かす Cloud Functions が一般公開され、認証なしでアクセスできるようになります。ロールを割り当てる方法については、単一ロールの付与をご覧ください。

このエラーは、Google Cloud プロジェクトがドメイン限定されていることを示している可能性があります。ドメイン制限の制約の詳細については、ドメイン別の ID の制限をご覧ください。

この問題を解決するには、Cloud Functions の関数が未認証の呼び出しを許可していることを確認します。既存の Cloud Functions の関数の未認証の呼び出しを許可する方法については、公開(未認証)アクセスを許可するをご覧ください。