Exchange server 使用EWS检索所有Exchange联系人(全局地址列表和用户联系人文件夹)
我正在尝试使用EWS获取所有联系人(全局地址列表和用户联系人文件夹) 迄今为止尝试的选项:Exchange server 使用EWS检索所有Exchange联系人(全局地址列表和用户联系人文件夹),exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,我正在尝试使用EWS获取所有联系人(全局地址列表和用户联系人文件夹) 迄今为止尝试的选项: Service.ResolveName(“SMTP:”)-这对仅获取具有限制 前100个字符,因为我想获得所有联系人,以便 与分页一起显示在网格中。此外,启用returnContactDetail=true(以及特定于联系人架构的属性集)不会返回联系人信息,如(显示名称、公司名称等) NameResolutionCollection nd=service.ResolveName(“SMTP:”,Resol
EWS中唯一的另一个选项是使用FindPeople操作,如果您知道全局地址列表的GUID,您应该能够将整个内容分页回来
FindPeopleType fpType = new FindPeopleType();
IndexedPageViewType indexPageView = new IndexedPageViewType();
indexPageView.BasePoint = IndexBasePointType.Beginning;
indexPageView.Offset = 0;
indexPageView.MaxEntriesReturned = 100;
indexPageView.MaxEntriesReturnedSpecified = true;
fpType.IndexedPageItemView = indexPageView;
fpType.ParentFolderId = new TargetFolderIdType();
DistinguishedFolderIdType contactsFolder = new DistinguishedFolderIdType();
AddressListIdType adList = new AddressListIdType();
adList.Id = "2117949e-abe8-4915-91eb-6b9f867fd8de";
fpType.ParentFolderId.Item = adList;
FindPeopleResponseMessageType fpm = null;
do
{
fpm = esb.FindPeople(fpType);
if (fpm.ResponseClass == ResponseClassType.Success)
{
foreach (PersonaType PsCnt in fpm.People) {
Console.WriteLine(PsCnt.EmailAddress.EmailAddress);
}
indexPageView.Offset += fpm.People.Length;
}
else {
throw new Exception("Error");
}
} while (fpm.TotalNumberOfPeopleInView > indexPageView.Offset);
>考虑不要使用EWS并直接使用该目录。例如,如果它的OnFieldLoT使用Stask.DirectyServices或其Office 365,则可以使用该图访问所有目录对象。