【问题标题】:How to refresh Office.context.roamingSettings from server on OWA?如何从 OWA 上的服务器刷新 Office.context.roamingSettings?
【发布时间】: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 客户端中从服务器更新,以便每次加载项打开时都可以重新加载?

【问题讨论】:

    标签: outlook-web-addins


    【解决方案1】:

    感谢您报告有关 roamingSettings 的问题,我们已将此问题添加到我们的待办事项中,我们将予以修复。很遗憾,我们目前没有任何时间表可以分享。

    不过,当重新加载 OWA 时,漫游设置似乎确实会更新,而且我们始终注意到漫游设置会更新。 saveAsync 在您的情况下是否返回成功?

    【讨论】:

    • 刷新浏览器页面(重新加载 OWA?)可能也可以,我没有尝试过。由于该商品在服务器上更新成功,所以我没有进入代码检查返回码是否成功。
    • 只是一个旁注,我遇到的另一个问题是,如果加载项有多个页面,并且必须在它们之间导航——我注意到将漫游设置保存在一个页面上不会在下一页上检索到 - 但是关闭应用程序(不刷新浏览器)并重新打开应用程序会使更改出现。如果在一个应用实例(在不同页面上)期间依赖更新和重新读取更新的漫游设置,则 Outlook 应用似乎需要设计为单页应用。
    猜你喜欢
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    相关资源
    最近更新 更多