Power Appstips

【Power Apps】アプリからWeb APIを呼び出す方法&ユーザー定義型の活用

Power Apps

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コード画像を取得しています。

GETであれば無償ライセンスでもこの方法でAPIを叩ける

もちろん画像コントロールでも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を実行することができます。
詳しくは以下の記事のシリーズをご覧ください。

コメント

タイトルとURLをコピーしました