通过EWS或REST API访问使用office365 JS API设置的CustomProperty

问题描述:

我有一个Office 365邮件应用程序,该应用程序在保存项目之前将值存储在自定义属性中.保存该项目后,我想使用服务器端应用程序访问此属性. 通读自定义属性文档告诉我无法访问使用JS API和EWS之类的任何其他服务创建的自定义属性,因为它们不是MAPI属性.有什么解决方法吗?是否可以使用REST API访问这些文件?

I have an office 365 mail app that stores a value in a custom property before the item is saved. When the item is saved I want to access this property using a server-side application. Reading through the custom properties documentation tells me I can't access custom properties created using the JS API using any other service like EWS since these are not MAPI properties. Are there any workarounds ? Is it possible to access these using REST APIs ?

实际上,已记录了它们的存储位置和格式. [MS-OXCEXT] 规范提供了具体细节.基本上,这些值作为JSON字典存储在项目的自定义属性中.您应该能够使用EWS以ExtendedProperty的形式读取该自定义属性.

Actually, it is documented where they are stored and in what format. The [MS-OXCEXT] specification provides the specifics. Basically the values are stored as a JSON dictionary in a custom property on the item. You should be able to use EWS to read that custom property as an ExtendedProperty.

更新:在与内部人员进行讨论之后,我应该否认这不是MrPiao所指出的受支持的方法.如前所述,存储设计可能会发生变化,如果您依赖于当前设计,则会破坏您的应用程序.我担心的是,我不想引导您走上一条最终变得不可行的道路:).如果您可以描述您的最终目标是什么,也许我们可以建议一个更持久的解决方案.

UPDATE: After discussing with folks internally, I should disclaim that this isn't a supported method as MrPiao indicated. As stated, the storage design could change, which would break your app if you depend on the current design. The concern is that I don't want to lead you down a path that eventually becomes unworkable :). If you can describe what your end goal is, perhaps we can suggest a more durable solution.