将Restforce gem与SalesForce API和Oauth 2.0一起使用

时间:2014-04-06 20:29:07

标签: ruby-on-rails api gem oauth-2.0 salesforce

我尝试使用Restforce(https://github.com/ejholmes/restforce)使用Oauth 2.0设置与我的Rails应用程序与SalesForce API的集成。

Restforce描述初始化过程如下:

  

初​​始化

     

您使用的身份验证方法实际上取决于您的使用案例。   如果您正在构建一个来自不同组织的许多用户的应用程序   通过oauth进行身份验证,您需要与数据进行交互   他们代表他们的组织,你应该使用OAuth令牌   认证方法。

     

如果您正在使用宝石与单个组织进行互动(也许您就是这样)   在内部构建一些salesforce集成?)然后你应该使用   用户名/密码验证方法。

     

OAuth令牌身份验证

client = Restforce.new :oauth_token => 'oauth token',
  :instance_url  => 'instance url'
     

虽然上述方法有效,但您可能希望利用它   (重新)认证中间件通过指定刷新令牌,   客户端ID和客户端密码:

client = Restforce.new :oauth_token => 'oauth token',
  :refresh_token => 'refresh token',
  :instance_url  => 'instance url',
  :client_id     => 'client_id',
  :client_secret => 'client_secret'

我有来自在SF中创建的应用的client_idclient_secret,但我不知道我需要将哪些其他信息放入restforce。

有没有人对这个宝石有任何经验?如何使用它向SF发出原始请求令牌请求?

1 个答案:

答案 0 :(得分:6)

您需要先使用Oauth 2.0登录,然后将令牌提供给gem。 我使用Omniauth-Salesforce做到了这一点,并且在令牌交给后我实施了restforce。

omniauth中的例子是使用sinatra,请查看this repo for an implementation using rails

blogged about this as well