在访问Power BI API时获得401未经授权

时间:2018-10-11 17:38:40

标签: azure permissions powerbi powerbi-embedded

这是Postman中API调用的屏幕截图。我正在获取令牌并在这里使用它。

enter image description here

我得到401未经授权,但没有响应。是因为应用程序注册中具有权限吗?

我对Power BI Service和Windows Azure Active Directory具有以下权限: enter image description here enter image description here

但是当我单击授予权限时,出现错误:

enter image description here

那么,管理员是否需要为此应用程序(Web应用程序/ API)授予许可才能使用?

更新

这是我用来获取访问令牌的API。

https://login.microsoftonline.com/parkercorp.onmicrosoft.com/oauth2/token

POST BODY:

client_id: app_registration_clientId
client_secret: app_registration_client_secret
grant_type: client_credentials
resource: https://analysis.windows.net/powerbi/api
scope: openid

这是汤姆·孙(Tom Sun)建议的已解码令牌。

enter image description here

2 个答案:

答案 0 :(得分:0)

在选中“需要管理员”权限后,是的,您需要管理员才能单击“授予权限”。但是,我认为您在上面的屏幕快照中选择的两个对于您要执行的操作不是必需的。尝试取消选中它们,授予权限,然后再次运行请求。

答案 1 :(得分:0)

  

那么,管理员是否需要为此应用程序(Web应用程序/ API)授予许可才能使用?

授予权限失败的根本原因是您需要管理员同意,管理员才能执行此操作。

由于要访问powerBI资源,因此只需检查PowerBI服务权限。

但是根据您的屏幕截图,您正在尝试调用Get Dashboard API。

获取https://api.powerbi.com/v1.0/myorg/dashboards/ {dashboardKey}

根据文档,所需范围为 Dashboard.ReadWrite.All Dashboard.Read.All 。无需征得管理员同意。

enter image description here

401错误表示没有访问资源的权限。

我们可以使用JWT.io来解码令牌,以检查音频和权限。

enter image description here

如果可能的话,您可以添加代码以获取令牌,这将更有帮助。