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

A.K*_*ger 5 api gem ruby-on-rails salesforce oauth-2.0

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

Restforce描述初始化过程如下:

初始化

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

如果您正在使用gem与单个组织进行交互(也许您正在内部构建一些salesforce集成?)那么您应该使用用户名/密码身份验证方法.

OAuth令牌身份验证

client = Restforce.new :oauth_token => 'oauth token',
  :instance_url  => 'instance url'
Run Code Online (Sandbox Code Playgroud)

虽然上述方法可行,但您可能希望通过指定刷新令牌,客户端ID和客户端密钥来利用(重新)身份验证中间件:

client = Restforce.new :oauth_token => 'oauth token',
  :refresh_token => 'refresh token',
  :instance_url  => 'instance url',
  :client_id     => 'client_id',
  :client_secret => 'client_secret'
Run Code Online (Sandbox Code Playgroud)

我有我的client_idclient_secret从SF创建的应用程序,但不知道我需要将什么其他信息放入restforce.

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

gee*_*ian 6

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

omn​​iauth中的示例使用sinatra,请查看此repo以了解使用rails的实现.

我也在博客上写过这篇文章.