检索"别名"使用Java EWS API

时间:2015-08-27 06:46:26

标签: java exchange-server alias exchangewebservices

我想找出" Alias"联系/房间。

无论如何都可以通过java ews api检索它。如果没有,是否有另一种选择,例如EWS SOAP Web服务?

目前我只接收邮件地址,公司名称,显示名称,部门和办公地点...... 这表明,当我填写联系表格中的信息时(见下图),这些信息也应该通过EWS API检索。但是" Alias"不见了。

Image

我在那些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();

1 个答案:

答案 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);
        }

干杯 格伦