RubyonRailsアプリからSalesforce.comにアクセスできるように設定された簡単なデモアプリがあります。私のコードは非常に単純です:
def sign_in_salesforce
client = OAuth2::Client.new(ENV['SALESFORCE_CONSUMER_KEY'], ENV['SALESFORCE_CONSUMER_SECRET'], :site => 'https://login.salesforce.com/', :authorize_url => 'services/oauth2/authorize', :token_url => 'services/oauth2/token')
auth_url = client.auth_code.authorize_url(:redirect_uri => 'https://99.44.242.76:3000/users/oauth_callback')
redirect_to auth_url
end
次に、コールバックを処理するメソッドがあります。
def oauth_callback
db_client = Databasedotcom::Client.new
db_client.authenticate(:token => params[:code])
puts db_client.inspect
end
コンソールのエラーは次のとおりです。ArgumentError(ArgumentError):app / controllers / users_controller.rb:60:in `oauth_callback '
エラーの原因となっている行は次のとおりです。
db_client.authenticate(:token => params[:code])
私が取得しているトークンが無効か何かのように。
Salesforceのパスワードを変更するまでは問題なく機能しました(パスワードを変更する必要がありました)。私は何が欠けていますか?助けてくれてありがとう。