Power Apps アプリからカスタム コネクタを使用する
注意
このトピックは、Azure Logic Apps、Power Automate、および Power Apps でのカスタム コネクタの作成および使用に関するチュートリアル シリーズの一部です。 カスタム コネクタの概要 を必ず読んで、プロセスを理解してください。
このトピックでは、前のトピックで作成したカスタム コネクタを使用する基本的なアプリを構築します。 アプリはテキスト入力を受け取り、カスタム コネクタを使用して Cognitive Services Text Analytics API を呼び出します。 コネクターはテキストのセンチメント スコア(0 ~ 1) を返し、アプリはそれをパーセントで表示します。 次の図は、次の完了したアプリを示しています。
前提条件
- Power Apps サブスクリプション.
- Power Apps での基本的なアプリの構築経験。 詳細については、アプリを最初から作成するを参照してください。
- 次のいずれかのトピックで作成したカスタム コネクタ:
アプリを作成してカスタム コネクタを追加する
最初に、空白からアプリを作成し、前のトピックで作成したカスタム コネクタに接続します。
make.powerapps.com で、空白から開始 > (電話) > このアプリの作成 の順に選択します。
アプリのキャンバスで、[connect to data] (データに接続する) を選択します。
データ パネルで、前のトピックで作成した接続 ("SentimentDemo" など) を選択します。
アプリに
Sentiment Analysis
という名前を付けて保存します。
アプリにコントロールを追加
アプリの UI を構築して、テキストを入力し、そのテキストを API に送信して、応答を取得できるようにします。
長方形のアイコンをタイトル バーとして追加してから、「感情分析」というラベルを追加します。
ラベル "テキストを入力" を追加して、[スコアを取得] をクリックし、テキスト入力コントロールを追加します。
"スコアを取得" というテキストのボタンを追加します。
"センチメントスコアは" というラベルを追加します。 次のセクションでは、このラベルを完成させるための数式を追加します。
動作を促進する数式を追加する
データ接続と UI を設定したら、アプリの動作を駆動する Power Apps の数式を追加します。 数式はカスタム コネクタを介して API を呼び出し、結果をコレクション (表形式の変数) に格納し、フォーマットされた結果をアプリに表示します。
作成したボタンを選択して、ボタンの OnSelect プロパティをコネクタの名前 (ピリオドを含む) に設定します。
SentimentDemo.
Power Apps によって
DetectSentiment
のオートコンプリート オプションが提供されます。カスタム コネクタによってこれが使用可能になるためです。ここで、ボタンの OnSelect プロパティを次の数式に設定します。
ClearCollect(sentimentCollection, SentimentDemo.DetectSentiment( {id:"1", language:"en", text:TextInput1.Text}).documents.score)
次の数式は、API からセンチメント スコアを取得し、コレクションに格納します。
この数式は、カスタム コネクタによって公開された 3 つのパラメーター、
id
、language
、text
を使用して、DetectSentiment
関数を呼び出します。 数式の最初の 2 つの右側の値を指定し、テキスト入力コントロールからText
の値を取得します (アプリの別の場所から最初の 2 つの値をプルすることもできます)。この関数は、送信するドキュメントごとに
score
を返します。この例では、一度に 1 つのドキュメントを送信します。 スコアの範囲は 0 (負) から 1 (正) です。次に、数式は
ClearCollect
関数を呼び出して、既存の値をsentimentCollection
から削除し、値をscore
から追加します。
作成したラベルを選択して、ラベルのテキスト プロパティを次の数式に変更します。
"The sentiment score is " & Round(First(sentimentCollection).score, 3) * 100 & "%"
次の数式は、コレクションからセンチメント スコアを取得し、フォーマットして表示します。
First()
関数は、sentimentCollect
の最初 (かつ、この場合では唯一) のレコードを返し、そのレコードに関連付けられたscore
フィールド (唯一のフィールド) を表示します。Round()
関数はスコアを 3 桁に丸めます。数式の残りの部分では、結果をパーセンテージとしてフォーマットし、コンテキストの情報を追加します。
アプリをテストする
完成したアプリを実行して、期待どおりに機能することを確認します。
選択 クリックまたはタップしてアプリを実行します。
テキスト入力コントロールにフレーズを入力し、スコアを取得 を選択します。 センチメント スコアは数秒以内に表示されます。
完成したアプリは次の図のようになります。
単純なアプリですが、カスタム コネクタから Cognitive Services を呼び出すことで強力な機能が得られました。
次の手順
組織内でコネクタを共有したり、組織外のユーザーが使用できるようにコネクタの認定を受けます。
フィードバックを提供する
コネクタ プラットフォームの問題点や新機能のアイデアなどのフィードバックをお待ちしています。 フィードバックを提供するには、「問題を送信するか、コネクタに関するヘルプを入手する」にアクセスし、フィードバックの種類を選択します。