Power BI API身份验证

时间:2016-01-03 19:38:36

标签: javascript angularjs api azure-active-directory powerbi

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

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

我习惯使用Javascript和Angular进行API调用,但不使用Microsoft API以及必须如何授权。我试过阅读文章,但他们超越了我的脑海。

错误如下

  

无法加载资源:服务器响应状态为404(未找到)

     

XMLHttpRequest:无法加载https://api.powerbi.com/v1.0/myorg/dashboards。对预检请求的响应未通过访问控制检查:请求的资源上不存在Access-Control-Allow-Origin标头。因此,不允许原点http://renniesb.github.io访问。响应具有HTTP状态代码404。       都能跟得上

包含项目代码的存储库

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

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

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

测试网站

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

我已经尝试过的事情清单

1 个答案:

答案 0 :(得分:3)

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

您还需要设置以下内容:

  • 按照Step 3
  • 中的说明启用隐式授权流程

此外,仪表板端点仍然只能在" beta"版。这导致了404。

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

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