Rest API calls with PowerApps
Today you cannot access the raw HTTP status/body from a PowerApp. The way to call "arbitrary" HTTP endpoints is to use Custom APIs that you can describe using Swagger. I wrote a quick blog on how to call Azure functions that shows how to craft a swagger to call the API: https://powerapps.microsoft.com/en-us/blog/using-azure-functions-in-powerapps/
Might be good if you could clarify the specific scenario you are trying to build to see if there are other ways, but one option that comes to mind is to build a custom API that receives the URL and on the server-side performs the HTTP request and returns the values in an object that then you can easily access in PowerApps.
It is relatively straightforward to visualize API (JSON) responses using a PowerApps Gallery Control.
Do this:
- Ensure the Flow has the correct JSON response before proceeding
- Add
ClearCollect(colResponse, myFlow.apiRequest())
Function to a Button Control in the PowerApp - Execute the API call (click the button)
- Inspect
colResponse
(View/Collections) to ensure it has content - Insert a blank Gallery Control
- Set its
Items
Property tocolResponse
- Insert a TextBox Control into the Gallery
- Set its
Text
Property toThisItem.<someColumn>
Depending on the shape of your JSON response (flat or nested table), you may have to do some wrangling.
There are 3 areas to focus your wrangling:
On the
ClearCollect
Function.a. Add some dot notation to the end of this to "dig" into the API response before it hits the Gallery Control
b. Example:
ClearCollect(colResponse, myFlow.apiRequest()).someColumn
On the Gallery Control
Items
Propertya. Add some dot notation to the end of
colResponse
to "dig" into the Collectionb. Example:
colResponse.someColumn
On the TextBox Control within the Gallery
a. Add the
First()
Function to theText
Propertyb. Example: `First(ThisItem.someColumn).someColumn2'
c. Note: There are some JSON schemas that require MULTIPLE
First()
's to "dig" into the correct level. `First(First(ThisItem.someColumn).someColumn2).someColumn3' etc.
See this video for tips on visualizing API responses in PowerApps Galleries.