如何使用EWS从Outlook联系人中读取扩展属性

如何使用EWS从Outlook联系人中读取扩展属性,outlook,exchangewebservices,Outlook,Exchangewebservices,我目前正试图通过Microsoft的EWS托管API从Outlook联系人对象读取某些属性。我从FindItems()函数中检索这些联系人对象。其中一些字段是扩展属性,如标题或用户1字段,我很难读取它们。目前,我有: guidpropertysetid=newguid({00062004-0000-0000-C000-0000000000 46}); ExtendedPropertyDefinition titleProp=新的ExtendedPropertyDefinition(propert

我目前正试图通过Microsoft的EWS托管API从Outlook联系人对象读取某些属性。我从
FindItems()
函数中检索这些联系人对象。其中一些字段是扩展属性,如
标题
用户1
字段,我很难读取它们。目前,我有:

guidpropertysetid=newguid({00062004-0000-0000-C000-0000000000 46});
ExtendedPropertyDefinition titleProp=新的ExtendedPropertyDefinition(propertySetId,0x3A45,MapPropertyType.String);
ExtendedPropertyDefinition user1Prop=新的ExtendedPropertyDefinition(propertySetId,0x804F,MapPropertyType.String);
字符串标题,user1;
联系人:TryGetProperty(标题栏,外标题);
contact.TryGetProperty(user1Prop,out user1);
运行此操作时,
TryGetProperty
始终返回false。我已验证这些字段是否在Outlook中填充了我正在搜索的联系人

编辑:这是我检索联系人对象的方式

ExchangeService服务=/。。。
邮箱userMailbox=新邮箱(emailAddress);
FolderId FolderId=新的FolderId(WellKnownFolderName.Contacts,userMailbox);
查找结果;
const string AQS=“类别:~>\”CategoryTag\”;
ItemView视图=新的ItemView(200);
结果=service.FindItems(folderId、AQS、view);
foreach(结果中的var结果)
{
接触=作为接触的结果;
//…尝试读取字段
}
您需要将要访问的更改为()

var user1Val=string.Empty;
var user1Prop=new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Address,0x804F,MapiPropertyType.String);
ExtendedPropertyDefinition[]extendedFields=新的ExtendedPropertyDefinition[]{user1Prop};
PropertySet extendedPropertySet=新的PropertySet(BasePropertySet.FirstClassProperties,extendedFields);
ItemView=newitemview(200){PropertySet=extendedPropertySet};
// ...
var title=contact.CompleteName.title;//标题值
contact.TryGetProperty(user1Prop,out user1Val);//用户字段1值

您需要包括
Contact.Bind()
的代码,或者您如何获得
Contact
字段引用。我当前需要检索4个不同的扩展属性。它们是CustomerId、Title、User1和Email1地址类型。通过您的更改,我可以检索CustomerId和Email1AddressType,但标题和User1仍然无法读取。您是否知道原因?请尝试将
user1Prop
更改为:
ExtendedPropertyDefinition user1Prop=newextendedpropertydefinition(DefaultExtendedPropertySet.Address,0x804F,MapPropertyType.String)
对于
标题
,您应该使用来检索值(一级属性)。@Klam-请参见上面的编辑。这对我检索标题和用户字段很有效。找到了一些东西(PDF的直接下载链接):