首页 文章

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

提问于
浏览
8

我正在尝试获取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"
    }
]

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

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

Set(myTable,InSiteConnector.gettables())

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

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

enter image description here

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

enter image description here

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

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

1 回答

  • 3

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

    下面是一个屏幕截图,您可以在其中定义响应主体,以便数据“显示为设计器中的输出”,这是有帮助的暗示 .

    如果模式是可变的,您可以执行的操作是使用Flow获取数据并对其进行处理,并在将其返回到PowerApps之前符合您定义的响应模式 .

    例如,请参阅this blog post . 如果您的响应主体是可变的,那么您可以在GetDailySales步骤之后在Flow中插入一些逻辑,以形成响应主体以适应Response步骤中定义的JSON模式 .

    enter image description here

相关问题