HTTP・HTTPSの接続情報
  • 07 Mar 2024
  • ダーク
    ライト
  • PDF

HTTP・HTTPSの接続情報

  • ダーク
    ライト
  • PDF

Article Summary

概要

転送元HTTP・HTTPSの接続情報を作成するためのヘルプページです。
HTTP・HTTPSプロトコルのWebサービスからデータを取得する際、OAuth 2.0を利用して接続したい場合に、本接続情報を使用します。

なお、本記事では「HTTP・HTTPSプロトコルのWebサービス」をデータソースと表記します。

HTTP・HTTPSの接続情報

OAuth 2.0を利用してデータソースに接続したい場合にのみ、必要となります。
OAuth 2.0を利用しない場合は、接続情報を作成する必要はありません。

制約

OAuth 2.0を利用した接続に関する制約
  • グラントタイプには、以下のタイプのみ対応しています。
    • 認可コードグラント(Authorization Code Grant)
    • クライアントクレデンシャルズグラント(Client Credentials Grant)
  • 転送ジョブの実行時にデータソースに接続する際の認証方法には、Bearer認証にのみ対応しております。
    • そのほかの認証方法には対応していません。
  • トークンの取得・更新や認可コードの取得の際に利用されるパラメータは、OAuth 2.0の標準的な仕様に準拠していることを想定しています。
  • 転送ジョブの実行中にアクセストークンの有効期限が切れた場合、転送ジョブは失敗します。
    • この場合、アクセストークンの有効期限内に転送ジョブが完了するように、転送設定を修正してください。
    • 転送設定STEP2のフィルター設定にて、取得対象のレコード数を削減するなどの対応が考えられます。

事前準備

OAuth認証情報の取得方法

HTTP・HTTPS接続情報を作成する前に、データ取得対象のデータソース側にてクライアントアプリを作成する必要があります。
詳しくは、クライアントアプリの作成手順を参照ください。

入力項目

クライアントアプリ設定情報

認可コードグラントを利用する場合、クライアントアプリ作成時にリダイレクトエンドポイントの設定が必要となります。
以下のURLを指定してください。
https://trocco.io/connections/http/callback

接続情報

