我有一个客户OData feed我想要进入PowerBI。直接调用API时,PowerBI可以使用承载令牌正常工作
即yaazkssvpoi
但是,我通过反向代理(web.config中的基本URL重写)路由我的所有流量,因此所有请求实际上都来自此URL:
https://api.mywebsite.com/odata/customers
这个反向代理网址在Fiddler中运行良好。当我的UI在浏览器中调用它时,它会重新路由到第一个URL并且也能正常工作。但是,PowerBI每次都返回404。
我启用了PowerBI跟踪日志,发现出现了2个错误
https://mywebsite.com/api/v1/odata/customers
我检查了我的反向代理和Web应用程序日志,并且没有404s表明它在上面的错误中是真正的404,但不确定127.0.0.1错误是什么意思?
我的反向代理网址没有防火墙限制,因为Fiddler可以很好地从本地计算机拨打电话。只是PowerBI不喜欢它,但是PowerBI可以直接调用API。我已经尝试清除PowerBI中的所有数据源权限从头开始,但我仍然在标题中使用bearer token auth,因此它们不应该应用。
事实证明我使用的是OData v3,服务器有OData v4,现在它向后兼容,但你必须在PowerBI的请求标题中添加MaxDataServiceVersion =“3.0”。 PowerBI本身并没有让我捕获数据并通过fiddler进行检查,但是Excel在相同的API上做了。