2015-01-15 21 views
0

使用EWS托管API,我想查询Exchange中存储在GAL中的联系人列表,并获取每个联系人的别名电子邮件地址列表。使用EWS API检索超过3个别名电子邮件地址联系人

它似乎从GAL中检索联系人信息的唯一方法是对每个联系人使用ResolveNames API调用 - 这是正确的吗?

然后,对于每个联系人返回的结果数据,看起来只有3个电子邮件地址被返回 - 是否有任何方法可以获得附加到每个联系人的别名的完整列表?

回答

0

这似乎从GAL检索联系人信息的唯一方式是使用>>的ResolveNames API调用为每个联系人 - 这是正确的?

可以在Exchange 2013 http://msdn.microsoft.com/en-us/library/office/jj191039%28v=exchg.150%29.aspx使用FindPeople。不过,我相信GetPersona也仅限于返回3个电子邮件地址。所以,如果你需要的一切为EmailAddresses你需要为使用LDAP(你可以从ResolveName得到ADGuid,如果你在2010年如

 PropertySet psPropSetaaaa = new PropertySet(BasePropertySet.FirstClassProperties); 
     NameResolutionCollection coll = service.ResolveName("glen", ResolveNameSearchLocation.DirectoryOnly, true, psPropSetaaaa); 
     foreach (NameResolution nameRes in coll) 
     { 
      Console.WriteLine("Contact name: " + nameRes.Contact.DirectoryId); 
     } 

使用属性集过载),或使用remotepowershell

干杯 格伦

+0

感谢您的回答。我尝试使用FindPeople调用,但它只返回3个电子邮件地址。查询LDAP或使用remotepowershell不是我们的选择,因为我们将使用EWS端点连接到客户端交换服务器 – kevin 2015-01-16 09:16:17

+0

然后,您将需要找到另一个解决方案,因为EWS将只返回3个地址 – 2015-01-16 10:31:51

相关问题