如何获得当前的登录用户

时间:2018-10-29 13:39:25

标签: outlook exchangewebservices

我想通过EWS获取当前的登录用户。我搜索了一些文档,但是找不到找到当前用户的方法。我需要你的帮助。非常感谢

2 个答案:

答案 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地址。