web-dev-qa-db-ja.com

PowerAppsのカスタムコネクタ(Web API)からJSON結果にアクセスする

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構造は、照会されるオブジェクトのタイプなどに応じて異なる可能性がありますが、機能させることができない場合でも同様です。

例:PowerAppsアプリの最初の画面のOnStartメソッドでこれを試しました

Set(myTable,InSiteConnector.gettables())

私のJSONは変数myTable ..に格納されると想定していますが、ラベルまたはどこかでmyTableを参照すると、何も生成されません。データテーブル、グラフ、またはリストに同じ方法を使用しても、結果は同じです。ここで何が欠けていますか?私はWebを精査しましたが、構文を賢明に試しても何もうまくいかないようです。

同様に、データテーブルを作成して、カスタムコネクタをデータソースとして選択しようとすると、データソースのリストにあります

enter image description here

しかし、追加すると、このリストに何度も表示されます...

enter image description here

しかし、それをクリックすることはできません、またはそれからデータを取得する限り、明白なように思える何かを実行できますか(たとえば、JSONからフィールドを選択できる、またはGETメソッドから生のBODYを操作することもできる)

誰かがこのWeb APIからJSONをPowerAppsアプリに入れてギャラリーなどで使用するための実用的で複製可能な例を見せてくれる賞金を始めました。ありがとうございました!

8
JamesMatson

返されるデータのJSONスキーマを定義する必要があります。スキーマに適合しないデータはPowerAppsに戻されません。これは、スキーマがPowerAppsで戻り値の型を定義するために使用されるためです。ある意味、接続は強く型付けされていると言えます。

以下のスクリーンショットは、データが「デザイナーで出力として表示される」ために応答本文を定義できる場所のスクリーンショットです。

スキーマが可変の場合に実行できることは、Flowを使用してデータを取得し、それを処理して、PowerAppsに返す前に定義済みの応答スキーマに準拠することです。

たとえば このブログ投稿 を参照してください。応答本文が可変の場合は、GetDailySalesステップの後にフローにロジックを挿入して、応答ステップで定義されたJSONスキーマに適合するように応答本文を形成できます。

enter image description here

3
Meneghino