接続の確立
JDBC データソースの作成
Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for HubSpot に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。
- ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
- ドライバークラスを入力します。次に例を示します。
cdata.jdbc.hubspot.HubSpotDriver
- JDBC URL を入力します。次に例を示します。
jdbc:hubspot:InitiateOAuth=GETANDREFRESH; or jdbc:cdata:hubspot:InitiateOAuth=GETANDREFRESH;
上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:hubspot:" または"jdbc:cdata:hubspot:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。
HubSpot への認証
HubSpot はOAuth 認証 およびPrivateAppToken ベース認証をサポートします。Note: HubspotV3 スキーマには、PrivateAppToken 認証でのみ動作するテーブルが2つあります。QuoteAssociations およびQuotes です。 詳しくは、データモデル -> HubSpot V3 データモデル -> テーブルを参照してください。
OAuth
HubSpot は埋め込みOAuth 認証情報を提供しており、デスクトップアプリケーション またはヘッドレスマシンからの接続を簡単にします。 Web アプリケーションから接続するには、カスタムOAuth アプリケーションの作成 で説明するようにカスタムOAuth アプリケーションを作成する必要があります。すべての認証フローで、OAuth 経由で接続するにはAuthScheme をOAuth に設定する必要があります。
以下のサブセクションでは、利用可能なOAuth フローでのHubSpot への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成についての情報と、すでに埋め込みOAuth 認証情報を持つ認証フローでもカスタムOAuth アプリケーションを作成したほうがよい場合の説明については、カスタムOAuth アプリケーションの作成 を参照してください。
HubSpot で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。
デスクトップアプリケーション
CData は、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供します。また、HubSpot コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
- CallbackURL(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI。
- 本製品 はHubSpot からアクセストークンを取得し、それを使ってデータをリクエストします。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- OAuth 値をOAuthSettingsLocation で指定された場所に保存します。これらの値は接続間で永続化されます。
Web アプリケーション
Web 経由で認証する場合は、カスタムOAuth アプリケーションの作成 で説明するようにHubSpot にカスタムOAuth アプリケーションを作成および登録する必要があります。それから本製品 を使用してOAuth トークンの値を取得および管理します。OAuth アクセストークンの取得
OAuthAccessToken を取得するには、次のプロパティを設定します。
- OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
- GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。CallbackURL をカスタムOAuth アプリケーション設定で指定したリダイレクトURI に設定します。 ストアドプロシージャは、OAuth エンドポイントへのURL を返します。
- ステップ1でストアドプロシージャが返したURL に移動します。ログインしてWeb アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、リダイレクトURI のクエリ文字列のcode パラメータに設定します。
OAuthAccessToken 接続プロパティをストアドプロシージャで返されたアクセストークンに設定し、データに接続します。ExpiresIn 秒後に、アクセストークンの期限が切れたときは、GetOAuthAccessToken を呼び出し、新しいアクセストークンを取得します。
ヘッドレスマシン
ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。
次のいずれかを実行します。
- オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
- オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得するには、以下の手順に従います。
- 次のアクションのいずれかを実行します。
- 埋め込みOAuth アプリケーションを使用する場合は、GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
- カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定します。
- InitiateOAuth:OFF。
- OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
- ログインして、本製品 にアクセス許可を与えます。リダイレクトURI にリダイレクトされます。リダイレクトURI にcode というパラメータが付加されます。このパラメータの値を控えておきます。この値は後でOAuthVerifier 接続プロパティを設定する際に必要です。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
- InitiateOAuth:REFRESH。
- OAuthSettingsLocation:暗号化されたOAuth 認証値を指定された場所に永続化。
- OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
- OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーション設定のクライアントシークレット。
接続をテストしてOAuth 設定ファイルを生成し、以下のプロパティを再設定して接続します。
- InitiateOAuth:REFRESH。
- OAuthSettingsLocation:暗号化されたOAuth 認証値が保存される場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
- OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンで、次のプロパティを設定します。
- InitiateOAuth:REFRESH。
- OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルの場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
- OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
非公開アプリトークン
Hubspot 非公開アプリトークンを使用して接続するには、AuthScheme プロパティをPrivateAppToken に設定し、OAuthAccessToken をアプリケーションのアクセストークンの値に設定します。
HubSpot 非公開アプリのトークンを生成するには:
- HubSpot アカウントで、メインナビゲーションバーにある設定アイコンをクリックします。
- 左のサイドバーメニューから、連携 -> 非公開アプリに移動します。
- 非公開アプリを作成をクリックします。
- 基本情報タブでアプリケーションの詳細(名前、ロゴ、説明)を設定します。
- スコープタブで、非公開アプリケーションがアクセスできるようにしたい各スコープについて読み取りまたは書き込みを選択します。これは、ドライバーが取得できるデータを決定するものです。選択するスコープの推奨は、OAuthRequiredScopes およびOAuthOptionalScopes プロパティを参照してください。
- アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
- アプリケーションのアクセストークンの情報を確認し、作成を続行、トークンを表示の順にクリックします。
これで、取得したトークンをOAuthAccessToken プロパティに設定できます(OAuthAccessToken は非公開アプリアクセストークンとOAuth アクセストークンに使用されます)。