CData Python Connector for Salesforce Marketing Cloud

Build 24.0.9062

接続の確立

コネクタ内で利用可能なオブジェクトは、"cdata.sfmarketingcloud" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには:

  1. モジュールを以下のようにインポートします。
    import cdata.sfmarketingcloud as mod
  2. 接続を確立するには、以下のような適切な接続文字列を使用してコネクタオブジェクトからconnect() メソッドを呼び出します。
    mod.connect("User=myUser;Password=myPassword;")

Salesforce Marketing Cloud への接続

REST API およびSOAP API の両方で、次のプロパティを使用してデータアクセスを絞り込むことができます。

  • Instance:使用されるSalesforce Marketing Cloud API のインスタンス。デフォルトのインスタンスはWeb Services API のs7 ですが、このプロパティを使用して別のインスタンスを指定することができます。
  • Subdomain:インスタンスがs10 より大きい場合は、サブドメインも指定する必要があります。

REST API

接続するには、SchemaREST に設定します。

Salesforce Marketing Cloud REST API はOAuth 認証標準を使用しています。OAuth を使って認証するには、カスタムOAuth アプリケーションを作成してOAuthClientId およびOAuthClientSecret 接続プロパティの値を取得する必要があります。詳しくは、カスタムOAuth アプリの作成 を参照してください。

SOAP API

接続するには、SchemaSOAP に設定します。

Salesforce Marketing Cloud SOAP API は、OAuth を使用して接続できます。従来のログイン資格情報の使用もサポートしています。

Note:Salesforce Marketing Cloud のデータ拡張オブジェクトは、SOAP API 経由でのみアクセスできます。

Salesforce Marketing Cloud への認証

ユーザーアカウント(OAuth)

AuthSchemeOAUTH に設定します。また、すべてのOAuth フローで、AccountId をターゲットビジネスユニットの特定のMID に設定します。 NOTE: これはレガシーパッケージでは利用できません。 次のOAuth セクションでは、これら両方の接続プロパティを設定済みであることを前提としています。

デスクトップアプリ

下記の手順に従って、カスタムOAuth アプリケーションの資格情報を使用して認証します。カスタムOAuth アプリケーションについては、カスタムOAuth アプリの作成 を参照してください。 OAuth アクセストークンの取得

以下を設定して、接続してください。

  • OAuthClientId:アプリケーション設定のクライアントId。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレット。
  • CallbackURL:アプリケーション設定のリダイレクトURL。
  • InitiateOAuthGETANDREFRESH。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 はこれでOAuth プロセスを完了します。
  1. コールバックURL からアクセストークンを取得し、リクエストを認証します。
  2. 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  3. OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。

Web アプリ

Web アプリケーション経由で接続する場合は、Salesforce Marketing Cloud にカスタムOAuth アプリケーションを登録する必要があります。カスタムOAuth アプリケーションについては、カスタムOAuth アプリの作成 を参照してください。それから本製品 を使用してOAuth トークンの値を取得および管理します。 OAuth アクセストークンの取得

次の接続プロパティを設定し、OAuthAccessToken を取得します。

  • OAuthClientId:アプリケーション設定のクライアントId。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレット。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。必要に応じて、Permissions パラメータを設定してカスタム権限をリクエストします。

    ストアドプロシージャがOAuth エンドポイントのURL を返します。

  2. URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。必要に応じて、Permissions パラメータを設定してカスタム権限をリクエストします。

OAuthAccessToken 接続プロパティをストアドプロシージャで返されたアクセストークンに設定し、データに接続します。ExpiresIn 秒後に、アクセストークンの期限が切れたときは、GetOAuthAccessToken を呼び出し、新しいアクセストークンを取得します。

ヘッドレスマシン

ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。

  1. 以下のオプションから選択します。
    • オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
    • オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
  2. 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。

オプション1:Verifier code を取得および交換

Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。

インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。

  1. 以下のオプションから選択します。
    • 埋め込みOAuth アプリケーションを使用する場合は、Salesforce Marketing Cloud OAuth endpoint をクリックし、ブラウザでエンドポイントを開きます。
    • カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定し、認証URL を作成します。
      • InitiateOAuthOFF に設定。
      • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId に設定。
      • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
      次に、適切なCallbackURL を指定してrpgrestsp-getoauthauthorizationurl ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
  2. ログインして、本製品 にアクセス許可を与えます。すると、verifier code を含むコールバックURL にリダイレクトされます。
  3. verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
次に、OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換する必要があります。次のプロパティを設定します。

ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。

  • InitiateOAuthREFRESH
  • OAuthVerifier:verifier code。
  • OAuthClientId:(カスタムアプリケーションのみ)カスタムOAuth アプリケーション設定のクライアントId。
  • OAuthClientSecret:(カスタムアプリケーションのみ)カスタムOAuth アプリケーション設定のクライアントシークレット。
  • OAuthSettingsLocation:InitiateOAuth がGETANDREFRESH、またはREFRESH に設定されている場合に、OAuth 値が保存される設定ファイルの場所。代わりに、'memory://' で始まる値を指定することで、この場所をメモリに保持することができます。この接続プロパティを設定すると、データは接続間で永続化されます。

OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。

  • InitiateOAuthREFRESH
  • 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 認証を有効にするには、次のプロパティを指定します。

  • AuthSchemeOAuthClient
  • InitiateOAuthGETANDREFRESH
  • OAuthClientId:クライアントId。
  • OAuthClientSecret:クライアントシークレット。
  • Subdomain:Salesforce Marketing Cloud API サブドメインを指定。

ユーザー名 / パスワード アカウント(Basic)

Salesforce Marketing Cloud SOAP API は、ログイン資格情報またはOAuth 認証のいずれかを使用して接続できます。 この認証スキームは、REST API ベースのアプリケーションでは利用できないことに注意してください。

ログイン資格情報認証を使用してデータに接続するには、以下を設定します。

  • AuthSchemeBasic
  • User:Salesforce Marketing Cloud ユーザーアカウント。
  • Password:ユーザーの認証に使用するパスワード。
  • UseLegacyAuthenticationTrue

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062