如何在EWS中获取登录用户的显示名称?

tig*_*tig 4 exchange-server exchangewebservices

Exchange Autodiscovery将通过该UserSettingName.UserDisplayName属性向我提供用户的显示名称.

但是,如果自动发现失败并且需要手动完成连接,我无法弄清楚如何获取DisplayName.

我尝试过这个,但我只是得到了用户的电子邮件地址:

 _service = new ExchangeService();
 _service.Credentials = new System.Net.NetworkCredential(exchangeSettings.EmailAddress, exchangeSettings.Password);
 _service.Url = new Uri(exchangeSettings.ExternalEwsUrl);

 NameResolutionCollection resolvedNames = _service.ResolveName(exchangeSettings.EmailAddress);
 exchangeSettings.UserDisplayName = resolvedNames.First().Mailbox.Name;
Run Code Online (Sandbox Code Playgroud)

谢谢

Gle*_*les 7

如果您要使用ResolveName并且您想要displayName,那么您应该使用重载来指定操作应该返回AD联系信息.然后你可以使用该DisplayName属性.

NameResolutionCollection ncCol = 
 service.ResolveName("user@domain.com",ResolveNameSearchLocation.DirectoryOnly,true);

Console.WriteLine(ncCol[0].Contact.DisplayName);
Run Code Online (Sandbox Code Playgroud)