Microsoft graph api 通过Graph API访问使用情况报告

Microsoft graph api 通过Graph API访问使用情况报告,microsoft-graph-api,Microsoft Graph Api,我正试图利用Microsoft Graph reporting API的公共预览来检索Office 365产品使用数据。我有一个为Graph注册的应用程序,该应用程序成功执行非报告API的Graph调用(即,我用我的应用程序生成的access_令牌成功用于访问租户的用户信息:),但当我尝试任何报告资源时,我遇到以下错误: 无效的范围声明/角色 根据我阅读的文档,这似乎意味着我的应用程序没有必要的报告权限,但这是不正确的,因为我已确认该应用程序启用了“读取所有使用情况报告”应用程序权限 是否有其他

我正试图利用Microsoft Graph reporting API的公共预览来检索Office 365产品使用数据。我有一个为Graph注册的应用程序,该应用程序成功执行非报告API的Graph调用(即,我用我的应用程序生成的access_令牌成功用于访问租户的用户信息:),但当我尝试任何报告资源时,我遇到以下错误:

无效的范围声明/角色

根据我阅读的文档,这似乎意味着我的应用程序没有必要的报告权限,但这是不正确的,因为我已确认该应用程序启用了“读取所有使用情况报告”应用程序权限


是否有其他人在使用Microsoft Graph reporting API时遇到过类似的问题,并有任何建议供我尝试?

如果您在授权应用程序后添加了此作用域,它可能仍在使用以前的/缓存的作用域列表。您可以通过添加到初始授权URL来强制重新授权。例如:

https://login.microsoftonline.com/common/oauth2/authorize?client_id={app id}

&response_type=code&redirect_uri={redirect uri}&prompt=approve

如果您在授权应用程序后添加了此作用域,则它可能仍在使用以前的/缓存的作用域列表。您可以通过添加到初始授权URL来强制重新授权。例如:

https://login.microsoftonline.com/common/oauth2/authorize?client_id={app id}

&response\u type=code&redirect\u uri={redirect uri}&prompt=approvement

我非常确定在应用程序被授权后,作用域没有更改,但我还是尝试强制重新授权,但仍然遇到“无效的作用域声明/角色”。之后出现错误。您完成了管理员同意流程吗?如果没有,这将阻止为任何非管理员用户授权
Reports.Read.All
。这不是我期望看到的错误,但我想确认一下以防万一。在Azure门户中,我确实单击了授予应用程序权限。在阅读了对此帖子的回复后,我检查了我正在生成的JWT。我发现根本没有角色声明。我检查了我的应用程序清单,发现一个空的appRoles属性。如何在此处添加应用程序角色?如果是手动的,那么应该采取哪些步骤来添加角色声明,使其成为访问令牌的一部分?您遵循了吗?听起来你在选择权限时错过了一个步骤。我很确定在应用程序被授权后,作用域没有更改,但我还是尝试强制重新授权,但仍然遇到“无效的作用域声明/角色”。之后出现错误。你完成了管理同意过程吗?如果没有,这将阻止为任何非管理员用户授权
Reports.Read.All
。这不是我期望看到的错误,但我想确认一下以防万一。在Azure门户中,我确实单击了授予应用程序权限。在阅读了对此帖子的回复后,我检查了我正在生成的JWT。我发现根本没有角色声明。我检查了我的应用程序清单,发现一个空的appRoles属性。如何在此处添加应用程序角色?如果是手动的,那么应该采取哪些步骤来添加角色声明,使其成为访问令牌的一部分?您遵循了吗?听起来您在选择权限时错过了一步。