Azure Graph API-从共享收件箱获取所有电子邮件

Azure Graph API-从共享收件箱获取所有电子邮件,azure,rest,microsoft-graph-api,azure-ad-graph-api,Azure,Rest,Microsoft Graph Api,Azure Ad Graph Api,我正在尝试使用Microsoft Graph API从共享邮箱获取所有电子邮件。 我已获得授权码,然后使用令牌端点获取我的承载令牌: 然后我尝试从共享收件箱获取邮件: 但我得到以下回应: 我的API权限如下所示: 我错过了什么?从我自己的收件箱接收邮件时,它可以正常工作。正如我在评论中所说,您正在使用委托权限,因此您只能调用/me端点来获取您自己的电子邮件 如果您想从共享收件箱获取任何用户的电子邮件,那么您应该使用应用程序权限,然后您需要使用客户端凭据流获取令牌,然后您将能够使用该令牌调

我正在尝试使用Microsoft Graph API从共享邮箱获取所有电子邮件。 我已获得授权码,然后使用令牌端点获取我的承载令牌:

然后我尝试从共享收件箱获取邮件:

但我得到以下回应:

我的API权限如下所示:


我错过了什么?从我自己的收件箱接收邮件时,它可以正常工作。

正如我在评论中所说,您正在使用
委托权限
,因此您只能调用
/me
端点来获取您自己的电子邮件


如果您想从共享收件箱获取任何用户的电子邮件,那么您应该使用
应用程序权限
,然后您需要使用客户端凭据流获取令牌,然后您将能够使用该令牌调用
/users/{user id}
端点。

更改
/users/{user id}
端点到
/me
端点并尝试。谢谢您的回答。这是可行的,但这不是我感兴趣的:-)我想从共享邮箱读取,即不是我自己的邮箱。那么你需要应用程序权限,而不是委托权限。嗨,你尝试过我回答中提供的方法吗?结果如何?因此无法使用委派权限从共享收件箱读取电子邮件?那么什么是委派的Mail.Read.Shared权限?@jlpdk委派的权限只能调用
/me
端点。
/users/{user id}
端点只能由包含应用程序权限的令牌调用,此端点通常用于没有用户登录的情况。这适用于任何azure ad graph api端点。@jlpdk我认为
Mail.ReadWrite
应用程序权限应该足够了,您可以尝试授予该权限,然后别忘了授予管理员同意。使用该权限,然后使用客户端凭据流获取令牌,然后调用端点进行尝试。感谢您的帮助!我一定会接受你的回答。您是否有一个链接/一些文档说明Mail.Read.Shared不能使用委派权限?@jlpdk抱歉,我没有类似的文档,但根据我的经验,您不能对其他用户的电子邮件使用委派权限
Mail.Read.Shared
是一种委托权限。它只能调用
/me
端点来获取您自己的电子邮件。如果您尝试使用
Mail.Read.Shared
委派权限调用
/users
端点,它肯定会报告错误,就像您现在遇到的一样。