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

Jam*_*son 8 powerapps microsoft-flow

我正在尝试获取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"
    }
]
Run Code Online (Sandbox Code Playgroud)

从Web API我已经包装在'自定义连接器'中以在PowerApps中使用.我的自定义连接器运行良好,我可以在自定义连接器屏幕中测试它,但我无法弄清楚如何在Power Apps中访问该JSON数据 - 例如 - 填充数据表,或填充列表,或者画廊,甚至只是一个标签?请记住,从某些GET方法返回的JSON模式不是固定的,例如,JSON结构可能会有所不同,具体取决于查询对象的类型等,但无论我无法使其工作.

示例:我在PowerSts应用程序中的第一个屏幕的OnStart方法中尝试过此操作

Set(myTable,InSiteConnector.gettables())
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

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

在此输入图像描述

但我无法点击它,或者做任何与它有关的事情,从中获取数据似乎是显而易见的?(例如,能够从我的JSON中选择字段,甚至可以从GET方法中操作原始BODY)

我已经开始为某人提供赏金,请向我展示一个工作和可复制的示例,将JSON从此Web API获取到PowerApps应用程序中,以便在库或类似应用程序中使用.谢谢!

Men*_*ino 5

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

下面是您可以在何处定义响应正文以便数据“显示为设计器中的输出”的屏幕截图,如有用的提示。

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

例如,请参阅此博客文章。如果您的响应正文是可变的,那么您可以在 GetDailySales 步骤之后在 Flow 中插入一些逻辑,以调整响应正文以适应在响应步骤中定义的 JSON 模式。

在此处输入图片说明