httpHelperフローの構築

httpHelperフローは、コネクタービルダーで構築する各アクションカードについて、認証と任意のHTTPリクエストという2つの事柄を管理します。これは、ソフトウェアパターンの繰り返しを減らすことを目的としたソフトウェア開発のDRY(Don't Repeat Yourself、自分自身を繰り返さない)の原則に賛同して実装されたものです。

httpHelperフローを作成する

  1. ページ右上端の[+ New Flow(新規フロー)]をクリックし、[Flows(フロー)]タブで新規フローを作成します。

  2. ページの左端にある[Helper Flow(ヘルパーフロー)]をクリックします。

  3. ツールバーの[Save(保存)]をクリックし、フローにhttpHelperという名前を付けます。

  4. チームの他の作成者がフローの目的を理解できるように、フローの説明を追加します。例:This flow manages all authentication and http requests for the connector.(このフローはコネクターのすべての認証とhttpリクエストを管理する)

  5. [Save all data that passes through the flow(フローを通過するすべてのデータを保存)]ボックスをチェックして[Save(保存)]をクリックします。

  6. ヘルパーフローカードの「Click or drag to create(クリックまたはドラッグして作成)」の領域をクリックし、入力名を追加してEnterキーを押し、フィールド自体に表示されるドロップダウンから型を選択して、次の入力名とデータ型を追加します。

    • relative_url(テキスト)

    • request_method(テキスト)

    • query(オブジェクト)

    • headers(オブジェクト)

    • body(オブジェクト)

  7. 次に、認証のタイプに応じて、適切な資格情報を構築するための一連のカードをHTTP呼び出し用のオブジェクトに作成します。

オプション1:OAuth認証の構築

  1. 「Bearer」とaccess_tokenを結合するためのText Concatenateカードを追加します。

  2. [text 1(テキスト1)]フィールドに「Bearer 」と入力します。

    注意

    Bearer 」のように、Bearerの後にスペースを入れてください。

  3. Helper Flowカードのaccess_tokenフィールドをConcatenateカードのtext 2フィールドにドラッグします。

  4. フィールドのドロップダウンをクリックして[customize(カスタマイズ)]をクリックし、出力フィールドにbearerという名前を付けます。これらのフィールドの命名はベストプラクティスであり、必須ではありません。

  5. Concatenateカードの右にObject Constructカードを追加します。

  6. Click or drop here to create(クリックまたはドラッグして作成)」の領域をクリックし、Authorizationというラベルを追加します。

  7. このフィールドにConcatenate関数のbearer出力フィールドをドラッグします。この時点で、サービスへのすべてのHTTPリクエストで共有される任意の追加ヘッダーを追加できます。例:"Content-Type”: “application/json”(コンテンツタイプ:アプリケーション/JSON)

  8. この出力フィールドの名前をheaderに変更します。

オプション2:基本認証の構築

  1. ユーザー名とパスワードをコロンで区切って結合するText Concatenateカードを追加します。

  2. Helper FlowカードのusernameフィールドをConcatenateカードのtext 1フィールドにドラッグします。

  3. Concatenateカードのtext 2フィールドに手動でコロン(:)を入力します。

  4. Helper FlowカードのpasswordフィールドをConcatenateカードの「Click or drop here to create(クリックまたはドラッグして作成)」の領域にドラッグします。

  5. Concatenateカードの出力フィールド名をusername_passwordに変更するか、意味のある別の名前に変更します。

  6. Text Base64カードを追加し、Text Concatenateカードのusername_passwordフィールドをBase64カードのtext入力にドラッグします。

  7. Base64カードの出力フィールドの名前をbase_64に変更します。

  8. フローに別のText Concatenateカードを追加します。

  9. [text 1(テキスト1)]フィールドに「Basic 」と入力します(Basicの後にスペースを入れます)。

    注意

    Basic 」のように、Basicの後にスペースを入れてください。

  1. Text Base64カードのbase_64出力を2番目のConcatenateカードのtext 2フィールドにドラッグします。

  2. 2番目のConcatenateカードの出力フィールドの名前をauth_valueに変更します。

  3. 2番目のConcatenateカードの右にObject Constructカードを追加します。

  4. Click or drop here to create(クリックまたはドラッグして作成)」の領域をクリックし、Authorizationというラベルを追加します。

  5. 2番目のConcatenateカードのauth_value出力をこのフィールドにドラッグします。この時点で、サービスへのすべてのHTTPリクエストで共有される任意の追加ヘッダーを追加できます。例:“Content-Type”: “application/json”(コンテンツタイプ:アプリケーション/JSON)

  6. この出力フィールドの名前をheaderに変更します。

オプション3:カスタム(Apiキー)認証の構築

  1. 新しいフロー(ヘルパーフローの右)にObject Constructカードを追加します。

  2. Click or drop here to create(クリックまたはドラッグして作成)」の領域をクリックし、ヘッダーに含めるキーの名前を追加します。たとえば、api_keyのような名前を付けます。

  3. Helper Flowカードのapi_key(またはコネクターの認証の設定時に付けた別の名前)をこのフィールドにドラッグします。この時点で、サービスへのすべてのHTTPリクエストで共有される任意の追加ヘッダーを追加できます。例:“Content-Type”: “application/json”(コンテンツタイプ:アプリケーション/JSON)

httpHelperフローの構築を完了する

  1. フローにObject Mergeカードを追加します。

  2. Constructカードのheader出力をMergeカードのobject 1フィールドにドラッグします。

  3. Helper Flowカードのheaders出力をMergeカードのobject 2フィールドにドラッグします。これにより、必要なエンドポイント固有のヘッダーを渡せるようになります。

  4. Mergeカードの出力フィールド名をmerged_headerに変更します。

  5. フローにText Concatenateカードを追加します。

  6. フローのベースURLを特定のエンドポイントなしで[text 1(テキスト1)]フィールドに入力します(例:https://api.spotify.com/v1)。

  7. Helper Flowカードのrelative_urlフィールドをtext 2フィールドにドラッグします。

  8. このカードの出力フィールド名をfull_urlに変更します。

  9. HTTP Raw Requestカードを追加します。

  10. Concatenateカードのfull_url出力フィールドをRaw RequestカードのURL入力にドラッグします。

  11. Helper Flowカードのrequest_method出力フィールドをRaw RequestカードのMethod入力にドラッグします。

  12. Helper Flowカードのquery出力フィールドをRaw RequestカードのQuery入力にドラッグします。

  13. Helper Flowカードのmerged_headerフィールドをRaw RequestカードのHeaders入力にドラッグします。

  14. Helper Flowカードのbody出力フィールドをRaw RequestカードのBody入力にドラッグします。

  15. Click or drop here to create(クリックまたはドラッグして作成)」の領域をクリックし、この3つのフィールドをFlow Control Returnカードに追加します。

  • status_code(数値)

  • headers(オブジェクト)

  • body(オブジェクト)

  1. Raw Requestカードの対応する出力を新たに作成したフィールドにドラッグします。

  2. フローを保存し、テストダイアログに相対URL、リクエストメソッド、その他の必要データを手動で追加してテストします。

次の手順

_authpingフローの構築