我正在使用Elance gem进行elance api集成,然后get_access_token方法不能用于获取访问令牌。
http://rubydoc.info/gems/elance/1.0.2/frames
在第38行下面得到未定义的方法"ap“,我认为它不会在gem中使用。
https://github.com/NetVersaLLC/elance_gem/blob/master/lib/elance/authentication.rb
我被困在这里了,请帮帮我
提前感谢
发布于 2014-04-25 13:53:11
我做了研究并找到了解决方案。"omniauth- Elance“gem不适用于获取访问令牌,因此,您需要查看Elance API文档。并使用"httparty“gem获取json响应。
我写了下面的代码,其中我使用AccessToken模型保存一次记录到数据库中。并且它与用户模型相关联。这对我来说很有效。
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_pathhttps://stackoverflow.com/questions/22836041
复制相似问题