我正在尝试通过调用下面的端点为报告生成一个嵌入式令牌,但这会让我觉得CORS问题。
无法加载 https://api.powerbi.com/myorg/groups/ /报告//的generateToken: 对预检请求的响应没有通过访问控制检查:否 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:4200'因此是不允许的 访问。响应的HTTP状态代码为403。
电源双仪表板中是否有任何设置或启用CORS并设置允许的来源?
答案 0 :(得分:0)
答案 1 :(得分:-2)
CORS是一种浏览器安全功能,不允许跨站点引用。因此,PowerBI部件上没有任何设置可以修复它。我们之前使用REST API但几乎在每个浏览器上都遇到了CORS问题。使用Chrome CORS plugin修复了此问题。但不能指望每个用户都安装客户端插件。
作为一种解决方法,我们采用了WebAPI方法,其中我们的客户端脚本命中WebAPI端点,与PowerBI服务通信以返回报告。要以这种方式克服CORS问题,请在 App_Start 文件夹下的 WebConfig.cs 文件中添加对 System.Web.Cors 的引用,然后添加第config.EnableCors();
行
在Controller中,使用EnableCors修饰方法,如下所示,这应解决您的问题:
namespace MyNameSpace.MyControllers
{
public class MyAPIController : ApiController
{
[HttpPOST]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public string getData()
{
return "This Works !";
}
}
}