2016-01-09 51 views
0

我有一个在Azure中定义的应用程序,该应用程序有权读取Exchange邮箱。我使用Azure获取访问码,然后访问令牌,并可以成功读取当前用户邮箱中的邮件。我遇到的问题是当前用户具有委派邮箱权限时,同一个过程会导致403 Forbidden错误而不是数据。如果我打开Outlook,我可以看到代理邮箱,它只有在尝试通过失败的o365 API访问它时才会看到。403禁止的错误使用Office 365 API访问委托邮箱

一旦我有我的访问令牌,我要求从这个端点的数据:https://outlook.office.com/api/v1.0/users/[email protected]/messages。正如我所说,从您的邮箱收到电子邮件的工作正常,但不适用于您具有委派权的邮箱。我还确认,如果我登录并获取具有委派权限的邮箱所有者的访问令牌,我可以成功检索数据。

我已经在Matthias的博客上看到过几个问题,但没有答案。有没有办法做到这一点?

谢谢。

回答

0

Office 365 REST API不支持将消息作为代理来获取。您可以考虑使用EWS。 下面的链接也许有帮助: https://msdn.microsoft.com/EN-US/library/office/dn641963(v=exchg.150).aspx

希望它是有帮助的。

+0

谢谢您的确认。我们完全致力于o365 API,所以我们将继续努力。希望将来有与EWS功能相等的功能。 –

+0

您好Steve, 基于我的理解,Office 365 REST API只是提供原子性和稳定性的服务。代理功能属于Exchange,但Office 365邮件服务不应该知道邮件服务提供商的详细信息。 所以我不认为Office 365 REST服务是好的选择为代表获取邮件。 Exchange API或EWS是更好的选择。 –

+0

谢谢Fei,这里的透明度应该是真正的开发者,而不是API。显然,许可连接已经到位,或者它不适用于EWS;他们只是没有完成功能比较的工作。 MSFT已经将所有的营销和开发支持都抛在了o365 API之后,而且我没有看到EWS在这一点上获得的不仅仅是持续的工程支持。这只是需要提高到平价的东西。 –