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