Mike Weimer on 14 Jul 2016 15:06:58
Running the below query from Power BI Desktop works but after publishing to powerbi.com, the API call fails to authenticate. The custom Power Query as follows:
let
Source = Json.Document(Web.Contents("https://www.myhost.com/rest-1.v1/endpoint?sel=Name,Number,ChangeDate&Accept=application/json",[Headers=[#"Authorization" = "Bearer MyToken"]])),
Assets = Source[Assets]
And the failure message as follows:
Failed to update data source credentials: The credentials you provided for the data source are invalid. Please check the credentials for all the data sources.Hide details
Activity ID: b0a09f25-d32b-4160-a504-8493c112f67c
Request ID: f7a8849d-ae32-3818-fb90-832d9f58d3f9
Status code: 400
Time: Thu Jul 14 2016 00:43:58 GMT-0700 (Pacific Daylight Time)
Version: 13.0.1500.395
Cluster URI: https://wabi-west-us-redirect.analysis.windows.net
Details: The credentials provided for the Web source are invalid. (Source at https://www.myhost.com/rest-1.v1/endpoint.)
- Comments (3)
RE: Token authenticated API data source fails
The code works at this particular endpoint when the code is run in the Desktop so I'm not sure how the code or the endpoint could be the issue. This only repro's when the code is published and run from the cloud. Just to be clear - the code works perfectly when run in Power BI Desktop. It looks like other people are reporting the same types of issues. See idea #11575737 - "Get data from API with Authentication"
RE: Token authenticated API data source fails
The comment made in issue #11575737 is the exact same thing I'm experiencing. The comment from that issue is as follows:
“As of yet, Power BI cannot query an API that uses authentication via a token added to the HTTP header. While this works when used in Power BI Desktop, the query crashes after uploading to powerbi.com.”
RE: Token authenticated API data source fails
As this is working to both uservoice and meetup end points (suggesting it isn't a PowerBI issue) it looks like there is something different with your host or code.