SalesforceでConsumer Key、Consumer Secretの発行方法について

こんにちは。香田です。

Salesforceの顧客情報等をデータウェアハウスに保存し、他のデータと組み合わせ
分析したいといった要望はよくあるのではないでしょうか。

Salesforceのデータを統合するパイプラインとして、GCPのCloud Data Fusionは一つの選択肢として活用できます。

今回、GCPのCloud Data Fusionで提供されているSalesforce Pluginを利用する際、
認証情報としてUsername、Passwordの他にConsumer KeyとConsumer Secretが必要なのですが、

Salesforceにて認証情報を発行するフローにつまづいたので、ここではシンプルな手順を紹介しておきます。

はじめに

利用するSalesforceのエディションによっては、API アクセスは許可されていないようです。

事前に利用しているSalesforce エディションでAPI アクセスが許可されているかは下記で確認できます。

API アクセスのある Salesforce エディション

今回私の方は、無料で利用できる開発環境「Developer Edition」を利用しております。

接続アプリケーションの作成

はじめに接続アプリケーションを作成していきます。

[設定]より[クイック検索]に[アプリケーション]と入力します。

sfa1

[アプリケーションマネージャ]、[新規接続アプリケーション]をクリックします。

sfa2

[接続アプリケーション名]、[API 参照名]、[取引先責任者 メール]を入力します。
[OAuth 設定の有効]、[デバイスフローで有効化] をクリックします。

sfa3

[選択したOAuth 範囲]ですが、ここでは[フルアクセス(full)]を追加しております。
適宜環境に合わせて権限は調整してください。

ほかは全てデフォルト値にしておき、問題なければ[保存]をクリックし[次へ]へクリックします。

sfa4

Consumer KeyとConsumer Secretの確認

Consumer KeyとConsumer Secretが発行されているので、
[API (OAuth 設定の有効化)]より[コンシューマ鍵]と[コンシューマの秘密]を確認しコピーしておきます。

sfa5

接続アプリケーションの IP 制限の緩和

デフォルトだとアクセスが制限されている状態なので変更します。

[クイック検索]に[接続アプリケーション]と入力します。
[接続アプリケーションを管理する]より作成したアプリケーションを選択します。

sfa6

[ポリシーを編集]の[IP 制限の緩和]より[IP 制限の暖和]を選択し[保存]をクリックします。

sfa7

curlで接続確認

curlコマンドで接続確認します。アプリケーション作成後は利用できるようになるまで10分程かかるので注意してください。
正常にアクセストークがレスポンスとして返ってくれば成功です。

$ curl -s https://login.salesforce.com/services/oauth2/token \
-d "grant_type=password" \
-d "client_id=<Consumer Key>" \
-d "client_secret=<Consumer Secret>" \
-d "username=<Username>" \
-d "password=<Password>"

Cloud Data FusionのSalesforce pluginで接続確認

GCPのCloud Data Fusionでも使えるか確認してみます。

[Studio]画面の[Source]より[Salesforce]を選択し[Properties]をクリックします。

cdf1

[Username]、[Password]、[Consumer Key]、[Consumer Secret]を入力します。

cdf2

SOQL Queryを入力し[GET SCHEMA]をクリックします。

cdf3

[Output Schema]にSchema情報が表示されていれば成功です。

cdf4

さいごに

Salesforceの顧客データや販売データ等とGCPのAIプロダクトを組み合わせて、ユーザーを特定のセグメントに分割し広告配信に利用する等データ活用パターンができると素敵ですね!

最後までご覧頂きありがとうございます。

SNSでもご購読できます。