Power Appsでカスタムコネクタを使用する方法

  • 更新

コネクタを使用すれば、Microsoft Power Appsを使ってカスタムアプリケーションとLMS365データを相互作用させることができます。

LMS365 の既定のコネクタではアクセスできない追加データを取得したい場合はコネクタを作成し、それを使用することもできます。

また、Power Apps で LMS365 コネクタの既定の操作である「HttpRequest」や「HttpRequest_v2」を使用したい場合にも便利です。

これらの操作を制限なく使用できるのは Power Automate 内と限定されるため、カスタムコネクタの作成はこうしたケースでの代替え策になります。

ここでは、カスタムコネクタを作成し、Power Appsで使用する方法についてご説明します。

カスタムコネクタやプレミアムコネクタを使用するには、Microsoft Office 365のサブスクリプションだけでなく、Power Appスタンドアロンライセンスが必要です。

カスタムコネクタの作成

新しいコネクタは次の手順で作成します。

1.Power Apps メニューからソリューション >「+新しいソリューション」 を選択します。開いたパネルで必要なフィールドに入力し、「作成」を選択します。

customPowerApps1.png

2.作成した新しいソリューションを選択して開きます。「+新規」>「自動化」>「カスタム コネクタ」を選択します。

ソリューションの概念については、Microsoft のドキュメントをご参照ください。

customPowerApps2.png

3.コネクター作成ページが開きます。

「全般」セクションのフィールドに入力します。

ホスト名は、ここではLMS365のデータを取得したいので、LMS365のクラウドAPIホストを使用します。

customPowerApps3.png

「セキュリティ」セクションに進みます。ここでは、「基本認証」タイプを選択します。

customPowerApps4.png

「定義」セクションに移動します。ここでは、コネクタの定義を作成します。

様々なレスポンスを返すアクションやトリガーを追加することができます。

この例では、LMS365 の Courses テーブルからデータを取得するのに役立つアクションを 1 つだけ使います。

customPowerApps5.png

このアクションで使用する要求を追加します。

「サンプルからのインポート」を選択します。開いたパネルで GET メソッドを選択し、リクエストURL(https://je-api.365.systems/odata/v2/Courses)を指定します。

customPowerApps6.png

クエリ・パラメータも追加します。
Tags と Categories パラメータの展開を考えているので「$expand」を使います。また、「$filters」も使えるように追加します。

customPowerApps8.png

次に、レスポンスサンプルを作成します。

「応答」>「サンプルからのインポート」を選択します。開いたパネルの本文フィールドに入力します。

customPowerApps10.png

入力の前に、以下の手順で応答サンプル本文を入手する必要があります。

① api.365.systems に移動します。

② GET /odata/v2/Courses エンドポイントを選択します。

③ Tags と Categories を展開し、関連スキーマ作成するレスポンスを取得します。

④ 結果をダウンロードし、応答サンプルの本文ボディフィールドに挿入し、「インポート」ボタンを選択します。

スキーマが自動的に作成され、コネクタコードに追加されます。

customPowerApps7.png

成功した場合、多くのパラメータが応答本文に追加され、"Validation succeeded"(検証に成功しました)というメッセージが表示されます。

image 1 (25).png

4.「コード」セクションは任意です。

customPowerApps11.png

Swagger Editorを使用して変更やデバッグを行うこともできます。

カスタムコネクタを1から作成する方法については、Microsoftのドキュメントをご参照ください。

5.1~3(または4)の手順が完了したら、すべての変更を保存してコネクタを作成し、「テスト」に進みます。

すべてが正しく設定されていれば、レスポンス コード 200 が返されます。

image 1 (27).png

Power Apps でカスタムコネクタの使用する

カスタムコネクタを作成したら、次は、カスタムコネクタの機能を使って取得したデータを使用した、簡単なアプリを作成します。

アプリの作成は次の手順で行います。

1.Power Apps に移動し、サイドメニューの「+作成」>「空のアプリ」>「空のキャンパスアプリ」の作成を選択し、「アプリ名」を入力して「作成」します。

customPowerApps9.png

2.データメニューで作成したコネクタを検索し、接続します。

image 1 (29).png

3.挿入メニューに移動し、データを視覚化する要素を追加します。

customPowerApps12.png

4.カスタムコネクタを使用して、コースリストを取得するクエリを作成し、特定のカタログからのコースのみを取得するようにフィルタリングします。

この場合、数式は次のようになります。

Defaulttitle.GetCourses({'$expand':"Tags,Categories", '$filter': "CourseCatalogId eq value"}).value

ここでの「Defaulttitle」は、作成したコネクタのタイトルです。このタイトルはSwaggerで変更できます。

数秒後、データが読み込まれます。テーブルに列を追加することができます。

ここではTitle、CourseType、CreatedAt、Categories、Tags を選択してます。

image 1 (30).png

最初の3つの列にはデータがありますが、展開された次の2つの列は、Categories や Tags が取得されるはずの行の「object Object」の値を除いて、結果が取得されません。

また、これらの列の数式エラーも確認できます。

image 1 (31).png

これらの列の数式エラーは、すでにクエリでこれらのテーブルを展開しているので、簡単に修正できます。

修正方法:

Categories や Tags 列は、Concat関数を使用してテーブルから1つの値のみを選択します。

列を選択し、ThisItem.Categories の代わりに「 Concat(ThisItem.Categories.Name, Name, ", ") 」を入力します。

ThisItem.Tagsについても同様に修正します。

これにより、次の結果が取得できます。

image 1 (32).png