Power AppsのアプリからWeb APIを呼び出す方法を2つ紹介します。
APIの応答はユーザー定義型を活用するととても便利なので、こちらについても紹介します。
この記事は Microsoft Power Apps Advent Calendar 2024 シリーズ1 12月20日 担当分の記事です。
画像を表示するAPI
猫画像API
こちらの記事で知った面白APIです。
画像コントロールのImageプロパティに設定したり、
リッチテキストエディタやHTMLテキストに画像埋め込みしたりすることで画像表示が可能です。
QR code API
ギークさんが以前紹介していたQR code APIをアプリから実行する方法です。
Power AutomateでOneDriveコネクタのURLからのファイルのアップロード&パスによるファイルコンテンツの取得を用いてQRコード画像を取得しています。
もちろん画像コントロールでもQRコードを表示できます。
オブジェクトを返すAPI
私の知る限りPower Apps単独ではオブジェクトを返すAPIは実行できなさそうなので(カスタムコネクタなど除く)、Power Automateを用いてAPIを呼び出します。
なおユーザー定義型という試験段階機能を利用しておりますので、利用の際にはご注意ください。
ユーザー定義型(User Defined Type:UDT)が試験段階機能で追加!ParseJSONも更新され型定義に使える! | Power Apps Tips ログ
HTTP(有償)
有償ライセンスが必要ですが、HTTPアクションを用いてGET要求を行うのが正攻法です。
フロー作成、Power Appsに取込後、以下のユーザー定義型をApp.Formulasに設定。
ZipCodeDef := Type({
message: Text,
results: [{
address1: Text,
address2: Text,
address3: Text,
kana1: Text,
kana2: Text,
kana3: Text,
prefcode: Text,
zipcode: Text
}],
status: Number
});
動作プロパティにこちらを設定することで郵便番号APIを実行することができます。
Set(_ZipCode, ParseJSON(郵便番号.Run("2520318").response, ZipCodeDef).results)
OneDriveコネクタを利用(無償だがGETのみ)
前述のギークさんが紹介している方法でもGET要求のみAPIを実行することができます。
詳しくは以下の記事のシリーズをご覧ください。
コメント