我想找出" Alias"联系/房间。
无论如何都可以通过java ews api检索它。如果没有,是否有另一种选择,例如EWS SOAP Web服务?
目前我只接收邮件地址,公司名称,显示名称,部门和办公地点...... 这表明,当我填写联系表格中的信息时(见下图),这些信息也应该通过EWS API检索。但是" Alias"不见了。
我在那些java对象中搜索了别名信息。特别是" PropertyBag"类。 " getAlias()"返回null。
NameResolution nameResolution = nameResolutionIterator.next();
Contact contact = nameResolution.getContact();
contact.getAlias(); // This one returns null..
PropertyBag propertyBag = contact.getPropertyBag();
Collection<Object> propertiesValues = propertyBag.getProperties()
.values();
Set<PropertyDefinition> propertiesKeys = propertyBag
.getProperties().keySet();
答案 0 :(得分:2)
如果安装了Exchange 2010 SP2(或更高版本),则可以使用SP2中添加的ContactDataShape属性https://msdn.microsoft.com/en-us/library/office/aa565329(v=exchg.150).aspx来告知Exchange返回此属性。例如,以下内容适用于Sp2及更高版本
PropertySet psPropSet = new PropertySet(BasePropertySet.FirstClassProperties);
NameResolutionCollection coll = service.ResolveName("glen", ResolveNameSearchLocation.DirectoryOnly,true , psPropSet);
foreach (NameResolution nameRes in coll)
{
Console.WriteLine("Contact name: " + nameRes.Contact.Alias);
}
干杯 格伦