获取 PowerBI 的承载访问令牌

问题描述 投票:0回答:1

我正在开发一个 Angular 应用程序,我们必须在其中显示 PowerBI 报告。用户将从下拉列表中选择组织,页面应显示所选组织的 PowerBI 报告。我们拥有每个组织所需的所有信息(ClientId、TenantId、Client Secret)。

我已经完成了大部分设置,但仍停留在获取 right 令牌(我得到的令牌给出 401 错误)。

这是我获取令牌的 Postman 设置:(URL:https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token

如你所见,我正在获得令牌。但是,对于报告特定 API(要获取 EmbedURL),我收到 401:(URL:https://api.powerbi.com/v1.0/myorg/groups/{groupid}/reports/{reportId}

此外,如果我从 https://learn.microsoft.com/en-us/rest/api/power-bi/reports/get-reports-in-group#code-try-0 复制并粘贴令牌,则它有效,我得到了我需要的所有信息。这就是我的意思:

我错过了什么吗?我相当确定这与范围有关。 Microsoft 在示例页面中使用了哪个范围?有什么想法/方法可以解决这个问题吗?

我还在 Azure 门户中授予了正确的 API 权限:

powerbi powerbi-embedded
1个回答
0
投票

您在获取嵌入 URL 时遇到的错误

PowerBINotAuthorizedException
是由于未经授权的组或错误的组 ID 造成的。请参阅故障排除文档了解错误。

请参阅本文档 使用服务主体嵌入。按照以下步骤操作,您需要将服务主体添加到工作区。然后您就可以访问 API 并获取嵌入 URL。

© www.soinside.com 2019 - 2024. All rights reserved.