Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
grayfair
Frequent Visitor

Gateway & OData: Information is needed in order to combine data – Privacy Setting Issue?

I've been troubleshooting this for a few days. I'm grabbing a token from a local file and passing it to an OData query (redacted query below).  It works great in Power BI Desktop, no errors or issues.  When trying to refresh via the gateway, it receives the privacy setting issue.

 

I’ve created multiple Data Sources, correctly from the start using None, Organizational, and Public.  I’ve tried combinations of those for the two data sources and ensuring the Power BI Desktop settings matched the Gateway Data Sources.

 

In PBI Desktop, I’ve set the Options / Privacy to “Always ignore the privacy settings”.

 

The OData API is behind a firewall and can only be access from within our network hence the need for the Gateway.

 

I’ve restarted the gateway and ran the Diagnostic / Network Port Test successfully.

 

Does anyone have any ideas?  This shouldn’t be this difficult. It’s sort of an easy thing, read from a file and then query OData?!

 

Unable to connect to the data source undefined.
Please try again later or contact support. If you contact support, please provide these details.
Underlying error code-2147467259
Underlying error message Information is needed in order to combine data
DM_ErrorDetailNameCode_UnderlyingHResult-2147467259
Microsoft.Data.Mashup.MashupSecurityException.DataSources[{"kind":"File","path":"xxxxx\Token.txt"},{"kind":"OData","path":"xxxxxxx"}]
Microsoft.Data.Mashup.MashupSecurityException.ReasonPrivacySetting
Cluster URIWABI-US-EAST2-redirect.analysis.windows.net
Activity IDe2d9b008-ba16-49f0-b8fa-e9aa8a50f323
Request ID608c4f2b-0d34-e9d9-dd4c-bcb1f1ef9614
Time2020-09-21 18:48:35Z

 

let

    token = Text.FromBinary(File.Contents("xxxxx\Token.txt")),
    bearerToken = Text.Combine({"Bearer" , token}," "),
    sessionLoginUrl = "https://xxxxxxxxx",
    sessionOptions = [Headers =[#"Content-type"="application/json", #"Authorization" = bearerToken], Content=body],
    sessionResponse = Web.Contents(sessionLoginUrl, sessionOptions),
    feed = OData.Feed("https://xxxxxxxx", null, [Headers=[#"Tenant"= "xxxxx" , #"Authorization"=bearerToken]])

in

    feed

6 REPLIES 6
lbendlin
Super User
Super User

please clarify what you mean by "local file" - did you place it in the same folder on the gateway as you have it on your desktop?  Could you potentially post that file onto an on prem file share or sharepoint (assuming that sharepoint online is not an option) and point the query there?

Thanks for responding. So I have the gateway running on my laptop at the moment and the file is on my laptop as well.  I could put the file on a sharepoint site, will this resolve the privacy setting issue?   I assumed the if the gateway was on my laptop it would be able to access the same data sources as PBI Desktop?

Not necessarily. The gateway is running under a different account.  Maybe your file is in a location that the gateway account cannot access.

Good point.  So I ran a test with just the GetToken portion, removing the Odata call.  I didn't change any permissions for the Gateway NT Sevice Account and published the updated report to PBI.  I used Privacy Setting of None. So now I only had just the GetToken call to retrieve the contents of the token file on my local desktop.  I refreshed the gateway, no errors.  The report worked with just the GetToken. 


So then I ran the OData query by itself using an embedded Token (rather than getting it from a file) in the Power M Query.  I used Privacy Setting of None.  It refreshes without issue. 

 

So when running the two queries independently of each other, they work fine.  When putting them together in a single query, the Privacy Setting issue occurs. I need to put them together because I need the Token in order to make the OData call.   I've also tried making an OAuth2 call to retrieve the Token and then pass it to the OData call in a single query and that doesn't work either. 

 

I don't know what to try next.  

Have you read through this blob yet?

 

https://docs.microsoft.com/en-us/power-query/dataprivacyfirewall

 

 

Thanks.  Perhaps that's the issue.  So I'm left without options to retrieve the OData API via Power BI it seems.  I will probably end up having to write PowerShell scripts to dump the contents of the APIs into .CSV files for use by Power BI.  Seems clunky, but I seem to have run out of options. 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors