【问题标题】:How do I extract a string value from my PowerApps custom connector response?如何从我的 PowerApps 自定义连接器响应中提取字符串值?
【发布时间】:2019-04-16 18:15:03
【问题描述】:

我需要能够从 API 自定义连接器中检索值并将它们存储在变量中(使用 UpdateContext)。例如,如果我的 API 响应是 {"result": 100},我想将值 100 放入 Label 的 text 属性中。

我正在尝试替换已经运行的 Microsoft Flow(请参阅下面的第一个公式)。我想格式化我的 API 响应,以便它以与 Flow 相同的方式填充变量。

我尝试使用 Set() 函数,将全局变量设置为我的自定义连接器请求的结果。我也尝试过使用 ClearCollect()。 (见下文)

这是按预期工作的公式。这是我正在尝试替换的现有 Microsoft Flow。

Set(varDefaults,GetGasDefaultValues.Run());UpdateContext({v6:varDefaults.specificgravity});UpdateContext({v7:varDefaults.co2});UpdateContext({v8:varDefaults.n2})

我尝试过使用“设置”功能。此公式给出以下错误:“名称无效...”和“无效使用 '。” "

Set(varDefaults,GasVolumeCalculatorConnector.CalcVol();UpdateContext({v6:varDefaults.specificgravity});UpdateContext({v7:varDefaults.co2});UpdateContext({v8:varDefaults.n2})

我也尝试过使用“ClearCollect”功能。此公式给出以下错误:“类型不兼容。我们无法评估您的公式,因为上下文变量类型与您应用中其他位置的值类型不兼容。”

ClearCollect(defaultCollection, GasVolumeCalculatorConnector.GetDefaults());UpdateContext({v6:First(defaultCollection).specific_gravity});UpdateContext({v7:First(defaultCollection).co2});UpdateContext({v8:First(defaultCollection).n2})

我不想更改现有变量的类型。如何格式化我的 API 响应,使其与之前的 Flows 响应相匹配? (见第一个公式)

【问题讨论】:

    标签: connector powerapps


    【解决方案1】:

    我找到了解决这个问题的方法。问题不在于 API 连接器返回的类型与我最初认为的 Flow 不同。

    当我用新的 API 连接器替换 Flow 连接器时,我没有更新引用该 Flow 的所有位置。虽然大多数变量定义都是“文本”类型,但其中一个是“错误”类型,因为它仍在使用旧的 Flow 连接器。

    通过转到“查看”选项卡并选择“变量”选项,我能够选择特定变量并查看所有当前定义。这有助于我诊断出我提到的问题。

    以下是从 API 响应中成功提取文本值的代码:

    ClearCollect(collectionName, Connector.Operation({param1: "val1", param2: "val2"}));
    UpdateContext({variableName: Text(First(collectionName).attributeName)})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 2018-06-11
      相关资源
      最近更新 更多