2014-09-10 83 views
1

我試過Google搜索它,但沒有找到任何明確的答案。 使用EWS Api可以從交換中拉取Autolist聯繫人嗎?我知道我可以search contacts by name,但我可以通過autolist拉他們嗎?EWS - 從交易所拉autolist聯繫人

+0

你需要從Outlook或OWA自動完成列表? – 2014-09-10 11:33:51

+0

我需要它從OWA。 – emc 2014-09-11 14:48:19

回答

2

使用Exchange Service Managed API 2.0這應該做的伎倆:

private static void ListOwaAutocompleteCache(ExchangeService service, string email) 
{ 
    var folderId = new FolderId(WellKnownFolderName.Root, email); 
    var userConfig = UserConfiguration.Bind(service, "OWA.AutocompleteCache", folderId, UserConfigurationProperties.All); 

    var xml = Encoding.UTF8.GetString(userConfig.XmlData); 
    var xmlDoc = new XmlDocument(); 
    xmlDoc.LoadXml(xml.Substring(1)); 
    var nodes = xmlDoc.SelectNodes("AutoCompleteCache/entry"); 
    foreach (XmlNode node in nodes) 
    { 
     Console.WriteLine(node.Attributes["displayName"].Value + ", " + node.Attributes["smtpAddr"].Value); 
    } 
} 
+0

是的它的確如此。我已經搜索了幾天,最優雅的方式就是你在上面看到的。 通過管理的API對象它是可笑的困難 隨着XmlDocument地獄更容易很多再次感謝你 – Chris 2016-03-30 21:29:56

相關問題