使用身份验证将 Web API 作为数据源连接到 power bi

Posted

技术标签:

【中文标题】使用身份验证将 Web API 作为数据源连接到 power bi【英文标题】:Connect Web API as a data source to power bi using authentication 【发布时间】:2020-10-26 19:22:12 【问题描述】:

我有 azure web api 应用程序,其中包含许多 post/get 类型的 web api 来获取数据。这些 api 具有基本身份验证(承载令牌)

    我想在power bi中使用2-3个API作为数据源,这样我就可以将这些API的JSON响应作为一个表格使用。

    在 Power BI Desttop > 获取数据 > Web > 添加带有示例 GET API 方法名称的 API URL,将起作用,但随后它要求进行身份验证。

    如果我尝试输入 API Key,那么它的意思是:只有在提供 Web API 密钥名称时才能指定 Web API 密钥。

如何使用power bi中的身份验证作为数据源连接web api。

【问题讨论】:

【参考方案1】:

PowerBI web 目前似乎很少或根本不支持通过 webapi 连接数据,或一般的网络查询。

PowerBI Desktop 允许您从 Web 获取数据。我已经能够通过两种不同的方式访问由 Azure API Management 管理的 webapis 中的数据:

    在“来自 Web”对话框中使用“高级”而不是“基本”。将 webapi 查询放在 url 中,但添加一个名为 Ocp-Apim-Subscription-Key 的标头,并将 api 键的值作为值。 或者,如果 API 由 Azure API 管理管理,而不是将 api 密钥放在标头中,您似乎可以将它们作为参数添加到 apiquery,subscription-key=PutYourApiKey 在这里。

但是,我发现虽然您可以将数据源或报表发布到在线工作区,但当您尝试刷新数据时,PowerBI online 会报错(“无法识别凭据”或类似错误)!所以如上所述,PowerBI online 目前(2020 年 11 月)似乎无法连接到 WebApi 数据。

【讨论】:

以上是关于使用身份验证将 Web API 作为数据源连接到 power bi的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google 作为身份提供者的 Salesforce 的 Api 身份验证

使用PHP无需用户交互即可连接到Google Drive API

来自连接到 Node.js API 的移动客户端的社交身份验证

在仅从其他应用程序接收数据的 Web API 中使用啥类型的身份验证

使用双跳 Windows 身份验证连接到 Microsoft Analysis Services 多维数据集

使用带有 Cognito 身份验证用户的 Web 套接字连接到 AWS IoT