EWS托管API:搜索与Windows登录关联的主邮箱以外的收件箱

Dav*_*vid 8 c# exchangewebservices

我有一个应用程序从'用户A'中提取电子邮件,电子邮件地址为UserA@email.com.我使用以下代码来执行此操作:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.UseDefaultCredentials = true;
service.Url = new Uri(ServerName);

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new  ItemView(500));
Run Code Online (Sandbox Code Playgroud)

如果用户A已登录并运行该应用程序,则此方法正常.

但是,假设"用户B"已被授予访问用户A收件箱的权限,并希望运行相同的应用程序以从用户A的收件箱中提取文件.如何更改上面的代码以指定电子邮件帐户收件箱?

我知道在获取凭据时我可以对用户A的登录详细信息进行硬编码,但理想情况下我会避免使用硬编码的用户名,而是使用运行应用程序的用户的凭据.

这可能只是我缺乏理解,但我对.net相对较新,对EWS来说也是新手.任何指针将非常感谢!

谢谢

Dav*_*vid 16

代表团就是我所需要的:

FolderId InboxId = new FolderId(WellKnownFolderName.Inbox, "UserA@email.com");
FindItemsResults<Item> findResults = service.FindItems(InboxId, new ItemView(500));
Run Code Online (Sandbox Code Playgroud)