MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

Power Apps で実行される API の引数に関して

f:id:mofumofu_dance:20210312133801p:plain

あんまり知られていない仕様について。

Power Apps ではAPI の引数 (入力) に関してとある決まり事があります。

入力する引数には 必ず 必須・オプション の属性がありますが、

オプションの引数は全体がレコード型になります。

例えば、以下のような引数をもつRegisterUser という APIを利用すると仮定しましょう。

引数 必須
氏名 Yes
生年月日 Yes
メールアドレス Yes
性別 -
住所 -

この場合、Power Apps上での表現は以下のようになります。

//すべて入力する場合
RegisterUser("山田 太郎", "1990年1月1日", "yamada@example.com", {性別: "男", 住所: "東京都中央区ほげほげ"})

//一部省略する場合
RegisterUser("山田 太郎", "1990年1月1日", "yamada@example.com", {住所: "東京都中央区ほげほげ"})

//これはエラー
RegisterUser("山田 太郎", "1990年1月1日")

ポイントは、

  • 必須の入力は引数名不要 (順番通りに入れる)
  • オプションの入力は 引数名:値 の形式

です。

実際のAPIで分かりやすいものとしては、Outlookのメール送信です。

f:id:mofumofu_dance:20210630143238p:plain

確かに、(そもそもメール送るのに)必須な 3つの入力は引数名なしで順序通り、オプションはレコード型になっています。

最近だと Power Apps から Power Automate のフローを実行する際のトリガー "Power Apps (V2)" でもこれが反映されています。

f:id:mofumofu_dance:20210630144158p:plain

必須の入力は順序通り で 引数名なし ですが、オプションの入力は全体がレコード型になっています。

以上です!

引数がそもそもレコード型やテーブル型の時は入れ子になるんで注意してくださいね。