接続の確立
JDBC データソースの作成
Java アプリケーションから接続するJDBC データソースを作成できます。CData JDBC Driver for Salesforce Marketing Cloud に基づくJDBC データソースの作成は、3つの基本ステップで構成されます。
- ドライバーのJAR ファイルをクラスパスに追加します。JAR ファイルはインストールディレクトリの[lib]サブフォルダ内にあります。.lic ファイルはJAR ファイルと同じフォルダ内に配置される必要があることに注意してください。
- ドライバークラスを入力します。次に例を示します。
cdata.jdbc.sfmarketingcloud.SFMarketingCloudDriver
- JDBC URL を入力します。次に例を示します。
jdbc:sfmarketingcloud:User=myUser;Password=myPassword; or jdbc:cdata:sfmarketingcloud:User=myUser;Password=myPassword;
上記の2つ目の形式は、同じURL 形式を使用しているドライバー間でアプリケーションに競合がある場合は、CData ドライバーを使用していることを確認するために常に使用できます。URL は "jdbc:sfmarketingcloud:" または"jdbc:cdata:sfmarketingcloud:" のいずれかから始まり、任意の接続プロパティの名前と値のペアをセミコロン区切りで入力します。
Salesforce Marketing Cloud への接続
REST API およびSOAP API の両方で、次のプロパティを使用してデータアクセスを絞り込むことができます。
- Instance:使用されるSalesforce Marketing Cloud API のインスタンス。デフォルトのインスタンスはWeb Services API のs7 ですが、このプロパティを使用して別のインスタンスを指定することができます。
- Subdomain:インスタンスがs10 より大きい場合は、サブドメインも指定する必要があります。
REST API
接続するには、Schema をREST に設定します。Salesforce Marketing Cloud REST API はOAuth 認証標準を使用しています。OAuth を使って認証するには、カスタムOAuth アプリケーションを作成してOAuthClientId およびOAuthClientSecret 接続プロパティの値を取得する必要があります。詳しくは、カスタムOAuth アプリの作成 を参照してください。
SOAP API
接続するには、Schema をSOAP に設定します。Salesforce Marketing Cloud SOAP API は、OAuth を使用して接続できます。従来のログイン資格情報の使用もサポートしています。
Note:Salesforce Marketing Cloud のデータ拡張オブジェクトは、SOAP API 経由でのみアクセスできます。
Salesforce Marketing Cloud への認証
ユーザーアカウント(OAuth)
AuthScheme をOAUTH に設定します。また、すべてのOAuth フローで、AccountId をターゲットビジネスユニットの特定のMID に設定します。 NOTE: これはレガシーパッケージでは利用できません。 次のOAuth セクションでは、これら両方の接続プロパティを設定済みであることを前提としています。デスクトップアプリ
下記の手順に従って、カスタムOAuth アプリケーションの資格情報を使用して認証します。カスタムOAuth アプリケーションについては、カスタムOAuth アプリの作成 を参照してください。 OAuth アクセストークンの取得以下を設定して、接続してください。
- OAuthClientId:アプリケーション設定のクライアントId。
- OAuthClientSecret:アプリケーション設定のクライアントシークレット。
- CallbackURL:アプリケーション設定のリダイレクトURL。
- InitiateOAuth:GETANDREFRESH。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。
Web アプリ
Web アプリケーション経由で接続する場合は、Salesforce Marketing Cloud にカスタムOAuth アプリケーションを登録する必要があります。カスタムOAuth アプリケーションについては、カスタムOAuth アプリの作成 を参照してください。それから本製品 を使用してOAuth トークンの値を取得および管理します。 OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
- OAuthClientId:アプリケーション設定のクライアントId。
- OAuthClientSecret:アプリケーション設定のクライアントシークレット。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
- GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。必要に応じて、Permissions パラメータを設定してカスタム権限をリクエストします。
ストアドプロシージャがOAuth エンドポイントのURL を返します。
- URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。必要に応じて、Permissions パラメータを設定してカスタム権限をリクエストします。
OAuthAccessToken 接続プロパティをストアドプロシージャで返されたアクセストークンに設定し、データに接続します。ExpiresIn 秒後に、アクセストークンの期限が切れたときは、GetOAuthAccessToken を呼び出し、新しいアクセストークンを取得します。
ヘッドレスマシン
ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。
- 以下のオプションから選択します。
- オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
- オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
- 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
- 以下のオプションから選択します。
- 埋め込みOAuth アプリケーションを使用する場合は、Salesforce Marketing Cloud OAuth endpoint をクリックし、ブラウザでエンドポイントを開きます。
- カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定し、認証URL を作成します。
- InitiateOAuth:OFF に設定。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId に設定。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
- ログインして、本製品 にアクセス許可を与えます。すると、verifier code を含むコールバックURL にリダイレクトされます。
- verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
- InitiateOAuth:REFRESH。
- OAuthVerifier:verifier code。
- OAuthClientId:(カスタムアプリケーションのみ)カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret:(カスタムアプリケーションのみ)カスタムOAuth アプリケーション設定のクライアントシークレット。
- OAuthSettingsLocation:InitiateOAuth がGETANDREFRESH、またはREFRESH に設定されている場合に、OAuth 値が保存される設定ファイルの場所。代わりに、'memory://' で始まる値を指定することで、この場所をメモリに保持することができます。この接続プロパティを設定すると、データは接続間で永続化されます。
OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。
- InitiateOAuth:REFRESH。
- OAuthClientId:(カスタムアプリケーションのみ)アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:(カスタムアプリケーションのみ)アプリケーションの登録時に割り当てられたクライアントシークレット。
- OAuthSettingsLocation:暗号化されたOAuth 認証値が保存される場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンでは、次の接続プロパティを設定します。
- OAuthClientId:(カスタムアプリケーションのみ)アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:(カスタムアプリケーションのみ)アプリケーションの登録時に割り当てられたクライアントシークレット。
- OAuthSettingsLocation:OAuth 設定ファイルの場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
サーバー間(OAuthClient)
Salesforce Marketing Cloud でアプリケーションを作成する際、サーバー間認証を選択できます。この場合、アプリケーションの権限はSalesforce Marketing Cloud UI で直接設定されます。そのため、ユーザーコンテキストが存在せず、ブラウザベースのログインや権限付与はありません。このスキームでは、独自のクレデンシャルを作成する必要があります。アプリケーションでサーバー間OAuth 認証を有効にするには、次のプロパティを指定します。
- AuthScheme:OAuthClient。
- InitiateOAuth:GETANDREFRESH。
- OAuthClientId:クライアントId。
- OAuthClientSecret:クライアントシークレット。
- Subdomain:Salesforce Marketing Cloud API サブドメインを指定。
ユーザー名 / パスワード アカウント(Basic)
Salesforce Marketing Cloud SOAP API は、ログイン資格情報またはOAuth 認証のいずれかを使用して接続できます。 この認証スキームは、REST API ベースのアプリケーションでは利用できないことに注意してください。ログイン資格情報認証を使用してデータに接続するには、以下を設定します。
- AuthScheme:Basic。
- User:Salesforce Marketing Cloud ユーザーアカウント。
- Password:ユーザーの認証に使用するパスワード。
- UseLegacyAuthentication:True。