使用 Java EWS API 检索 "Alias"

Retrieve "Alias" using Java EWS API

我正在尝试找出 contact/room 的 "Alias"。

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

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

我在那些 java 对象中搜索了别名信息。尤其是 "PropertyBag" Class。 "getAlias()" returns 空。

        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();

如果您安装了 Exchange 2010 SP2(或更高版本),您可以使用 SP2 中添加的 ContactDataShape 属性 https://msdn.microsoft.com/en-us/library/office/aa565329(v=exchg.150).aspx 告诉交换 return 这个 属性.例如,以下将适用于 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);
        }

干杯 格伦