我想通过EWS获取当前的登录用户。我搜索了一些文档,但是找不到找到当前用户的方法。我需要你的帮助。非常感谢
答案 0 :(得分:1)
使用ResolveName EWS operation-您只需要用户的SMTP地址。
答案 1 :(得分:0)
正如Dmitry所说,您可以使用ResolveName。例如:
NameResolutionCollection ncCol = service.ResolveName("user@domain.com",ResolveNameSearchLocation.DirectoryOnly,true);
Console.WriteLine(ncCol[0].Contact.DisplayName);
您还可以将ConverId与通用地址一起使用,以获取当前用户自己的电子邮件。例如:
Folder Inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
AlternateId aiAlternateid = new AlternateId(IdFormat.EwsId, Inbox.Id.UniqueId, "mailbox@domain.com");
AlternateIdBase aiResponse = service.ConvertId(aiAlternateid, IdFormat.EwsId);
Console.WriteLine(((AlternateId)aiResponse).Mailbox);
在执行基于POX的发现时,自动发现还将返回邮箱的PrimarySMTP地址。