首页 > 解决方案 > 从 EWS 访问由 Office.js 设置的 Custompropertie

问题描述

我使用 Office.js 制作了一个 Outlook Addin Angular8 应用程序来与 Outlook 交互。

一切正常,插件工作正常,并将 CustomPropertie 存储到 Mailitem 中,重新打开 Mailitem 后可以读取。在这个实现中,这是一个简单的哈希图。

this.customPropertiesContainer.set('lvAppointmentServiceId', this.selfiId);
this.customPropertiesContainer.saveAsync();

现在我想使用 EWS 读取另一个应用程序中的属性以获取邮件项。这里的实现非常复杂。

private PropertySet getPropertySetKnown() {
    PropertySet propertySet = null;
    try {
        propertySet = new PropertySet(BasePropertySet.FirstClassProperties, getExtendedPropertyDefinition());
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    return propertySet;
}

private ExtendedPropertyDefinition getExtendedPropertyDefinition() throws Exception {
    ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(
            DefaultExtendedPropertySet.PublicStrings, CATERING_JIRA_ID, MapiPropertyType.String);
    return extendedPropertyDefinition;
}

Item boundItem = Item.bind(this.exchangeService, 约会ID, getPropertySetKnown()); jiraCateringId = boundItem.getExtendedProperties().getItems().stream() .filter(property -> property.getPropertyDefinition().getName().equals(CATERING_JIRA_ID)).findFirst() .orElse(null);


有谁知道可以在哪个 DefaultExtendedPropertySet 中找到由 Office.js 设置的属性?有没有办法使用 EWS 获得所有属性,而无需定义自己的定义?

Outlook / Exchange 中是否有任何调试工具可以查看项目中的自定义属性?

标签: outlookexchange-serverexchangewebservicesoffice-js

解决方案


正如@Glen Scales 所提到的,应该可以回答您的问题。您还可以参考文档Working with extended properties以获取有关从 EWS 访问扩展属性的更多详细信息。


推荐阅读