如何从我的应用程序调用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。要测试我使用我的凭据进行授权。我如何让这个论坛的用户测试这种行为。如何启用凭据?
我已经尝试过的事情清单
使用以下网站创建了反向代理:http://shawnsimondeveloper.com/nodeproxyangular/ 使用JSONP hack试图解决CORS问题。
在webconfig文件中输入调用的来源。
在本地和GitHub上的网页上测试网站
答案 0 :(得分:3)
您不应该同时使用CORS和HTTP代理。由于您使用的是ADAL JS库,因此它会自动将您的Power BI令牌附加到传出的HTTP请求中。
您还需要设置以下内容:
此外,仪表板端点仍然只能在" beta"版。这导致了404。
继续使用CORS的标准AJAX调用: