如何使用 restforce gem 在 Rails 中设置 Salesforce 凭据?

Posted

技术标签:

【中文标题】如何使用 restforce gem 在 Rails 中设置 Salesforce 凭据?【英文标题】:How to setup Salesforce credentials in Rails using the restforce gem? 【发布时间】:2019-04-05 23:12:42 【问题描述】:

我正在尝试使用 restforce gem 将 rails 应用程序连接到 Salesforce。

问题类似于这个问题: Using Restforce gem with SalesForce API and Oauth 2.0

但我又问了一次,因为那里没有好的答案,而且我没有使用 Oauth 方法。

登录到 salesforce 并创建一个新的连接应用程序后,我得到一个“Consumer Key”和“Consumer Secret”,但 restforce gem 需要一些其他凭据:

client = Restforce.new(username: 'foo', password: 'bar', security_token: 'security token', client_id: 'client_id', client_secret: 'client_secret', api_version: '41.0')

我假设“Consumer Key”等同于“client_id”,“Consumer Secret”等同于“client_secret”,对吗?

(还假设“用户名”和“密码”是我的登录凭据)

但是我在哪里可以找到 Salesforce 中的其他凭据,即。例如,“security_token”和“api_version”?

我如何在我的 Rails 应用程序中配置这些?

我已经看到将它们放在 .env 文件中的迹象,但是在 Rails 中加载的 .env 文件在哪里?如何配置要加载的环境变量?

(Rails 新手)

【问题讨论】:

【参考方案1】:

Consumer Key 和 Consumer Secret 确实是 client_id 和 client_secret。

这里有一篇关于如何找到您的安全令牌的短文:https://www.skyhighnetworks.com/cloud-security-blog/what-is-salesforce-security-token-and-how-do-i-find-it/

您可以在此处获取 api 版本列表:https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_versions.htm

关于 .env 文件,您可以将它们硬编码到代码中(不推荐,但如果您只是在测试它可能是)或将它们放置为环境变量或使用 @987654324 @gem (https://github.com/bkeepers/dotenv) 并以类似的方式工作。

【讨论】:

以上是关于如何使用 restforce gem 在 Rails 中设置 Salesforce 凭据?的主要内容,如果未能解决你的问题,请参考以下文章

Angular + .nghaml 模板:引用预编译的图像资产

rails 4.2.0:无法在 ubuntu 14.04 上安装 pg gem

如何在 Cloud9 上使用 Rail 的 generate 生成脚手架文件

如何在 Ruby on Rails 中裁剪图像

性能优化-使用 RAIL 模型评估性能

无法使用 mongoid_slug