将具有基于令牌的身份验证的Odata源与没有高级查询编辑器的Power BI连接

时间:2017-12-26 13:00:11

标签: .net asp.net-web-api odata powerbi

先谢谢,

我正在尝试从Odata Feed获取数据到Power BI,我的Odata Feed通过SSO身份验证进行保护,即当我尝试访问chrome中的数据URL时,它会将我重定向到登录页面,一旦我成功登录将我重定向到Odata服务的结果。

但是在Power BI中我试图访问相同的URL,它给出了以下错误:

Details: 

"OData: The given URL neither points to an OData service or a feed: 'https://SSOurl/Account/Login?ReturnUrl=/?wtrealm=https://actualOdataURl"

我知道它正在重定向到SSo登录服务器,因为这个错误即将到来。  
我在用于获取数据的窗口下方。

https://i.stack.imgur.com/zv9Og.png

它询问我的身份验证类型,但身份验证类型中不存在SSO类型。

我也知道我的Odata服务也使用了Token,所以我尝试使用Advance Query来获得如下结果:

let 
Source = OData.Feed("myOdataURL", null, [Headers = [Authorization = "My token" ] ])
in
Source

但我不想使用高级查询。


所以我需要在我的Odata服务中进行哪些更改才能获得正确的结果,而无需将其重定向到SSO登录服务器。

1 个答案:

答案 0 :(得分:0)

更新:

忽略以下答案。这是用于创建可以连接现有Power BI数据集并与之交互的自定义​​应用程序或api。

原始:

我认为您需要在Azure Active Directory /天蓝色门户应用程序注册中创建一个“应用程序注册”以代表Power BI桌面或Excel加载项。 They have a quick way to get it up and running here

然后,您可以通过azure门户授予该应用程序注册访问Web API应用程序注册的权限,然后点击“授予权限”按钮

此处的详细演练: https://docs.microsoft.com/en-us/power-bi/developer/register-app

会告诉你我是否成功。