我正在编写一个使用 EWS 托管 API 访问 Exchange 2013 SP1 服务器的 .NET 应用程序。现在我有以下问题:我有一个用户能够成功搜索邮箱,但该用户无法根据搜索结果的给定 ID 检索项目(电子邮件)。
因此,我执行搜索ServiceResponseCollection<SearchMailboxesResponse> responseCollection = service.SearchMailboxes(searchMailboxesParameters);
没有任何问题,但如果我从结果中获取唯一 ID 并尝试使用以下代码检索该项目:
ItemId itemId = new ItemId(itemIdentifier);
Item exchangeItem = Item.Bind(exchangeService, itemId);
我得到以下异常:
Access is denied. Check credentials and try again.
所以,我认为类似于特殊角色赋予的邮箱搜索能力,阅读其他用户电子邮件的能力可以由我现在不知道的特殊角色赋予。
另一方面,如果我手动将阅读的用户分配给“已阅读”用户的邮箱,则该过程可以正常工作,但这无法完成,因为我们谈论的是成千上万的用户和未知数量的用户管理员。
非常感谢您的想法。