10

我正在使用 Microsoft PowerApps 和 Microsoft Flow。我试图弄清楚如何从 PowerApps 进行 API 调用并将结果(状态和正文)返回到我的应用程序中的文本框等字段。

我可以通过 Flow 发出 HTTP 请求并将它们放入静态文件中,例如 excel 电子表格...等。我也可以从 PowerApps 控件(例如按钮)进行调用,但我所知道的只是将它返回到类似 excel 文件的东西,而我真的想将它返回到文本框或文本区域。

4

2 回答 2

8

今天,您无法从 PowerApp 访问原始 HTTP 状态/正文。调用“任意”HTTP 端点的方法是使用可以使用 Swagger 描述的自定义 API。我写了一篇关于如何调用 Azure 函数的快速博客,其中展示了如何大摇大摆地调用 API:https ://powerapps.microsoft.com/en-us/blog/using-azure-functions-in-powerapps/

如果您可以澄清您正在尝试构建的特定场景以查看是否有其他方法可能会很好,但想到的一个选项是构建一个自定义 API 来接收 URL 并在服务器端执行 HTTP 请求并返回对象中的值,然后您可以在 PowerApps 中轻松访问。

于 2016-06-04T17:33:05.383 回答
6

使用 PowerApps 库控件可视化 API (JSON) 响应相对简单。

做这个:

  1. 在继续之前确保流具有正确的 JSON 响应
  2. ClearCollect(colResponse, myFlow.apiRequest())向 PowerApp 中的按钮控件添加功能
  3. 执行 API 调用(点击按钮)
  4. 检查colResponse(查看/收藏)以确保它有内容
  5. 插入空白库控件
  6. 将其Items属性设置为colResponse
  7. 将 TextBox 控件插入到库中
  8. 将其Text属性设置为ThisItem.<someColumn>

根据您的 JSON 响应的形状(平面或嵌套表),您可能需要进行一些争论。

有 3 个领域可以集中你的争论:

  1. ClearCollect功能上。

    一个。在其末尾添加一些点符号,以便在 API 响应到达 Gallery Control 之前“挖掘”它

    湾。例子: ClearCollect(colResponse, myFlow.apiRequest()).someColumn

  2. 在库控件Items属性上

    一个。在末尾添加一些点符号以colResponse“挖掘”到集合中

    湾。例子: colResponse.someColumn

  3. 在库内的 TextBox 控件上

    一个。将First()函数添加到Text属性

    湾。示例: `First(ThisItem.someColumn).someColumn2'

    C。注意:有些 JSON 模式需要 MULTIPLEFirst()才能“挖掘”到正确的级别。`First(First(ThisItem.someColumn).someColumn2).someColumn3' 等等。

有关在 PowerApps 库中可视化 API 响应的提示,请参阅此视频。

于 2019-07-21T18:20:34.970 回答