Forum Discussion
Call Rest API from Advanced Editor
I'm new to PowerBI and have a simple web API i typically call in python. I used the Advanced Editor in PowerBI. It it telling the syntax is good, but then i get the error: "Expression.Error: We cannot convert a value of type Record to type Number.
Details: Value=[Record] Type=[Type]"
thank you.
Here is my code in Advanced Editor:
let
apiUrl = "http://someserver:7979/v1/completed_detail",
body = "{""submission_id"" :""01-25-2021-15-47-25""}",
result = Json.Document(apiUrl, [Headers = [#"Content-Type"="application/json"], Content = Text.ToBinary(body)])
in
#"result"
5 Replies
- mahoneypat
Microsoft Employee
You need to use Web.Contents() to make the web call with Header, Content first, and then you can extract the data with Json.Document. Use Web.Contents in place of Json.Document and then go from there.
Pat
- AnonymousNot applicable
mahoneypat - i just posted my updated code. thank you
- AnonymousNot applicable
I've tried to use Web.Contents() like this:
let apiUrl = "http://someserver:7979/v1/completed_detail", body = "{""submission_id"" :""01-25-2021-15-47-25""}", result = Json.Document(Web.Contents(apiUrl, [Headers = [#"Content-Type"="application/json"], Content = Text.ToBinary(body)])) in #"result"But getting error:
DataSource.Error: Web.Contents failed to get contents from 'http://someserver:7979/v1/completed_detail' (405): METHOD NOT ALLOWED Details: DataSourceKind=Web DataSourcePath=http://someserver:7979/v1/completed_detail Url=http://someserver:7979/v1/completed_detail- mahoneypat
Microsoft Employee
Thanks for the update. Hard to troubleshoot it though. It looks correct. I assume you've confirmed through the documentation for the API you are using that the syntax is correct (e.g., method completed_detail is an option and submission_id has hyphens).
FYI that you can also create the JSON for your body step with
= Json.FromValue([submission_id = "01-25-2021-15-47-25"])
Pat
- v-yingjl
Community Support
Hi Anonymous ,
Not certain but the query looks like correct. Seems that could not send post request to the web source. Make sure whether the URL is accessible or need authentication and try it again.
Best Regards,
Community Support Team _ Yingjie Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.