🐣
SalesForceのRefresh Token取得方法
概要
SalesForceでrefresh_tokenを取得しようとしたが、ハマってしまったため記事として残しておく。
たぶんこの記事に辿り着く人はSalesForceの「更新トークンフロー」を読んで、結局どうやって取得すんねんってなった人ではないだろうか・・・。
結論
webサーバ認証フローを利用することで取得できる
※ 利用しているAPIのバージョンはv47.0です
手順
SalesForce側で接続アプリケーションの設定をする
-
SalesForceにログインして設定を押す
-
アプリケーションマネージャから接続アプリケーションを選択
-
接続アプリケーションの作成
事前準備としてlocalでもいいのでWebサーバを立ち上げておく
-
client_idとclient_secretの確認
アプリケーションの作成が完了、もしくはアプリケーション一覧から「参照」を押すとclient_idとclient_secretを確認できる
アプリケーションの認証
パラメータをつけて下記に「ブラウザ」でアクセスする
Key | Value |
---|---|
response_type | code |
client_id | ***** |
redirect_uri | http%3A%2F%2Flocalhost |
SalesForceにログインするとアプリケーションへのアクセス許可を求められるので許可をする
許可するとリダイレクトされて、URLにcode(有効時間15分程度)が返ってくる
refresh_tokenの取得
認証時に取得したcode&その他必須パラメータをつけて下記のURLに「POST」でアクセスする
※ 下記画像ではpostmanを利用していますが、terminalからcurlでも取得できます。
Key | Value |
---|---|
grant_type | authorization_code |
code | ***** |
client_id | ***** |
client_secret | ***** |
redirect_uri | http://localhost |
無事にrefresh_tokenを取得できました。
Discussion