Share via


イベント ベースのアドインとスパム レポート アドインのトラブルシューティング

イベント ベースまたはスパム レポート (プレビュー) アドインを開発するときに、アドインが読み込まれていない、イベントが発生しないなどの問題が発生する可能性があります。 次のセクションでは、アドインのトラブルシューティング方法に関するガイダンスを提供します。

機能の前提条件を確認する

マニフェストと JavaScript の要件を確認する

  • アドインのマニフェストで次の条件が満たされていることを確認します。

    • アドインのソース ファイルの場所 URL がパブリックに利用可能であり、ファイアウォールによってブロックされていないことを確認します。 この URL は、XML マニフェストの SourceLocation 要素 または Microsoft 365 の統合マニフェストの "extensions.runtimes.code.page" プロパティで指定されます。

    • Runtimes 要素 (XML マニフェスト) または "extensions.runtimes.code" プロパティ (統合マニフェスト) が、イベント ハンドラーを含む HTML または JavaScript ファイルを正しく参照していることを<確認します。> クラシック Outlook on Windows では実行時に JavaScript ファイルが使用されますが、Outlook on the web、新しい Mac UI、および新しい Outlook on Windows (プレビュー) では HTML ファイルが使用されます。 マニフェストでこれを構成する方法の例については、「 新しいメッセージまたは予定の件名を自動的に設定する」の「マニフェストの構成」セクションを参照してください。

      Windows 上の従来の Outlook の場合は、すべてのイベント処理 JavaScript コードをマニフェストで参照されているこの JavaScript ファイルにバンドルする必要があります。 大きな JavaScript バンドルでは、アドインのパフォーマンスに問題が発生する可能性があることに注意してください。 大量の操作を前処理して、イベント処理コードに含めないようにすることをお勧めします。

  • Windows 上の Outlook クライアントによって参照されるイベント処理 JavaScript ファイルが を呼び出 Office.actions.associateしていることを確認します。 これにより、マニフェストで指定されたイベント ハンドラー名が、対応する JavaScript にマップされます。

    ヒント

    アドインに、Outlook on the webによって参照される JavaScript ファイルが 1 つしかない場合、Windows (クラシックと新規 (プレビュー))、Mac では、次のコードに示すように、アドインが実行されているプラットフォームをチェックして、 を呼び出すOffice.actions.associateタイミングを決定することをお勧めします。

    if (Office.context.platform === Office.PlatformType.PC || Office.context.platform == null) {
      Office.actions.associate("onNewMessageComposeHandler", onNewMessageComposeHandler);
      Office.actions.associate("onNewAppointmentComposeHandler", onNewAppointmentComposeHandler);
    }
    
  • Outlook on Windows で実行されるイベント ベースアドインとスパムレポート アドインの JavaScript コードでは、 ECMAScript 2016 以前の仕様のみがサポートされています。 避けるプログラミング構文の例を次に示します。

    • コードで および await ステートメントを使用asyncしないでください。 これらを JavaScript コードに含めると、アドインがタイムアウトになります。
    • アドインの読み込みを妨げるため、 条件付き (三項) 演算子 は使用しないでください。

    アドインに、Outlook on the webによって参照される JavaScript ファイルが 1 つだけの場合、Windows (クラシックと新規 (プレビュー))、Mac では、アドインが Outlook on Windows で実行されるように ECMAScript 2016 にコードを制限する必要があります。 ただし、Outlook on the web、Mac、および新しい Outlook on Windows (プレビュー) によって参照される別の JavaScript ファイルがある場合は、そのファイルに後の ECMAScript 仕様を実装できます。

アドインのデバッグ

  • アドインを変更するときは、次の点に注意してください。

    • マニフェストを更新する場合は、 アドインを削除してから、もう一度サイドロードします。 Outlook on Windows を使用している場合は、Outlook を閉じてもう一度開く必要もあります。
    • マニフェスト以外のファイルを変更する場合は、Windows または Mac で Outlook クライアントを閉じてもう一度開くか、Outlook on the web実行されているブラウザー タブを更新します。
    • これらの手順を実行しても変更が表示できない場合は、 Office キャッシュをクリアします
  • Outlook on Windows でアドインをテストする場合:

    • イベント ベースのアドインの場合は、報告されたアドイン エラーのイベント ビューアーをチェックします。

      1. イベント ビューアーで、[Windows ログアプリケーション] を選択します>。
      2. [アクション] パネルで、[現在のログのフィルター] を選択します。
      3. [ ログ記録 ] ドロップダウンから、任意のログ時間枠を選択します。
      4. [ エラー ] チェック ボックスをオンにします。
      5. [ イベント ID ] フィールドに「 63」と入力します。
      6. [ OK] を選択 してフィルターを適用します。

      過去 1 時間に発生したイベント ID 63 の Outlook エラーのみを表示するように構成された、イベント ビューアーの [現在のログのフィルター] 設定のサンプル。

    • bundle.js ファイルがエクスプローラー内の次のフォルダーにダウンロードされていることを確認します。 で [] 囲まれたテキストを該当する情報に置き換えます。

      %LOCALAPPDATA%\Microsoft\Office\16.0\Wef\{[Outlook profile GUID]}\[Outlook mail account encoding]\Javascript\[Add-in ID]_[Add-in Version]_[locale]
      

      ヒント

      bundle.js ファイルが Wef フォルダーに表示されない場合は、次の手順を試してください。

      • アドインがインストールされているかサイドロードされている場合は、Outlook を再起動します。
      • Outlook からアドインを削除し、もう一度サイドロードします。
  • Windows または Mac 上の Outlook でアドインをテストするときに、ランタイム ログを有効にして、マニフェストとアドインのインストールに関する問題の可能性を特定します。 ランタイム ログを使用する方法のガイダンスについては、「ランタイム ログを使用 してアドインをデバッグする」を参照してください。

  • コードにブレークポイントを設定してアドインをデバッグします。 プラットフォーム固有の手順については、「 イベント ベースのアドインとスパム レポート アドインをデバッグする」を参照してください。

追加のヘルプを求める

推奨されるトラブルシューティング手順を実行した後もヘルプが必要な場合は、 GitHub の問題を開きます。 スクリーンショット、ビデオ録画、またはランタイム ログを含め、レポートを補完します。

関連項目