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

  • 更新

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

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.コネクター 作成ページが開きます。順をフィールドに入力します。

「全般」セクションに入力します。

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

customPowerApps3.png

 

「セキュリティ」セクションに進みます。認証タイプを設定します。

ここでは、「基本認証」を選択します。

customPowerApps4.png

 

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

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

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

customPowerApps5.png

 

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

「サンプルからのインポート」を選択します。

開いたパネルで「GET」メソッドを選択し、URLに ”https://je-api.365.systems/odata/v2/Courses" を指定します。

さらに、クエリ パラメータを追加します。
Tags と Categories パラメータを展開するための「$expand」と、「$filters」も使用できるようにします。

”https://ne-api.365.systems/odata/v2/Courses?$expand=&$filter="

「インポート」ボタンをクリックします。

customPowerApps-6.jpg

 

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

応答ブロックの「既定の応答を追加する」を選択します。開いたパネルで「本文」フィールドに入力します。

customPowerApps10.png

 

本文に入力するにあたり、以下の手順でレスポンスのサンプル本文を入手します。

①  https://api.365.systems/ にアクセスし、API キーで認証します。

② Courses セクション に移動し、GET /odata/v2/Courses エンドポイントを選択し、右上の「Try it out」をクリックします。

③ クエリ オプションを設定します。「$expand」に”Tags”と”Categories”を指定します。

customPowerApps-7.jpg

 

④ 「Execute」を選択してリクエストを実行します。

⑤ Responses ブロックで結果を .JSONファイルでダウンロードします。

customPowerApps-8.jpg

 

⑥ ダウンロードした. JSONファイルでデータをコピーします。

customPowerApps-9.jpg

 

⑦ 本文フィールドに貼り付け、「インポート」ボタンをクリックします。

※末尾の }の後ろにあるカンマに注意してください。このカンマは不要です。

customPowerApps-10.jpg

 

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

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

customPowerApps-11.jpg

 

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

注記:

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

カスタムコネクタを1から作成する方法については、こちらの Microsoft のガイドをご参照ください。

 

5.1~3(または4)の手順が完了したら、「承認アイコン.svgコネクタの作成」し、「テスト」に進みます。

customPowerApps-12.jpg

 

6.テストを実行します。設定に問題がなければ、応答に コード 200 が返されます。

customPowerApps-13.jpg

 

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

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

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

1.Power Apps に移動し、サイドメニューの「+作成」>「ページ デザインで開始する」>「空のキャンパス」を選択します。

customPowerApps-14.jpg

 

2.左サイドメニューの「データ」を選択し、開いたパネルで「+データの追加」>データソースの選択で作成したコネクタを選択し、「+接続の追加」をクリックします。

customPowerApps-15.jpg

 

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 」の値を除いて、結果が取得されません。

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

image 1 (31).png

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

修正方法:

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

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

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

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

image 1 (32).png