簡體   English   中英

我可以使用Exchange Web服務獲取活動目錄列表嗎?

[英]Can I use Exchange Web Services to get active directory listing?

我是使用EWS連接到外部客戶郵件服務器的系統上的開發人員。 這是我們與他們之間唯一的直接聯系。

他們有時還會向我們發送其活動目錄用戶的CSV轉儲,以便我們可以將其上傳到我們的系統中。 我想改善這個過程。

如果我使用EWS憑據登錄到OWA門戶,則可以在“聯系人”下看到其所有公司用戶,因此該信息就可以在那里以某種形式訪問。

有沒有辦法我可以自己通過EWS連接提取數據(例如,作為LDAP查詢)? 並從我們這邊處理他們的用戶記錄?

這實際上取決於客戶正在運行的Exchange版本和通訊簿的大小。 在Exchange 2010上,EWS在地址方面的功能受到限制,您擁有ResolveName https://msdn.microsoft.com/zh-cn/library/office/aa563518(v=exchg.150).aspx ,可從中獲取一次最多返回100個條目,因此,如果對“ SMTP:”執行解析,則返回GAL中的前100個條目(因此,如果小於100,它將正常工作),如果大於100,則返回GAL。效果不好。 一種解決方法是將所有條目放入一個組中,然后使用擴展組獲取所有電子郵件地址,然后使用多個ResolveNames獲取聯系方式。

在2013年,有一個FindPeople操作https://msdn.microsoft.com/zh-cn/library/office/jj191039%28v=exchg.150%29.aspx ,如果您具有通訊簿Guid,則可以返回所有條目在GAL中(使用eg時,Find People支持分頁)

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

如果他們使用的是Office365,則使用Graph API是更好的選擇。

干杯格倫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM