2016-04-26 39 views
0

使用EWS托管API 2.2 Microsoft.Exchange.WebServices.Data.Contact,我想设置OrganizationalIDNumber属性来存储员工编号,但我找不到这个或类似的属性。组织的EWS数据联系人属性编号

请提供突出显示要使用的联系人属性的代码。谢谢!

回答

0

您要使用扩展属性(https://msdn.microsoft.com/en-us/library/office/dd633691(v=exchg.80).aspx) 下面是我的代码来创建一个OrganizationalIDNumber在那里你可以存储整数(IDS)

var organizationalIdTag = 0x3A10; 
var oContact = new Contact(pExchangeService); 
oContact.setExtendedProperty(organizationalIdTag, <<INSERT string OF ID HERE>>); 
oContact.Save(); 
+0

我适应您的代码为C#:'ExtendedPropertyDefinition oOrganizationalIDNumber =新ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, “OrganizationalIDNumber”,MapiPropertyType.Integer); contact.SetExtendedProperty(oOrganizationalIDNumber,eid)'。麻烦仍然是在Outlook的“所有联系人字段”下,组织ID号仍然是空的。我在哪里可以找到扩展属性的值? – Miha

+0

我很抱歉我不知道这是一个已存在的实际属性,请参阅已更新的答案 – rojobo

+0

您是如何计算出OrganizationalID标记值的?从https://msdn.microsoft.com/en-us/library/ms526356(v=exchg.10).aspx CdoPR_ORGANIZATIONAL_ID_NUMBER&H3A10001E? – Miha

1

@rojobo:非常感谢你的指点我到正确的方向;低于最终工作的代码。

ExtendedPropertyDefinition orgId = new ExtendedPropertyDefinition(0x3A10, MapiPropertyType.String); 
    oContact.SetExtendedProperty(orgId,stringValueHere); 
    oContact.Save();