Microsoft Graph API .NET 无法读取共享邮件

2024-01-03

第一篇文章...就到这里。我试图显示来自共享邮箱的电子邮件,但遇到“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 范围。

接下来我尝试修改ASP.NET 4.6 的 Microsoft Graph 代码片段示例 https://github.com/microsoftgraph/aspnet-snippets-sample

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

• 读写您可以访问的邮件

• 阅读您可以访问的邮件

但当我尝试从共享邮箱获取邮件时出现同样的错误

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

这里有一个类似的帖子Microsoft Graph API SDK .NET 获取其他用户电子邮件时出现问题 https://stackoverflow.com/questions/40671453/microsoft-graph-api-sdk-net-issues-getting-other-users-emails答案意味着这是可能的。如果是的话,任何人都可以提供一些关于我所缺少的内容的见解吗?谢谢


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

Here https://blogs.msdn.microsoft.com/exchangedev/2015/01/21/building-daemon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow/是一篇关于创建 client_credentials 流程应用程序的文章(如果您有兴趣走这条路线)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Microsoft Graph API .NET 无法读取共享邮件 的相关文章

随机推荐