【问题标题】:Microsoft Graph API .NET not able to read shared mailMicrosoft Graph API .NET 无法读取共享邮件
【发布时间】:2016-11-25 23:55:32
【问题描述】:

第一篇文章……就这样。我正在尝试显示来自共享邮箱的电子邮件,但遇到“ErrorAccessDenied 访问被拒绝。检查凭据并重试”。

用户确实拥有邮箱权限,我可以在 Outlook 和 O365 门户中访问/阅读电子邮件。在我的应用中,我还分配了 Mail.Read.Shared 和 Mail.ReadWrite.Shared 范围。

一开始我尝试了 Graph Explorer

https://graph.microsoft.com/beta/users/<userPrincipalNameOfSharedMailbox>/messages

但相同的 ErrorAccessDenied,假定 Graph Explorer 没有 Mail.Read.Shared 范围。

接下来我尝试修改Microsoft Graph Snippets Sample for ASP.NET 4.6

我添加了 Mail.Read.Shared 和 Mail.ReadWrite.Shared 并被提示接受这些权限

• 读写您可以访问的邮件

• 阅读您可以访问的邮件

但是当我尝试从共享邮箱获取邮件时,我得到了同样的错误

IUserMessagesCollectionPage messages = await graphClient.Users["userPrincipalNameOfSharedMailbox"].Messages.Request().GetAsync();

这里有一个类似的帖子Microsoft Graph API SDK .NET Issues getting other users emails,答案暗示这是可能的。如果是的话,任何人都可以提供一些关于我所缺少的东西的见解吗?谢谢

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    目前,authorization_code 流不支持访问共享消息,但 client_credentials 流支持。为了合并此功能,您必须更改流程以合并此功能。

    Here 是一篇关于创建 client_credentials 流应用程序的文章,如果您有兴趣走这条路。

    【讨论】:

    • 感谢您的指导,我能够让它工作。以后是否会添加该功能, Mail.Read.Shared 范围的目的是什么,或者我误解了什么。对我来说,Mail.Read.Shared 范围应该允许访问共享邮件项。
    • 是的,我同意,Mail.Read.Shared 范围意味着这是可用的。此功能是我们正在开发的功能,但不幸的是,我没有这方面的 ETA。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2017-03-21
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    相关资源
    最近更新 更多