I'm querying an API using http and am able to load and model the data in the query editor with no issues. When I click save and close, it begins to load to the model but then I receive a webcontents error 404.
I'm receiving data when querying through a browser (chrome), so there's no issue with the URL itself and the data is loading in the query editor.
Which authorization mode your api request? (oauth or other) Have you used advanced operations?(merge, append, combine, refresh query, custom functions) Did refresh operation works on query editor side?
Please share more detail informations to help us clarify your scenario.
BTW, you can also refer to below link to know how to trace detail error message:
I've traced the error to one of URL encoding. When loading the data to the model, Power BI is decoding a "%2f" in the URL to a "/", which must be encoded. See below.
I've tried forcing the "/" to be encoded in the M query, which works in the Query Editor using "Uri.EscapeDataString("/").
Encoded = Uri.EscapeDataString("/"),
Source = Json.Document(Web.Contents("https://[DOMAIN]/[PATH]" & Encoded & "user?[QUERY]", [Headers=[Authorization="[AUTHKEY]"]]))
This is ignored when loading data to model and I'm received (redacted) the "/" decoded, which is causing the 404 Error.
OLE DB or ODBC error: [DataSource.Error] Web.Contents failed to get contents from 'https://[DOMAIN]/[PATH]/user?[QUERY]' (404): Not Found.
Unfortunately, the API I'm working with requires this section of the URL to be encoded (I've tested this outside of PBI). I'm able to view and model the data unimpeded in the query editor, but the encoding during the model loading is causing an Error 404. Is there a workaround for this?
Sorry, this looks like a bug to me: You clearly have the correct strings in your URL and it loads correctly in the editor and when transforming to the model it does an extra conversion. You should file a bug-report for it.
Theoretically one could enforce the string-evaluation by using "Expression.Evaluate", but unfortunately this doesn't work when loading to the model as well (but this is by design).
So the only workaround I can think of at the moment is to run the query in the editor and use an R- or Python-script to export from the editor to a csv-file and re-import from there.
Did I answer your question? Mark my post as a solution!
Thanks for the workaround @ImkeF. Unfortunately the "RelativePath" function seems to be a placeholder for "/", rather than the encoded "%2f" so I'm encountering the same 404 error. I'll file a bug report.
Can an R/Python script access the data in the query editor without it being loaded to model?