コネクタを使用すれば、Microsoft Power Appsを使って カスタムアプリケーションで Learn365 データを操作することができます。
LMS365 の既定のコネクタではアクセスできない追加のデータを取得したい場合は、コネクタを作成してそれを使用することもできます。
また、Power Apps で LMS365 の既定のコネクタ「HttpRequest」や「HttpRequest_v2」を使用したい場合にも便利です。
これらのアクションは Power Automate においてのみ制限なく使用できるので、カスタム コネクタの作成はこうしたケース(アクセスできない追加のデータを取得する)の代替え策になります。
ここでは、カスタム コネクタを作成し、Power Appsで使用する方法についてご説明します。
注記:
カスタム コネクタやプレミアム コネクタを使用するには、Microsoft Office 365のサブスクリプションだけでなく、スタンドアロン の Power App ライセンスが必要です。
カスタムコネクタの作成
新しいコネクタは次の手順で作成します。
1.Power Apps メニューからソリューション >「+新しいソリューション」 を選択します。開いたパネルで必要なフィールドに入力し、「作成」を選択します。
2.新しいソリューションが開きます。「+新規」>「自動化」>「カスタム コネクタ」を選択します。ソリューションの概念については、こちらの Microsoft のガイドをご参照ください。
3.コネクター 作成ページが開きます。順をフィールドに入力します。
「全般」セクションに入力します。
Learn365 のデータを取得したいので、ホストは Learn365 クラウド API ホストを使用します。
「セキュリティ」セクションに進みます。認証タイプを設定します。
ここでは、「基本認証」を選択します。
「定義」セクションに移動します。ここでは、コネクタの定義を作成します。
さまざまなレスポンスを返すアクションやトリガーを追加することができます。
この例では、1つのアクションだけを使い、Courses テーブルから Learn365 データを取得します。
このアクションで使用する要求を追加します。
「サンプルからのインポート」を選択します。
開いたパネルで「GET」メソッドを選択し、URLに ”https://je-api.365.systems/odata/v2/Courses" を指定します。
さらに、クエリ パラメータを追加します。
Tags と Categories パラメータを展開するための「$expand」と、「$filters」も使用できるようにします。
”https://ne-api.365.systems/odata/v2/Courses?$expand=&$filter="
「インポート」ボタンをクリックします。
次に、レスポンスのサンプルを作成します。
応答ブロックの「既定の応答を追加する」を選択します。開いたパネルで「本文」フィールドに入力します。
本文に入力するにあたり、以下の手順でレスポンスのサンプル本文を入手します。
① https://api.365.systems/ にアクセスし、API キーで認証します。
② Courses セクション に移動し、GET /odata/v2/Courses エンドポイントを選択し、右上の「Try it out」をクリックします。
③ クエリ オプションを設定します。「$expand」に”Tags”と”Categories”を指定します。
④ 「Execute」を選択してリクエストを実行します。
⑤ Responses ブロックで結果を .JSONファイルでダウンロードします。
⑥ ダウンロードした. JSONファイルでデータをコピーします。
⑦ 本文フィールドに貼り付け、「インポート」ボタンをクリックします。
※末尾の }の後ろにあるカンマに注意してください。このカンマは不要です。
スキーマが自動的に作成され、コネクタコードに追加されます。
成功した場合、多くのパラメータが応答本文に追加され、「検証に成功しました」というメッセージが表示されます。
4.「コード」セクションは任意です。
注記:
Swagger Editorを使用して変更やデバッグを行うこともできます。
カスタムコネクタを1から作成する方法については、こちらの Microsoft のガイドをご参照ください。
5.1~3(または4)の手順が完了したら、「コネクタの作成」し、「テスト」に進みます。
6.テストを実行します。設定に問題がなければ、応答に コード 200 が返されます。
Power Apps でカスタムコネクタの使用する
カスタム コネクタを作成したら、次は、カスタム コネクタを使って取得したデータを使用した、簡単なアプリを作成します。
アプリの作成は次の手順で行います。
1.Power Apps に移動し、サイドメニューの「+作成」>「ページ デザインで開始する」>「空のキャンパス」を選択します。
2.左サイドメニューの「データ」を選択し、開いたパネルで「+データの追加」>データソースの選択で作成したコネクタを選択し、「+接続の追加」をクリックします。
3.左サイドメニューの「挿入」を選択し、データを視覚化する要素を追加します。
4.カスタムコネクタを使用して、コースリストを取得するクエリを作成し、特定のカタログからのコースのみを取得するようにフィルタリングします。
この場合、数式は次のようになります。
Defaulttitle.GetCourses({'$expand':"Tags,Categories", '$filter': "CourseCatalogId eq value"}).value
注記:
ここでの「Defaulttitle」は、作成したコネクタのタイトルです。このタイトルはSwaggerで変更できます。
数秒後、データが読み込まれます。テーブルに列を追加することができます。
ここではTitle、CourseType、CreatedAt、Categories、Tags を選択してます。
最初の3つの列にはデータがありますが、展開された次の2つの列は、Categories や Tags が取得されるはずの行の「object 」の値を除いて、結果が取得されません。
また、これらの列の数式エラーも確認できます。
これらの列の数式エラーは、すでにクエリでこれらのテーブルを展開しているので、簡単に修正できます。
修正方法:
Categories や Tags 列は、Concat関数を使用してテーブルから1つの値のみを選択します。
列を選択し、ThisItem.Categories の代わりに「 Concat(ThisItem.Categories.Name, Name, ", ") 」を入力します。
ThisItem.Tagsについても同様に修正します。
これにより、次の結果が取得できます。