DSN の作成
このセクションでは、DSN 設定の編集方法と、Salesforce Marketing Cloud API への認証および接続について説明します。
DSN 設定
Microsoft ODBC データソースアドミニストレーターを使ってDSN 設定を編集できます。インストールプロセスではコネクタのインストール で説明のとおり、ユーザーDSN とシステムDSN の両方が作成されることに注意してください。
Note: 本製品 は、接続情報をWindows レジストリに保存します。本製品 がレジストリに書き込めるようにするには、Power BI を管理者として実行するか、接続にシステムDSN ではなくユーザーDSN を使用します。
ユーザーDSN
DSN 設定を編集するには、次の手順を実行してください。
- スタート -> 検索 を選択し、検索ボックスにODBC データソース と入力します。
- Power BI Desktop インストールのビット数(32-bit または64-bit)に対応するODBC アドミニストレーターのバージョンを選択してください。
- システムデータソースを選択して構成をクリックします。
- 接続タブの情報を編集してOK をクリックします。
システムDSN
システムDSN をユーザーDSN と同じ方法で設定します。ただし、ステップ3を実行する前に、システムDSN タブに切り替える必要があります。
Power BI のOn-Premises Data Gateway をStandard モードで使用している場合、システムDSN を使用する必要があります。
OAuthSettingsLocation(OAuth のプロンプトが繰り返されるのを避けるため、OAuth 認証情報をローカルに保存するパス)にも有効な場所を指定する必要があります。
これは、Standard モードがサービスモードで動作し、C:\Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway のような許可された場所にしかアクセスできないためです。
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。
ヘッドレスマシン
ヘッドレスマシンのユーザーアカウントで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。