从 PowerApps 中的自定义连接器(Web API)访问 JSON 结果

Access JSON results from Custom Connector (Web API) in PowerApps

我正在尝试获取 JSON 文本结果,例如

[
    {
        "TABLE_NAME": "UpdatePlanning"
    },
    {
        "TABLE_NAME": "StoreInfo"
    },
    {
        "TABLE_NAME": "InSiteTxPerHourPerDay"
    },
    {
        "TABLE_NAME": "inSiteTaskRecordsLocal"
    },
    {
        "TABLE_NAME": "InSiteStoreInformation"
    },
    {
        "TABLE_NAME": "InSiteLogExtractionTest"
    },
    {
        "TABLE_NAME": "InSiteDailySalesPerDay"
    },
    {
        "TABLE_NAME": "FredOfficeLogAlerts"
    },
    {
        "TABLE_NAME": "DPTestAutoScaleTable"
    },
    {
        "TABLE_NAME": "DPGenHoldTable"
    },
    {
        "TABLE_NAME": "DPDailyTopSellerItems"
    },
    {
        "TABLE_NAME": "DPDailyTierSales"
    },
    {
        "TABLE_NAME": "DPDailySales"
    },
    {
        "TABLE_NAME": "DPDailyAvgBasketSize"
    },
    {
        "TABLE_NAME": "ASGInSiteStoreInformation"
    }
]

来自网络 API 我已包装在 'custom connector' 中以在 PowerApps 中使用。我的自定义连接器运行良好,我可以在自定义连接器屏幕中对其进行测试,但我无法弄清楚如何在 Power Apps 中访问该 JSON 数据以 - 例如 - 填充数据 table,或填充列表、图库,甚至只是一个标签?请记住,从某些 GET 方法返回的 JSON 模式不是固定的,例如JSON 结构可以根据查询对象的类型等而有所不同,但无论如何我都无法让它工作。

示例: 我已经在 PowerApps 应用程序的第一个屏幕的 OnStart 方法中尝试了这个

Set(myTable,InSiteConnector.gettables())

假设我的 JSON 将存储在变量 myTable.. 但如果我在标签或任何地方引用 myTable,它不会产生任何东西。用同样的方法对一个数据table或者图表或者列表都是一样的,没有结果。我在这里错过了什么?我已经在网上搜索过,但我在语法方面尝试的任何方法似乎都没有用。

同样,如果我创建数据 table 并尝试 select 我的自定义连接器作为数据源,例如它在数据源列表中

但是添加它只会导致它一次又一次地出现在此列表中...

但是我不能点击它,或者用它做任何在从它获取数据方面看起来很明显的事情? (例如,能够从我的 JSON 中选择字段,或者甚至从 GET 方法返回原始 BODY)

我已经开始为某人提供赏金,请向我展示一个有效且可复制的示例,该示例将 JSON 从该 Web API 获取到 PowerApps 应用程序以用于图库或类似应用程序。谢谢!

必须定义 return 数据的 JSON 架构,任何不符合该架构的数据都不会传回 PowerApps。这是因为架构用于在 PowerApps 中定义 return 类型以供进一步使用。在某种程度上,您可以说连接是强类型的。

下面是您可以定义响应主体的屏幕截图,以便数据 'show up as the outputs in designer',正如有用的提示。

如果您的模式是可变的,您可以做的是使用 Flow 获取数据并对其进行处理,并在 return 将其发送到 PowerApps 之前符合您定义的响应模式。

例如参见 [​​=10=]。如果您的响应主体是可变的,那么您可以在 GetDailySales 步骤之后在流中插入一些逻辑来调整响应主体以适应响应步骤中定义的 JSON 模式。