動的ドロップダウンフィールドを追加する:HTTPの例
アイテムのリストを取得するためにHTTP呼び出しが必要な場合に、作成者はヘルパーフローを使ってオプション(Options)ドロップダウンの値を取り込むことができます。
次の例では、次の2つのフローを使ってドロップダウンのリストを作成します。
-
結果を適切なリストオブジェクトに整形する処理フロー
-
リストを取得するフロー
処理フロー
処理フローは、反復フローによって取得されるアイテムのリストから個々のアイテムを受け取ります。これは、各アイテムからキーと値のペアを抽出し、ドロップダウンリストの作成に適した形状の呼び出しフローを返すために使用されます。
ドロップダウンのアイテムリストを返すために使用されるフローは、次の形状のオブジェクトを返す必要があります。
[
{
"value":"English",
"key":"en_us"
},
{
"value":"Chinese (Simplified)",
"key":"zh_CN"
},
{
"value":"Danish",
"key":"da"
}
]
処理フローを作成するには:
-
フロー(Flows)タブに切り替えます。
-
新規フロー(+ New Flow)をクリックして新しいフローを作成します。
-
フローの最初のカードとしてHelper Flowカードを追加します。
-
保存(Save)をクリックし、フローに
Dropdown List Processingという名前を付けます。 -
フローの説明として
Processes a list of items and reformats it to be used as a dropdownと入力し、フローを通過するすべてのデータを保存?(Save all data that passes through the Flow?)ボックスをチェックして保存(Save)をクリックします。 -
クリックまたはドラッグして作成(Click or drag to create)をクリックしてHelper Flowカードにフィールドを追加します。
-
ラベルを追加して
list_itemという名前を付け、入力(Enter)をクリックします。 -
ドロップダウンからフィールドのオブジェクトタイプを選択します。デフォルトはText(テキスト)です。
-
関数の追加(Add function)をクリックしてフローにGet Multiple関数カードを追加します。
-
Helper Flowカードのlist_itemフィールドをGet Multipleカードのobject入力にドラッグします。
-
Get Multipleカードへの出力として抽出する値のキー名を追加します。
-
ここをクリックまたはドラッグして作成(Click or drop here to create)をクリックしてFlow Control Returnカードに2つのフローを追加し、両者のキー名を入力します。一方のフィールドには
key、もう一方のフィールドにはvalueという名前を付けます。ドロップダウンが作成されると、keyはユーザーに表示され、valueはフローに渡されます。キーと値に異なる名前が付けられている必要はありません。 -
ユーザーに表示されるGet MultipleカードのフィールドをReturnカードのkeyフィールドにドラッグします。
-
フローに渡されるGet MultipleカードのフィールドをReturnカードのvalueフィールドにドラッグします。
-
保存(Save)と実行(Run)をクリックします。
取得フロー
取得フローは、サービスからオブジェクトのリストを取得するために使用されます。これは、HTTPリクエストを作成してリクエスト内のオブジェクトのリストを特定し、そのリストを処理フローに渡します。
取得フローを作成するには、次の手順に従います。
-
フロー(Flows)タブに切り替えます。新規フロー(+ New Flow)をクリックして新しいフローを作成します。
-
フローの最初のカードとしてHelper Flowカードを追加します。
-
保存(Save)をクリックし、フローに
Get List of <object>という名前を付けます。ここで、<object> は取得するオブジェクトのタイプです。 -
フローの説明として
Retrieves a list of <x> from the service and passes it to a helper Flow to be processedと入力し、フローを通過するすべてのデータを保存(Save all data that passes through the Flow?)を選択して保存(Save)をクリックします。 -
Call Flowカードをフローの最初のカードとして追加します。
-
フローの選択(Choose Flow)をクリックします。
-
httpHelperフローを構築するか、事前に作成したhttp_helperを選択します。httpHelperフローを構築するを参照してください。このカードには、http_helperフローに定義されている入力が自動的に取り込まれます。
-
リクエストメソッドとして
GETを入力します。 -
エンドポイントの相対URLを入力します。
-
Helper Flowカードの認証(auth)オブジェクトをCall Flowカードの接続(Connection)入力フィールドにドラッグします。
-
Call Flowカードの出力には、http_helperフローの出力と同じキーを定義する必要があります。
-
status_code(数値)
-
headers(オブジェクト)
-
body(オブジェクト)
-
-
フローにObject Getカードを追加します。
-
Call FlowカードのbodyフィールドをGetカードのobjectフィールドにドラッグします。
-
返されるリストの形状は、サービスによって異なります。pathフィールドには、リストを特定するためのドット表記の構文を入力する必要があります。たとえば、
<object>.itemsです。注:このカードは不要である可能性があります。 -
フィールドのドロップダウンをクリックしてカスタマイズ(customize)をクリックし、出力フィールドに
item_listという名前を付けます。 -
フローにList Mapカードを追加します。
-
Getカードのcategories_listフィールドをMapカードのlistフィールドにドラッグします。
-
フローの選択(Choose Flow)をクリックし、前述の例のDropdown List Processingフローを選択します。
-
list_itemの横のドロップダウンを選択し、アイテム(Item)を選択します。これにより、item_listの各アイテムが処理フローに渡され、適切な形式の新しいリストが返されます。
-
Mapカードの出力名を
new_item_listに変更します。 -
Helper Flowカードの認証(auth)オブジェクトをList Mapカードの接続(Connection)入力フィールドにドラッグします。
-
クリックまたはドラッグして作成(Click or drag to create)(Click or drop here to create)をクリックしてFlow Control Returnカードにフィールドを作成し、そのフィールドにoutputというラベルを付けます。このラベルは、プラットフォームに認識させるために必要です。
注意:このフィールドには出力(output)というラベルが必要です。このフィールドに別のラベルを割り当てると、プラットフォームで認識されなくなります。
-
Mapカードのnew_item_listフィールドをReturnカードのoutputフィールドにドラッグします。
-
保存(Save)と実行(Run)をクリックします。
次の手順