Microsoft Teams アプリのトラブルシューティング
タブのトラブルシューティングを行うには
開発ツールにアクセスする
ブラウザーで F12 (Windows の場合) または Command-Option-I (MacOS の場合) を押すのと同様のエクスペリエンスを得るには、 Teams クライアントで Dev Tools を開くことができます。
空白のタブ画面
タブ ビューにコンテンツが表示されない場合は、次の可能性があります。
- コンテンツを
<iframe>
に表示することはできません。 - コンテンツ ドメインがマニフェストの validDomains リストにありません。
注:
指定されたタブ URL がログイン画面にリダイレクトされると、空白のタブが表示されます。 ログイン ページは、クリックジャッキングに対するセーフガードとして iFrame でレンダリングされません。 認証ロジックでは、リダイレクト以外の方法を使用する必要があります。
Web アプリの変更が [Teams] タブに反映されない
Web アプリが Teams タブ内でホストされている場合に Web アプリの更新が表示されない一貫したキャッシュまたは断続的なキャッシュの問題が発生した場合は、サーバー キャッシュ設定をチェックし、Cache-Control
ヘッダーを使用して目的のクライアント キャッシュ動作を確認します。
[設定] ダイアログで [保存] ボタンが有効になっていない
ユーザーが入力を行った後、または設定ページで必要なすべてのデータを選択した後で microsoftTeams.settings.setValidityState(true)
を呼び出して、[保存] ボタンを有効にしてください。
[保存] を選択した場合、タブ設定を保存できません
タブを追加するときに、[ 保存 ] を選択しても、設定を保存できないことを示すエラー メッセージが表示される場合、問題は次の 2 つの問題クラスのいずれかである可能性があります。
保存成功メッセージが受信されませんでした:
microsoftTeams.settings.registerOnSaveHandler(handler)
を使用して保存ハンドラーが登録された場合、コールバックはsaveEvent.notifySuccess()
を呼び出す必要があります。- コールバックが 30 秒以内に
saveEvent.notifySuccess()
を呼び出さない場合、または代わりにsaveEvent.notifyFailure(reason)
を呼び出すと、このエラーが表示されます。 - 保存ハンドラーが登録されていない場合、ユーザーが [保存] を選択すると、
saveEvent.notifySuccess()
呼び出しが自動的に行われます。
- コールバックが 30 秒以内に
指定された設定が無効でした: 設定が保存されないもう 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 テナントに複数の SKU が関連付けられている場合があり、ボットが機能するためには、すべての SKU で有効にする必要があります。 詳細については、「 Microsoft 365 テナントを準備する」を参照してください。
チームのメンバーとしてボットを追加できない
ボットは、そのチームの任意のチャネル内でアクセスする前に、まずチームにアップロードする必要があります。 このプロセスの詳細については、「 チームでアプリをアップロードする方法」を参照してください。
ボットでチャネルにメッセージが表示されない
チャネル内のボットは、以前のボット メッセージに返信している場合でも、明示的に @mentionedされている場合にのみメッセージを受信します。 メッセージにボット名が表示されない唯一の例外は、ボットが最初に送信した CardAction の結果として imBack
アクションを受け取った場合です。
チャネル内で自分のコマンドがボットで認識されない
チャネル内のボットは @mentionedされたときにのみメッセージを受信するため、ボットがチャネルで受信するすべてのメッセージには、テキスト フィールドにその @mention が含まれます。 解析ロジックに渡す前に、ボット名自体をすべての受信テキスト メッセージから取り除くことをお勧めします。 このケースを処理する方法に関するヒントについては、「メンション」を確認してください。
パッケージ化とアップロードに関する問題
manifest.json の読み取り中にエラーが発生しました
ほとんどのマニフェスト エラーは、特定のフィールドが見つからないか無効であるかを示すヒントを提供します。 ただし、JSON ファイルを JSON としてまったく読み取ることができない場合は、この一般的なエラー メッセージが使用されます。
マニフェスト読み取りエラーの一般的な理由:
- JSON が無効です。 JSON 構文を自動的に検証する Visual Studio Code や Visual Studio などの IDE を使用します。
- エンコードの問題。 manifest.json ファイルには UTF-8 を使用します。 その他のエンコードは、特に BOM では読み取れない場合があります。
- 形式が正しくない .zip パッケージ。 manifest.json ファイルは、 .zip ファイルの最上位レベルにある必要があります。 既定の Mac ファイル圧縮では、サブディレクトリに manifest.json が配置され、Microsoft Teamsで正しく読み込まれない可能性があることに注意してください。
注:
アプリ マニフェストの更新が反映されていない場合は、サインアウトしてサインインしてキャッシュをクリアし、変更を適用します。
同じ ID を持つ別の拡張機能が存在する
同じ ID の更新されたパッケージを再度アップロードする場合は、[アップロード] ボタンではなく、タブのテーブル行の末尾にある [置換] アイコンを選択します。
更新されたパッケージを再アップロードしない場合は、 ID が一意であることを確認します。
Teams でのアプリのアップロード中にエラーが発生しました
アプリをチームにアップロードするときに マニフェストの解析に失敗した エラー メッセージが表示される場合は、 Teams アプリ検証ツール を使用して、アプリ マニフェストや OpenAPI 仕様ファイルなど、アプリ パッケージを検証します。 アプリ マニフェストと OpenAPI Description (OAD) の要件を確認して、エラーや警告を解決し、アプリをアップロードしてみてください。
Teams でアプリの実行中に問題が発生した場合は、次のトラブルシューティング手順を使用して問題を特定して解決します。
ネットワーク: ネットワーク アクティビティを検査するには、開発者ツールの [ネットワーク] タブを選択します
Teams Web クライアントを開きます。
Microsoft 365 資格情報でサインインします。
チャットに移動し、メッセージ拡張機能アプリを実行します。
右上の [設定など] (...) を選択します。[その他のツール>開発者ツール] に移動します。
[ネットワーク] を選択します。 フィルター オプションを選択し、検索フィールドに「invoke」と入力します。
一覧からエラーを選択します。
右側のウィンドウで、[ 応答 ] タブを選択します。
サービスまたは API からのエラー応答を表す JSON オブジェクトが表示されます。
errorCode
、errorSubCode
、errorDescription
を持つstandardizedError
オブジェクトが含まれています。このオブジェクトには、エラーの詳細が記載されています。
一般的な HTTP エラー応答:
- 要求パラメーターが見つからないか、正しく書式設定されていない場合は、400 の不適切な要求エラーが発生する可能性があります。
- 401 未承認または 403 禁止エラーは、API キーの欠落や未承認など、API キーに関する問題を示しています。
- 500 内部サーバー エラーは、サーバー側の問題が原因で、サービスが応答方法を知らないことを示します。
ツールのトラブルシューティング: ネットワーク トレースからの情報が不足している場合は、OpenAPI の説明ドキュメントに従って要求を作成し、Swagger エディター や Postman などのツールを使用して、必要に応じて API キーの承認ヘッダーを含む要求をテストできます。
エラーを解決できない場合は、 Microsoft Teams製品サポート にお問い合わせください。
関連項目
Platform Docs