访问 Outlook 窗体和 Exhange Web 服务中的自定义字段



我们有一个包含两个部分的应用程序,并希望两者都能够访问Outlook项目的相同字段。通过字段,我的意思是可以存储在项目上的任何类型的键值类型的数据,因为显然似乎有多种类型。因此,该应用程序的两个部分是:

  • 使用 MS 提供的官方 EWS 库的 Java 应用程序
  • 使用 VBScript 的 Outlook 窗体

我们能够从Java应用程序访问Outlook项目,甚至可以存储和检索所谓的扩展属性。但只有那些通过同一 API 存储的。据我所知,在 C# 中,这方面的代码也非常相似。

ExtendedPropertyCollection epc = appointment.getExtendedProperties();
for (ExtendedProperty ep : epc) {
    // these do not print anything, epc.getCount() returns 0
    System.out.println(" extendedpropC: " + ep.getClass());
    System.out.println(" extendedpropV: " + ep.getValue());
}

在 Outlook 窗体中,我们能够通过将文本框映射到字段的方式将文本框的值存储到字段中,如此处所述。因此,在保存并重新打开项目后,自定义文本框将使用字段中的值填充。但是,当尝试通过 EWS 访问这些值时,它们根本不存在,反之亦然。

那么,对于多个 API/语言的这些扩展属性,是否有多个"槽"呢?

或者,为了扩大问题的范围,您将在 Outlook 项目中使用哪些方法/API,这些数据应该以某种方式从 Java 访问?

您可以使用

AppointmentItem.PropertyAccessor.GetProperty 访问任何 MAPI 属性。

您可以在OutlookSpy(我是其作者(中看到属性及其DASL名称(调用GetProperty时需要使用(:选择约会,单击IMessage按钮,选择有问题的属性,查看DASL编辑框。

相关内容

  • 没有找到相关文章

最新更新