Forum Discussion
Working Examples of WebAction.Request
Hello,
I'm looking for any working examples of using WebAction.Request?
Also, does anyone know the syntax of an action type?
Thank you
6 Replies
- lbendlinSuper User
See this thread
Syntax would be (for example)
web2 = WebAction.Request(WebMethod.Post,URL,[Content = data, Headers = headers, ManualStatusHandling = {404, 400}]),
Any particular reason you need to use this versus Web.Contents ?
- rtaylorHelper III
Thanks for the example.
The problem is that syntax brings up a credential error when executed. The credential request option pops up over and over again.
Even something as simple as WebAction.Request(WebMethod.Get,"https://www.sdsu.edu/",[ManualStatusHandling = {404, 400}]) causes the same error
>Any particular reason you need to use this versus Web.Contents ?
Two reasons.
1. I'm hoping that Value. Metadata with WebAction.Request will show all the the response headers where Web.Contents shows null
2. If that doesn't work, may be WebMethod.Put will allow me to pass the headers to another request
Do you have any experience with using "Actions"?
- lbendlinSuper User
I get the same error as in the thread I linked to. For now I am ok with just using Web.Contents even if it is sometimes a bit weird. Here is an example of a call against Microsoft's own REST API that requires some creative result wrangling because they don't adhere to simple HTTP standards.
(GatewayId as text, ConnectionId as text) => let JsonData = try Json.Document(Web.Contents("https://api.powerbi.com/v1.0/myorg/gateways/" & GatewayId & "/datasources/" & ConnectionId & "/status", [Headers=[Authorization=Authorization]])), value = if JsonData[Error][Message]="We reached the end of the buffer." then "True" else "False" in valueA "gateway connection is good" 200 response is hampered by an empty return body that I have to mitigate separately. Maybe you can do something similar with your web request.
- lbendlinSuper User
If you are a pro license holder you can raise a ticket with Microsoft. This API call seems to be broken since a long time already.
- rtaylorHelper III
Yeah, I can't raise a ticket because my company won't approve the purchase at this time. I'm thinking of just paying $10 and getting a few tickets answered and resolved.