在哪里存储 Outlook Web App 的较大数据?

Where to store larger data for Outlook Web App?

我正在为 Outlook Web App 开发我的第一个加载项。我不清楚我应该在哪里存储用户提供的较大数据块(例如,大块文本、图像)并与加载项相关联(而不是属于特定邮件项目)。

我的印象是 RoamingSettings 应该用于相对较小的东西,因此不太适合。我可以将数据存储在 OneDrive 上,但我不想将数据公开给加载项之外的用户 UI。我发现 this SO entry 但答案似乎更适用于桌面 Outlook,而不是 OWA。我想如果需要的话,我可以将数据存储在我自己的服务器上,但我首先想知道 OWA 体系结构中是否已经存在可以满足此目的的东西。

RoamingSettings 是用于存储 application/user settings/data 的默认选择,但每个设置可使用的大小有 32K 的限制,加载项使用的所有设置的总大小为 2MB。另一种方法是使用 EWS 在隐藏文件夹中创建邮件并将您的数据存储在邮件正文中。

我创建了一个将 XML 序列化为隐藏消息并返回到 JavaScript 对象的实现。您可以在此处查看我的文章(GitHub 中包含示例应用程序和源代码),了解如何操作:

https://blogs.msdn.microsoft.com/mvpawardprogram/2016/01/26/unifying-your-web-dev-skills-for-office-add-ins/

我是 Microsoft 的 Outlook 插件开发人员。

如您所述,您应该将更大的数据与您的服务一起存储/存储在您的服务器上。消息通常不适合为您的插件存储随机数据。使用 makeEwsRequestAsync 需要 ReadWriteMailbox 以获得插件权限,否则可能不需要。

另一个注意事项是 32K 限制是每个 Outlook 插件的 RoamingSettings 限制。不是2MB。