私はMicrosoftPowerAppsとMicrosoftFlowで遊んでいます。 PowerAppsからAPI呼び出しを行い、結果(ステータスと本文)をアプリのテキストボックスなどのフィールドに返す方法を理解しようとしています。
Flowを介してHTTPリクエストを作成し、Excelスプレッドシートなどの静的ファイルに入れることができます。ボタンなどのPowerAppsコントロールから呼び出すこともできますが、実際にテキストボックスまたはテキスト領域に戻したい場合は、Excelファイルなどに戻すだけです。
現在、PowerAppから生のHTTPステータス/本体にアクセスすることはできません。 「任意の」HTTPエンドポイントを呼び出す方法は、Swaggerを使用して記述できるカスタムAPIを使用することです。 APIを呼び出すためのSwaggerを作成する方法を示す、Azure関数の呼び出し方法に関する簡単なブログを作成しました: https://powerapps.Microsoft.com/en-us/blog/using-Azure-functions-in -powerapps /
構築しようとしている特定のシナリオを明確にして、他の方法があるかどうかを確認できれば良いかもしれませんが、頭に浮かぶオプションの1つは、URLを受信してサーバー側でHTTPリクエストを実行するカスタムAPIを構築することです。そして、PowerAppsで簡単にアクセスできるオブジェクトの値を返します。
PowerApps Gallery Controlを使用してAPI(JSON)応答を視覚化するのは比較的簡単です。
これを行う:
ClearCollect(colResponse, myFlow.apiRequest())
関数を追加しますcolResponse
(表示/コレクション)を調べて、コンテンツが含まれていることを確認しますItems
プロパティをcolResponse
に設定しますText
プロパティを_ThisItem.<someColumn>
_に設定しますJSON応答の形状(フラットテーブルまたはネストされたテーブル)によっては、ラングリングが必要になる場合があります。
ラングリングに焦点を当てる3つの領域があります:
ClearCollect
関数について。
a。ギャラリーコントロールに到達する前に、API応答に「掘る」ために、この最後にドット表記を追加します
b。 例:ClearCollect(colResponse, myFlow.apiRequest()).someColumn
ギャラリーコントロールのItems
プロパティ
a。 colResponse
の末尾にドット表記を追加して、コレクションに「掘る」
b。 例:_colResponse.someColumn
_
ギャラリー内のTextBoxコントロール上
a。 First()
関数をText
プロパティに追加します
b。 例: `First(ThisItem.someColumn).someColumn2 '
c。 注:正しいレベルに「掘り下げる」ために複数のFirst()
を必要とするJSONスキーマがいくつかあります。 `First(First(ThisItem.someColumn).someColumn2).someColumn3 'など。
PowerAppsギャラリーでのAPI応答の視覚化については、 ヒントについてはこのビデオ を参照してください。