2014-09-10 40 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

相关问题