我正在使用 Microsoft PowerApps 和 Microsoft Flow。我试图弄清楚如何从 PowerApps 进行 API 调用并将结果(状态和正文)返回到我的应用程序中的文本框等字段。
我可以通过 Flow 发出 HTTP 请求并将它们放入静态文件中,例如 excel 电子表格...等。我也可以从 PowerApps 控件(例如按钮)进行调用,但我所知道的只是将它返回到类似 excel 文件的东西,而我真的想将它返回到文本框或文本区域。
我正在使用 Microsoft PowerApps 和 Microsoft Flow。我试图弄清楚如何从 PowerApps 进行 API 调用并将结果(状态和正文)返回到我的应用程序中的文本框等字段。
我可以通过 Flow 发出 HTTP 请求并将它们放入静态文件中,例如 excel 电子表格...等。我也可以从 PowerApps 控件(例如按钮)进行调用,但我所知道的只是将它返回到类似 excel 文件的东西,而我真的想将它返回到文本框或文本区域。
今天,您无法从 PowerApp 访问原始 HTTP 状态/正文。调用“任意”HTTP 端点的方法是使用可以使用 Swagger 描述的自定义 API。我写了一篇关于如何调用 Azure 函数的快速博客,其中展示了如何大摇大摆地调用 API:https ://powerapps.microsoft.com/en-us/blog/using-azure-functions-in-powerapps/
如果您可以澄清您正在尝试构建的特定场景以查看是否有其他方法可能会很好,但想到的一个选项是构建一个自定义 API 来接收 URL 并在服务器端执行 HTTP 请求并返回对象中的值,然后您可以在 PowerApps 中轻松访问。
使用 PowerApps 库控件可视化 API (JSON) 响应相对简单。
做这个:
ClearCollect(colResponse, myFlow.apiRequest())
向 PowerApp 中的按钮控件添加功能colResponse
(查看/收藏)以确保它有内容Items
属性设置为colResponse
Text
属性设置为ThisItem.<someColumn>
根据您的 JSON 响应的形状(平面或嵌套表),您可能需要进行一些争论。
有 3 个领域可以集中你的争论:
在ClearCollect
功能上。
一个。在其末尾添加一些点符号,以便在 API 响应到达 Gallery Control 之前“挖掘”它
湾。例子: ClearCollect(colResponse, myFlow.apiRequest()).someColumn
在库控件Items
属性上
一个。在末尾添加一些点符号以colResponse
“挖掘”到集合中
湾。例子: colResponse.someColumn
在库内的 TextBox 控件上
一个。将First()
函数添加到Text
属性
湾。示例: `First(ThisItem.someColumn).someColumn2'
C。注意:有些 JSON 模式需要 MULTIPLEFirst()
才能“挖掘”到正确的级别。`First(First(ThisItem.someColumn).someColumn2).someColumn3' 等等。
有关在 PowerApps 库中可视化 API 响应的提示,请参阅此视频。