Power BI API 身份验证

Power BI API Authentication

如何从我的应用程序调用 Power BI API 并理解 Microsoft APIs?

我已通过 Azure AD 库为 JavaScript 成功授权用户。但是,我无法从控制台中的 API 获得成功响应。我收到未经授权的错误,请求的资源上没有访问控制允许来源 header。

我习惯使用 Javascript 和 Angular 进行 API 调用,但不习惯使用 Microsoft APIs 以及它们必须如何授权。我曾尝试阅读文章,但它们让我难以理解。

报错如下

Failed to load resource: the server responded with a status of 404 (Not Found)

XMLHttpRequest: cannot load https://api.powerbi.com/v1.0/myorg/dashboards. Response to preflight request doesn't pass access control check: No Access-Control-Allow-Origin header is present on the requested resource. Origin http://renniesb.github.io is therefore not allowed access. The response had HTTP status code 404. nope

包含我的项目代码的存储库

https://github.com/Renniesb/sample_dashboard/tree/gh-pages

放置在显示我的力量的存储库中B.IAPI调用https://github.com/Renniesb/sample_dashboard/blob/gh-pages/app/services/powerbi.service.js

预期行为 在控制台中列出仪表板。

测试站点

https://Renniesb.github.io/sample_dashboard。为了测试,我使用我的凭据进行授权。我将如何让这个论坛的用户测试行为。我如何启用他们的凭据?

我已经尝试过的事情列表

您不需要同时使用 CORS 和 HTTP 代理。由于您使用的是 ADAL JS 库,它会自动将您的 Power BI 令牌附加到您的传出 HTTP 请求。

您还需要设置以下内容:

  • 启用隐式授权流程,如Step 3
  • 中所述

此外,仪表板端点仍然仅在 "beta" 版本中可用。这导致了 404。

要继续使用标准 AJAX CORS 调用:

  • 更新您的 Angular powerbiService 服务以直接向 https://api.powerbi.com 域而不是相对 URL 发出 HTTP 请求。