第一篇文章...在这里。我正在尝试显示来自共享邮箱的电子邮件,但遇到“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答案暗示这是可能的。如果是的话,任何人都可以提供一些关于我所缺少的东西的见解吗?谢谢
最佳答案
目前,authorization_code 流程不支持访问共享消息,但 client_credentials 流程支持。为了合并此功能,您必须更改流程以合并此功能。
Here是一篇关于创建 client_credentials 流应用程序的文章,如果您有兴趣走这条路线的话。
关于microsoft-graph-api - Microsoft Graph API .NET 无法读取共享邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813610/