Microsoft Teams アプリのトラブルシューティング

タブのトラブルシューティングを行うには

開発ツールにアクセスする

ブラウザーで F12 (Windows の場合) または Command-Option-I (MacOS の場合) を押すのと同様のエクスペリエンスを得るには、 Teams クライアントで Dev Tools を開くことができます。

空白のタブ画面

タブ ビューにコンテンツが表示されない場合は、次の可能性があります。

  • コンテンツを <iframe>に表示することはできません。
  • コンテンツ ドメインがマニフェストの validDomains リストにありません。

注:

指定されたタブ URL がログイン画面にリダイレクトされると、空白のタブが表示されます。 ログイン ページは、クリックジャッキングに対するセーフガードとして iFrame でレンダリングされません。 認証ロジックでは、リダイレクト以外の方法を使用する必要があります。

Web アプリの変更が [Teams] タブに反映されない

Web アプリの更新が Teams タブ内でホストされているときに表示されない一貫したキャッシュまたは断続的なキャッシュの問題が発生する場合は、サーバー キャッシュの設定を確認し、 Cache-Control ヘッダーを使用して目的のクライアント キャッシュ動作を確認します。

[設定] ダイアログで [保存] ボタンが有効になっていない

ユーザーが入力を行った後、または設定ページで必要なすべてのデータを選択した後で microsoftTeams.settings.setValidityState(true) を呼び出して、[保存] ボタンを有効にしてください。

[保存] を選択した場合、タブ設定を保存できません

タブを追加するときに、[ 保存 ] を選択しても、設定を保存できないことを示すエラー メッセージが表示される場合、問題は次の 2 つの問題クラスのいずれかである可能性があります。

  • 保存成功メッセージが受信されませんでした: microsoftTeams.settings.registerOnSaveHandler(handler)を使用して保存ハンドラーが登録された場合、コールバックは saveEvent.notifySuccess()を呼び出す必要があります。

    • コールバックが 30 秒以内に saveEvent.notifySuccess() を呼び出さない場合、または代わりに saveEvent.notifyFailure(reason) を呼び出すと、このエラーが表示されます。
    • 保存ハンドラーが登録されていない場合、ユーザーが [保存] を選択すると、saveEvent.notifySuccess()呼び出しが自動的に行われます。
  • 指定された設定が無効でした: 設定が保存されないもう 1 つの理由は、 microsoftTeams.setSettings(settings) への呼び出しで無効な設定オブジェクトが指定されたか、呼び出しがまったく行われなかった場合です。 次のセクションの「設定オブジェクトに関する一般的な問題」を参照してください。

設定オブジェクトに関する一般的な問題

  • settings.entityId が見つかりません。 通常、このフィールドには、定義される年ごとに 1 が指定されます。
  • settings.contentUrl が見つかりません。 通常、このフィールドには、定義される年ごとに 1 が指定されます。
  • settings.contentUrl または省略可能な settings.removeUrl、または settings.websiteUrl が指定されていますが無効です。 URL は HTTPS を使用する必要があります。また、設定ページと同じドメインであるか、マニフェストの validDomains 一覧で指定されている必要があります。

ユーザーを認証できない、またはタブに認証プロバイダーを表示できない

サイレント認証を行わない限り、 Microsoft Teams JavaScript クライアント ライブラリによって提供される認証プロセスに従う必要があります。

注:

すべての認証フローをドメインで開始および終了する必要があります。このフローは、マニフェストの validDomains オブジェクトに一覧表示する必要があります。

認証の詳細については、「 ユーザーを認証する方法」を参照してください。

静的タブが表示されない

既存のボット アプリを新しいまたは更新された静的タブで更新しても、個人用チャット会話からアプリにアクセスするときにそのタブの変更が表示されないという既知の問題があります。 変更を確認するには、新しいユーザーまたはテスト インスタンスでテストするか、アプリ ポップアップからボットにアクセスする必要があります。

ボットのトラブルシューティングを行うには

ボットを追加できない

エンド ユーザーがアプリを読み込むには、Microsoft 365 テナント管理者がアプリを有効にする必要があります。 場合によっては、Microsoft 365 テナントに複数の SKU が関連付けられている場合があり、ボットが機能するためには、すべての SKU で有効にする必要があります。 詳細については、「 Microsoft 365 テナントを準備する」を参照してください

チームのメンバーとしてボットを追加できない

ボットは、そのチームの任意のチャネル内でアクセスする前に、まずチームにアップロードする必要があります。 このプロセスの詳細については、「 チームでアプリをアップロードする方法」を参照してください。

ボットでチャネルにメッセージが表示されない

チャネル内のボットは、以前のボット メッセージに返信している場合でも、明示的に @mentionedされている場合にのみメッセージを受信します。 メッセージにボット名が表示されない唯一の例外は、ボットが最初に送信した CardAction の結果として imBack アクションを受け取った場合です。

チャネル内で自分のコマンドがボットで認識されない

チャネル内のボットは @mentionedされたときにのみメッセージを受信するため、ボットがチャネルで受信するすべてのメッセージには、テキスト フィールドにその @mention が含まれます。 解析ロジックに渡す前に、ボット名自体をすべての受信テキスト メッセージから取り除くことをお勧めします。 このケースを処理する方法に関するヒントについては、「メンション」を確認してください。

パッケージ化とアップロードに関する問題

manifest.json の読み取り中にエラーが発生しました

ほとんどのマニフェスト エラーは、特定のフィールドが見つからないか無効であるかを示すヒントを提供します。 ただし、JSON ファイルを JSON としてまったく読み取ることができない場合は、この一般的なエラー メッセージが使用されます。

マニフェスト読み取りエラーの一般的な理由:

  • JSON が無効です。 JSON 構文を自動的に検証する Visual Studio CodeVisual Studio などの IDE を使用します。
  • エンコードの問題。 manifest.json ファイルには UTF-8 を使用します。 その他のエンコードは、特に BOM では読み取れない場合があります。
  • 形式が正しくない .zip パッケージ。 manifest.json ファイルは、 .zip ファイルの最上位レベルにある必要があります。 既定の Mac ファイル圧縮では、サブディレクトリに manifest.json が配置され、Microsoft Teamsで正しく読み込まれない可能性があることに注意してください。

同じ ID を持つ別の拡張機能が存在する

同じ ID の更新されたパッケージを再度アップロードする場合は、[アップロード] ボタンではなく、タブのテーブル行の末尾にある [置換] アイコンを選択します。

更新されたパッケージを再アップロードしない場合は、 ID が一意であることを確認します。

関連項目