接続の確立
JDBC データソースの作成
Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for PayPal に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。
- ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
- ドライバークラスを入力します。次に例を示します。
cdata.jdbc.paypal.PayPalDriver
- JDBC URL を入力します。次に例を示します。
jdbc:paypal:Schema=REST;InitiateOAuth=GETANDREFRESH;OAuthClientId=ClientId;OAuthClientSecret=ClientSecret; UseSandbox=true; or jdbc:cdata:paypal:Schema=REST;InitiateOAuth=GETANDREFRESH;OAuthClientId=ClientId;OAuthClientSecret=ClientSecret; UseSandbox=true;
上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:paypal:" または"jdbc:cdata:paypal:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。
PayPal への接続
プロバイダーは2つのPayPal API のテーブルを表示します。これらのAPI は、それぞれ異なる認証方法を使用します。- SOAP API にはSignature API 認証情報が必要です。SOAP API を認証するには、AuthScheme をBasic に設定し、Username、Password、およびSignature プロパティを設定する必要があります。SOAP API を有効にすると、これらのAPI 認証情報が生成されます。
- REST API はOAuth 認証標準を使用しています。REST API を認証するには、AuthScheme をOAuth に設定し、OAuthClientId およびOAuthClientSecret プロパティを設定する必要があります。
希望のAPI を指定するには、Schema プロパティをREST またはSOAP のいずれかに設定します。Schema が設定されていない場合、PayPal はSOAP スキーマを使用します。
テスト目的では、UseSandbox をtrue に設定してSandbox 認証情報を使用します。
SOAP API
SOAP API を使用して、現在の口座のすべての取引を取得できます。SOAP API は、3 つのクレデンシャル値を持つSignature API-credentials タイプを使用します。
- API ユーザー名
- API パスワード
- API 署名
API 認証情報を生成するには:
- PayPal ビジネスアカウントにログインして、Profile -> My Selling Tools を選択します。
- Selling Online セクションで、API Access 項目のUpdate をクリックします。
- API 署名を生成するには、API Access ページでRequest API Credentials をクリックします。
- Request API Signature を選択し、Agree and Submit をクリックしてAPI 署名を生成します。
次の接続プロパティを設定して、接続してください。
- User = API ユーザー名。
- Password = API パスワード。
- Signature = 署名。
- UseSandbox = Sandbox の認証情報を利用している場合はtrue。
REST API
次の接続プロパティを設定して、接続してください。
- InitiateOAuth = GETANDREFRESH。InitiateOAuth を使うと、OAuth 交換や、手動でのOAuthAccessToken 接続プロパティの設定の繰り返しを避けられます。
- OAuthClientId = アプリケーション設定のクライアントID。
- OAuthClientSecret = アプリケーション設定のクライアントシークレット。
- UseSandbox = Sandbox の認証情報を利用している場合はtrue。
接続すると、本製品 がOAuth プロセスを完了します。
- OAuthClientId とOAuthClientSecret をOAuthAccessToken と交換します。
- アクセストークンの期限が切れたときにはリフレッシュしてください。
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします。
以下のサブセクションでは、3つの標準的な認証フローでのPayPal への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。PayPal で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。
デスクトップアプリケーション
カスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。OAuth アクセストークンの取得およびリフレッシュ:
- InitiateOAuth = GETANDREFRESH。OAuthAccessToken を自動的に取得およびリフレッシュするために使用します。
- OAuthClientId = アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret = アプリケーションの登録時に割り当てられたクライアントシークレット。
- CallbackURL = アプリケーションの登録時に定義されたリダイレクトURI。
接続すると、本製品 はデフォルトブラウザでPayPal のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
アプリケーションにアクセス許可を与えると、本製品 はOAuth プロセスを完了します。
- 本製品 はPayPal からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます。
アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。
Web アプリケーション
Web 経由で認証する場合は、カスタムOAuth アプリケーションの作成 で説明するようにPayPal にカスタムOAuth アプリケーションを作成および登録する必要があります。それから本製品 を使用してOAuth トークンの値を取得および管理します。このセクションでは、OAuth アクセストークンの取得方法、ドライバーにOAuth アクセストークンを自動的に更新させる方法、OAuth アクセストークンを手動で更新する方法について説明します。
OAuth アクセストークンの取得:
- 次の接続プロパティを設定し、OAuthAccessToken を取得します。
- OAuthClientId = アプリケーション設定のクライアントId。
- OAuthClientSecret = アプリケーション設定のクライアントシークレット。
- OAuth 交換を完了します。
- ログインしてWeb アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、リダイレクトURI のクエリ文字列のcode パラメータに設定します。
アクセストークンとリフレッシュトークンを取得したのち、データに接続してOAuth アクセストークンを自動的にリフレッシュできます。
OAuth アクセストークンの自動リフレッシュ:
本製品 がOAuth アクセストークンを自動的にリフレッシュするようにするには、次のように設定します。
- はじめてデータに接続する前に、次の接続プロパティを設定します。
- InitiateOAuth = REFRESH。
- OAuthClientId = アプリケーション設定のクライアントId。
- OAuthClientSecret = アプリケーション設定のクライアントシークレット。
- OAuthAccessToken = GetOAuthAccessToken によって返されたアクセストークン。
- OAuthSettingsLocation = 本製品 がOAuth 値を保存する場所のパス。これは接続間で維持されます。
- その後のデータ接続では、以下を設定します。
- InitiateOAuth
- OAuthSettingsLocation
OAuth アクセストークンの手動リフレッシュ:
OAuth アクセストークンを手動でリフレッシュするために必要な唯一の値は、OAuth リフレッシュトークンです。
- ExpiresIn 期間(GetOAuthAccessToken が返す)が経過した後にOAuthAccessToken を手動でリフレッシュするには、RefreshOAuthAccessToken ストアドプロシージャを呼び出します。
- 次の接続プロパティを設定します。
- OAuthClientId = アプリケーション設定のクライアントId。
- OAuthClientSecret = アプリケーション設定のクライアントシークレット。
- RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを設定します。
- 新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定します。Open は、新規接続を開きます。
OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。
ヘッドレスマシン
ヘッドレスマシンに置かれているリソースにログインする必要がある場合は、インターネットブラウザに対応した別の端末で認証する必要があります。 これを行うには、インターネットブラウザに対応したマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。 上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンでデータに接続するには、次の接続プロパティを設定します。
- InitiateOAuth = REFRESH。
- OAuthSettingsLocation = ブラウザでマシンからコピーしたOAuth 設定ファイルへのパス。アクセストークンの自動リフレッシュを有効にするために、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
- OAuthClientId = カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret = カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
完了後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにドライバーを設定します。