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

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

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

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

アプリが応答しない

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

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

    Chat API に移動

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

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

    1. アプリがメッセージに応答する場合は、[1 対 1 のメッセージを受信する] を必ず選択してください。
    2. [接続設定] で、App 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 用アプリのインストールを許可するをご覧ください。

Cloud Functions の関数のエラーのトラブルシューティング

以下のセクションでは、Cloud Functions を使用して実装された Chat アプリが動作しない場合、問題のトラブルシューティングと解決に役立ちます。

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. Chat アプリの 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 起動元」ロールを付与すると、アプリを実行する Cloud Functions が一般公開され、認証なしでアクセスできることを意味します。ロールを割り当てる方法については、単一のロールを付与するをご覧ください。

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

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