没有使用elance gem访问令牌

时间:2014-04-03 11:21:49

标签: ruby-on-rails ruby

我正在使用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

我被困在这里请帮帮我

提前致谢

1 个答案:

答案 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