【发布时间】:2020-01-27 05:26:56
【问题描述】:
我们有一个 Outlook Web 加载项,它使用 Office.context.roamingSettings 来存储应用程序的设置数据,其中包括最终用户可能期望在其所有设备上可用的信息,如文档所述。根据 API 文档:“由于这些设置存储在用户的服务器邮箱中,因此它们可以与用户一起“漫游”,并且当加载项在任何支持的客户端主机应用程序或访问该应用程序的浏览器的上下文中运行时可供加载项使用用户的邮箱。”
但是,我们遇到了缓存问题。以前有关于此的帖子,例如https://docs.microsoft.com/en-us/javascript/api/outlook/office.roamingsettings?view=outlook-js-preview,以及此处的文档说明:https://docs.microsoft.com/en-us/javascript/api/outlook/office.roamingsettings?view=outlook-js-preview,但不确定是否完全相同 - 这些帖子似乎表明即使在同一设备上运行的相同加载项也不会看不到刷新,这似乎没有发生,可能是因为自文章发布后 OWA 已更新(?)。
如下所述,客户端的行为似乎有所不同。
在我的复制环境中,我有 Exchange 2016 on-prem、OWA 客户端 (Google Chrome) 和 Outlook 2016。我没有尝试过其他平台。
当 OWA 客户端或 Outlook 保存设置数据时,后端邮箱项目会更新。使用 EWS 编辑器验证,查看 IPM.Configuration.ClientExtension。在收件箱协会中。项目。,PidTagRoamingDictionary 属性。
如果 OWA 客户端保存设置数据,Outlook 客户端将在下次打开加载项时看到更改。所以 Outlook 客户端似乎没有问题从服务器刷新更改的项目。但是,如果 Outlook 客户端进行更改,OWA 不会看到更改,除非 OWA 用户注销并重新登录。在浏览器调试器中,我确认 Office.context.roamingSettings 仍然是陈旧的信息。
有没有办法强制 roamingSettings 在 OWA 客户端中从服务器更新,以便每次加载项打开时都可以重新加载?
【问题讨论】: