Java 访问Outlook窗体和ExAnge web服务中的自定义字段

Java 访问Outlook窗体和ExAnge web服务中的自定义字段,java,vbscript,exchangewebservices,ewsjavaapi,outlook-form,Java,Vbscript,Exchangewebservices,Ewsjavaapi,Outlook Form,我们有一个由两部分组成的应用程序,希望两者都能够访问Outlook项目的相同字段。我所说的字段是指任何类型的键值类型的数据,这些数据可以存储在条目上,因为很明显,它们似乎有多种类型。因此,应用程序的两个部分是: 使用微软提供的官方EWS库的Java应用程序 使用VBScript的Outlook窗体 我们可以从Java应用程序访问Outlook项目,甚至可以存储和检索所谓的扩展属性。但是只有那些通过相同的API存储的。据我所知,这方面的代码在C中也非常相似 ExtendedPropertyColl

我们有一个由两部分组成的应用程序,希望两者都能够访问Outlook项目的相同字段。我所说的字段是指任何类型的键值类型的数据,这些数据可以存储在条目上,因为很明显,它们似乎有多种类型。因此,应用程序的两个部分是:

使用微软提供的官方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/语言的这些扩展属性是否有多个“插槽”


或者,为了扩大问题的范围,您会使用哪些方法/API将键值类型数据用于Outlook项目,这些项目应该可以通过Java进行访问?

您可以使用AppointmentItem.PropertyAccessor.GetProperty访问任何MAPI属性


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

您可以使用AppointmentItem.PropertyAccessor.GetProperty访问任何MAPI属性


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

谢谢,我正在接近,但还没有。有了OutlookSpy,我可以找到通过EWS添加的ExtendedProperty,它是DASL。如何从中读取VBScript中的此属性?我还可以看到表单映射的字段,它的值已正确存储,但如何访问它?列出项目的ExtendedProperties时,它没有任何属性。谢谢。VB脚本可以使用AppointItem.PropertyAccessor.GetProperty。对不起,我不知道EWS的情况。谢谢你,我离这里越来越近了,但还没到。有了OutlookSpy,我可以找到通过EWS添加的ExtendedProperty,它是DASL。如何从中读取VBScript中的此属性?我还可以看到表单映射的字段,它的值已正确存储,但如何访问它?列出项目的ExtendedProperties时,它没有任何属性。谢谢。VB脚本可以使用AppointItem.PropertyAccessor.GetProperty。对不起,我不知道EWS的情况。