【问题标题】:How to use Power BI REST API's in Azure Data Factory如何在 Azure 数据工厂中使用 Power BI REST API
【发布时间】:2021-02-05 13:17:16
【问题描述】:

我正在尝试为文档项目创建所有工作区和每个工作区中包含的报告的列表。

我在网上发现我们可以使用它来获取工作区,我想将它与“网络”活动一起使用:

https://api.powerbi.com/v1.0/myorg/groups

然后我想使用我们在输出中获得的 ID,其中包含一个 foreach 和另一个 Web 活动,并使用它来获取每个工作区中的报告,然后将其复制到某处(datalake 或 DB):

https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports

但我不知道如何配置活动和身份验证。

如果有更好的方法,比如直接连接到 Power BI,我会全力以赴,我尝试从 Web 源获取数据,但我没有任何用于 API 的“密钥”,并且组织身份验证不起作用.

当我在这里运行代码时:https://docs.microsoft.com/en-us/rest/api/power-bi/groups/getgroups 它运行良好。

提前致谢

【问题讨论】:

  • 您提供的链接提到,在您调用 api 之前,所需的范围是“Workspace.Read.All 或 Workspace.ReadWrite.All”,所以您是否在 azure ad 中添加范围,然后获取调用 api 时在请求头中使用的访问令牌?
  • 我用这些权限注册了一个应用程序,并为它创建了一个秘密。我不知道那之后该怎么办

标签: azure api active-directory powerbi azure-data-factory


【解决方案1】:

'但我不知道如何配置活动和身份验证。'对于这个问题,我不确定你是否不知道如何使用访问令牌来调用 API。

  1. 使用“https://analysis.windows.net/powerbi/api/Workspace.ReadWrite.All”的 api 权限注册 azure 广告应用程序 这样您就可以通过此应用程序生成访问令牌 这个范围。 Add api permission
  2. 使用ropc flow 生成访问令牌。此流程包含用户信息,以便您的 api 可以知道您要返回正确的组。
  3. 在请求头中添加“Authorization”,值为“Bearer accessToken”以调用api。

ropc 流 1.0:

【讨论】:

  • 如果我误解了你的问题,请指出,谢谢
  • 我的问题是我不知道如何获取您在“Bearer”之后使用的那个令牌。由于它每小时刷新一次,我不知道如何在不去微软平台并执行 http 的情况下自动获取它
  • token是用来调用api的,代表authenticaion key,我们需要使用azure ad的认证流来生成token。 Ropc flow 是流程之一。按照教程,我们需要注册 azure add app,添加 api 权限,创建客户端密码和调用登录请求。你说你不知道如何自动获取它,你的意思是你需要一个样本还是你不知道如何让令牌一直有效?还是其他?
  • 我对这个有点陌生,所以我会告诉你我做了什么。 1. 我在这里注册了一个应用程序:dev.powerbi.com/Apps(我授予了所有读取权限) 2. Azure 管理员让我成为了应用程序所有者 3. 我从门户添加了 Tenant.Read.All 权限 4. 我添加了一个客户端密码5. 现在我想从 Postman 生成一个可刷新的令牌,所以我这样做: POST login.microsoftonline.com/"TenantID"/oauth2/v2.0/… client_id=Client ID 范围:user.read openid profile offline_access client_secret=secret value username=我的电子邮件密码=我的密码grant_type=password
  • @adnane 是的,让我们开始吧。我专注于调用 api 'h t tps:/ /api.powerbi.com/v1.0/myorg/groups'。正如您在我的屏幕截图中看到的那样,此 api 在请求头中需要一个令牌,并且通过该令牌,api 可以知道谁在调用它以及他是否具有此 api 的权限。所以下一个问题是如何生成令牌,这里我们需要使用 Azure 广告身份验证流程来生成访问令牌。我将在其中使用 userid 和 possword 在我的答案中生成令牌的流程中发布一个文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
  • 1970-01-01
  • 2021-06-07
  • 1970-01-01
  • 2020-03-15
  • 2020-03-16
  • 1970-01-01
相关资源
最近更新 更多