使用EWS托管API,我想查询存储在Exchange中的GAL中的联系人列表,并获取每个联系人的别名电子邮件地址列表。
从GAL检索联系信息的唯一方法是为每个联系人使用ResolveNames API调用 - 这是正确的吗?
然后,对于每个联系人返回的结果数据,似乎只返回3个电子邮件地址 - 有没有办法获得附加到每个联系人的完整别名列表?
答案 0 :(得分:0)
从GAL检索联系信息的唯一方法是使用>>每个联系人的ResolveNames API调用 - 这是正确的吗?
您可以在Exchange 2013中使用FindPeople http://msdn.microsoft.com/en-us/library/office/jj191039%28v=exchg.150%29.aspx。不过我相信GetPersona也仅限于返回3个电子邮件地址。因此,如果您需要所有EmailAddresses,则需要使用LDAP(如果您在2010年使用propertySet重载,则可以从ResolveName获取ADGuid,例如
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
干杯 格伦