重置文件处理程序缓存

以两种方式缓存文件处理程序 - 本地缓存在浏览器和服务器上。 这些缓存的超时为 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 方法

对于用户同意的情况(而非管理员部署),在用户第一次同意申请后调用上述请求可能会对用户体验非常有益。 这样,用户将在下次访问 OneDrive Web 应用时即可看到文件处理程序,而无需等待长达 24 小时才能看到文件处理程序。

租户管理员重置

由于应用更新需要一些时间才能通过系统租户管理员全局刷新存储的应用缓存,这会影响用户的文件处理程序的可见性。 这将影响基于用户分配、隐藏标志或托管文件处理程序的 AAD 应用的其他更新的更改。 若要重置租户管理员可以访问的所有用户的缓存应用数据,请执行以下操作:

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

此 API 每小时只能调用一次,以避免性能影响所有用户。