項目名必須内容
グラントタイプYesグラントタイプを以下のいずれかから選択します。
  • 認可コード
  • クライアントクレデンシャルズ
  • クライアントIDYes作成したクライアントアプリの認証設定ページから取得した、クライアントIDを入力します。
    クライアントシークレットYes作成したクライアントアプリの認証設定ページから取得した、クライアントシークレットを入力します。
    認可URLYes** グラントタイプで認可コードを選択した場合に入力します。
    認可コードを取得するためのURLを入力します。
    リクエストに使われるパラメータはtrocco側で自動で設定されますが、任意のパラメータを追加することもできます。
    後述の認可URLのパラメータを参照ください。
    アクセストークンURLYesアクセストークン・リフレッシュトークンを取得するためのURLを入力します。
    リクエストに使われるパラメータはtrocco側で自動で設定されます。
    スコープNoアクセストークンがアクセスできるスコープを入力できます。
    データソースによっては、クライアントアプリの管理画面でスコープを設定することで、本項目の入力は不要となる場合があります。

    詳細を設定するをクリックすると、設定項目が表示されます。

    項目名必須内容
    リフレッシュトークンURLNoアクセストークン・リフレッシュトークンを更新するためのURLを入力できます。
    トークンの取得と更新とでエンドポイントが区別されている場合にのみ、本項目を入力ください。
    認可URLのパラメータNo認可URLのクエリパラメータに任意のkey/valueを追加できます。
    一部のサービスでは、トークン取得の条件として、認可コード取得時に特定のパラメータを渡す必要があります。その場合に本項目を入力ください。

    クライアントアプリの作成手順

    接続情報を作成する前に、データ取得対象のデータソース側にてクライアントアプリを作成する必要があります。
    クライアントアプリの作成手順について、HubSpotを例に説明します。
    HubSpotでアプリを作成する際には、HubSpotのOAuthクイックスタートガイドを参照します。

    クライアントアプリの作成手順

    クライアントアプリの作成手順は、接続したいデータソースによって異なります。
    以下で説明するアプリの作成手順は、参考としてお考えください。
    実際にアプリを作成する際は、データソース側が提供しているAPIドキュメントなどを適宜ご参照ください。

    1. 開発者アカウントを作成します。
      001.png

    2. 開発者アカウントのコンソールより、アプリを作成します。
      002-p.png

    3. 作成するアプリの認証設定を行います。
      003-p.png

      • リダイレクトエンドポイント(リダイレクトURL)には、https://trocco.io/connections/http/callbackを指定してください。
      • スコープには、troccoがデータを取得するにあたって必要となる最低限のスコープを設定してください。
      • 接続情報の設定に必要となる、IDやスコープを記録してください。

    接続情報の作成手順

    1. HTTP・HTTPS接続情報の作成画面を開きます。
      各種入力項目には、クライアントアプリの作成手順にて記録したIDやスコープ、公式のAPIドキュメントなどに記載されているエンドポイントURIを入力します。
      004-p.png

    2. 画面下部の認証をクリックします。
      データソース側の認証画面へと遷移します。画面上の指示に従い、適宜認証手順を行ってください。
      なお、認証に失敗した場合は、接続情報およびクライアントアプリの各種設定値に誤りがないかをご確認ください。
      005-p.png

    3. 認証に成功したことを確認し、保存をクリックします。

    troccoにおけるトークンの取得・更新および認可コードの取得方法

    troccoでは、HTTP・HTTPS接続情報にて入力された値をもとに、トークンの取得・更新リクエストを行います。
    また、グラントタイプに認可コードを選択した場合は、認可コードの取得リクエストも行います。
    データ取得対象のデータソースとのやり取りは、データソースがOAuthの標準的な仕様に準拠していることを前提に、行われます。
    OAuthの標準的な仕様については、RFC6749を参照ください。

    認可コードを選択した場合

    認可コードの取得リクエスト

    HTTP・HTTPS接続情報にて入力された値をもとに、以下のリクエストを行います。
    スコープが複数設定されている場合は、半角区切りで指定されます。
    なお、必須パラメータやリクエスト形式が異なる場合、認可コードの取得に失敗します。ご注意ください。

    <AUTHORIZATION_ENDPOINT>?response_type=code&client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_ENDPOINT>&scope=<SCOPE1> <SCOPE2> <SCOPE3>&<AUTHORIZATION_URL_PARAMETER_NAME>=<AUTHORIZATION_URL_PARAMETER_VALUE>
    

    トークンの取得リクエスト

    HTTP・HTTPS接続情報にて入力された値をもとに、以下のリクエストを行います。
    URLにはアクセストークンURLが指定され、POSTするデータとしては以下が指定されます。
    リクエスト形式が異なる場合、トークンの取得に失敗します。ご注意ください。

    {
        grant_type: "authorization_code",
        client_id: <CLIENT_ID>,
        client_secret: <CLIENT_SECRET>,
        code: <AUTHORIZATION_CODE>,
        redirect_uri: <REDIRECT_ENDPOINT>
    }
    

    トークンの更新リクエスト

    HTTP・HTTPS接続情報にて入力された値をもとに、以下のリクエストを行います。
    URLにはリフレッシュトークンURLが指定され、POSTするデータとしては以下が指定されます。
    リクエスト形式が異なる場合、トークンの更新に失敗します。ご注意ください。

    {
        grant_type: "refresh_token",
        client_id: <CLIENT_ID>,
        client_secret: <CLIENT_SECRET>,
        refresh_token: <REFRESH_TOKEN>
    }
    

    クライアントクレデンシャルズを選択した場合

    トークンの取得リクエスト

    HTTP・HTTPS接続情報にて入力された値をもとに、以下のリクエストを行います。
    URLにはアクセストークンURLが指定され、POSTするデータとしては以下が指定されます。
    リクエスト形式が異なる場合、トークンの取得に失敗します。ご注意ください。

    {
        grant_type: "client_credentials",
        client_id: <CLIENT_ID>,
        client_secret: <CLIENT_SECRET>,
        scope: <SCOPE1> <SCOPE2> <SCOPE3>
    }
    

    この記事は役に立ちましたか?