SalesforceのOAuth2でリフレッシュトークンが取得できない

最近、仕事でSalesforceを触っている。
REST APIを使っていろいろしようとしたのだが、OAuth2のトークンを交換するところで、なぜかRefresh Tokenが空で取得できなくてはまった。
Access Tokenは取得できるのに、Refresh Tokenが空。

答えはここで判明。
oauth authorization no longer returning refresh token (HELP!)

Salesforce側の接続アプリケーションの設定でスコープを定義するところがあるのだが、
そこに「ユーザに代わっていつでも要求を実行(refresh_token,offline_access)」というスコープがあり、これが必要なようだ。
フルアクセスのスコープを入れてたのでこれで全て入っているとばかり思っていたが、そうではないらしい。

scope

これで無事Refresh Tokenが取れた。

Salesforceカテゴリの記事