我正在使用elance gem进行Elance api集成,然后get_access_token方法无法获取访问令牌。
http://rubydoc.info/gems/elance/1.0.2/frames
在下面的行号中获取未定义的方法“ap”。 38,我认为它不会在宝石中使用
https://github.com/NetVersaLLC/elance_gem/blob/master/lib/elance/authentication.rb
我被困在这里请帮帮我
提前致谢
答案 0 :(得分:0)
我做了研究并得到了解决方案。 " omniauth-elance" gem不能用于获取访问令牌,因此您需要签出Elance API文档。并使用" httparty"获得json回应的宝石。
我在下面写了代码,其中我使用AccessToken Model将保存记录一次输入数据库。它与用户模型相关联。它为我工作。
response = HTTParty.post("https://api.elance.com/api2/oauth/token", :body => { :code => params[:code], :grant_type => 'authorization_code', :client_id => 'add your client id here', :client_secret => 'add your client secret here'})
json_response = JSON.parse(response.body)
access_token = json_response['data']['access_token']
@access_token = AccessToken.new(:access_token => json_response['data']['access_token'],
:expired_at => Time.now + json_response['data']['expires_in'].to_i,
:status => 'Active',
:source => 'Elance',
:user_id => current_user.id,
:refresh_token => json_response['data']['refresh_token']
)
@access_token.save!
CustomMailer.send_code_mail(params[:code], access_token).deliver
flash[:notice] = "Successfully Connected to Elance"
redirect_to rails_admin_path