我有一个 Office 365 邮件应用程序,它在保存项目之前将值存储在自定义属性中。保存项目后,我想使用服务器端应用程序访问此属性。通读自定义属性文档告诉我,我无法使用 EWS 等任何其他服务访问使用 JS API 创建的自定义属性,因为这些不是 MAPI 属性。有什么解决方法吗?是否可以使用 REST API 访问这些?
问问题
726 次
3 回答
4
实际上,它记录了它们的存储位置和格式。[ MS-OXCEXT]规范提供了细节。基本上,这些值作为 JSON 字典存储在项目的自定义属性中。您应该能够使用 EWS 将该自定义属性读取为ExtendedProperty
.
更新:在与内部人员讨论后,我应该声明这不是 MrPiao 所指出的受支持的方法。如前所述,存储设计可能会发生变化,如果您依赖当前的设计,这会破坏您的应用程序。令人担忧的是,我不想让你走上一条最终变得不可行的道路:)。如果你能描述你的最终目标是什么,也许我们可以提出一个更持久的解决方案。
于 2015-05-12T18:20:37.300 回答
0
自定义属性绝对意味着只能由 Outlook API 应用程序创建和访问。但是,这个属性必须存储在某个地方——那就是在项目上。我相当肯定,如果您进行 GetItem 调用并枚举项目上的每个属性,您将能够访问自定义道具。
需要注意的重要一点是,这绝对是一个不受支持的场景。将来设计可能会发生变化,这种情况可能会破裂。我绝对不会在生产环境中访问邮件应用程序之外的自定义属性。
于 2015-05-12T17:42:03.607 回答
0
Guid PS_PUBLIC_STRINGS = new Guid("00020329-0000-0000-C000-000000000046"); ////PS_PUBLIC_STRINGS' GUID
ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(PS_PUBLIC_STRINGS, "cecp-{your add-in manifest id}", MapiPropertyType.String);
PropertySet psPropSet = new PropertySet() { extendedPropertyDefinition };
message.Load(psPropSet);
于 2018-10-31T10:21:01.277 回答