次の方法で共有


ファイル ハンドラーのキャッシュをリセットする

ファイル ハンドラーは、ブラウザーとサーバーでローカルに 2 つの方法でキャッシュされます。 これらのキャッシュのタイムアウトは 24 時間です。つまり、ファイル ハンドラー マニフェストの更新がユーザーに表示されるまでに最大 48 時間かかることがあります。

ファイル ハンドラーを開発するときに、アカウントのローカル キャッシュをリセットして最新のファイル ハンドラーを表示できると便利です。

キャッシュをリセットするには、次の操作をする必要があります。

  1. 以下の要求を送信して、サーバー側のキャッシュを更新します。
  2. ブラウザーのローカル データをクリアする
  3. OneDrive のブラウザー ウィンドウを閉じます。
  4. ブラウザー ウィンドウを開き、OneDrive に戻ります。

OneDrive API (Microsoft Graph ではなく) を介して、次の要求を行うことによって、ファイル ハンドラーのリストを更新するように要求できます。

HTTP 要求

GET https://{tenant}-my.sharepoint.com/_api/v2.0/drive/apps?$forceRefresh=1
Authorization: Bearer {access-token}

注: この要求の {access-token} には、SharePoint アプリケーションの MyFiles.WriteSites.Read.All のいずれかのスコープが必要です。

この要求は OneDrive にキャッシュの更新を指示しますが、キャッシュから現在の値を返します。 キャッシュは、ユーザーのテナントにインストールされているアプリケーションの数に応じて、再投入するまでに数秒かかることがあります。

インストールされたファイル ハンドラーのサーバー側キャッシュに加えて、OneDrive Web アプリにはファイル ハンドラーのセッション キャッシュもあります。 このキャッシュは、ブラウザー セッションが終了すると (最後の [OneDrive] タブが閉じるとき) 自動的に消去されます。

エンドユーザーのために forceRefresh メソッドを呼び出す

(管理者導入の代わりに) ユーザーが同意するシナリオでは、ユーザーが初めてアプリケーションに同意した後に上記の要求を呼び出すことは、ユーザー エクスペリエンスにとって有益な場合があります。 このように、ファイル ハンドラーが表示されるまで最大 24 時間待つのではなく、次にユーザーが OneDrive Web アプリにアクセスするときに、ファイル ハンドラーを表示します。

テナント 管理リセット

アプリの更新はシステム テナント管理者に反映されるまでに時間がかかるため、保存されているアプリ キャッシュをグローバルに更新できるため、ユーザーに対するファイル ハンドラーの可視性に影響します。 これは、ファイル ハンドラーをホストしている AAD アプリに対するユーザーの割り当て、非表示フラグ、またはその他の更新に基づく変更に影響します。 テナント管理者が URL にアクセスできるすべてのユーザーのキャッシュされたアプリ データをリセットするには、次の手順を実行します。

GET https://{tenant}.sharepoint.com/_api/v2.0/drive/apps?$adminForceRefresh=1
Authorization: Bearer {access-token}

この API は、すべてのユーザーに影響を与えるパフォーマンスへの影響を回避するために、1 時間に 1 回だけ呼び出すことができます。