2012-05-11 288 views
3

我试图采用databasedotcom gem,但无法超越身份验证。下面是我做的(后安装databasedotcom宝石):身份验证失败databasedotcom

  1. 轨C(或IRB然后要求 'databasedotcom')
  2. 客户端= Databasedotcom :: Client.new:CLIENT_ID => '富',:client_secret > '酒吧'
  3. client.ca_file = '/Users/tjiang/missioncontrol/tmp/ca-bundle.crt'
  4. client.verify_mode = OpenSSL的:: SSL :: VERIFY_PEER
  5. client.authenticate:用户名=>'myusername',:password =>'mypassword'

所有凭证都在该过程中复制并粘贴,因此在那里没有错误;该证书在这里下载:http://certifie.com/ca-bundle/ca-bundle.crt.txt

我试图红宝石187和193,以及内,外轨,反反复复,但总是得到这个错误信息:

Databasedotcom :: SalesForceError:从验证失败/库/红宝石/Gems/1.8/gems/databasedotcom-1.3.0/lib/databasedotcom/client.rb:112:in`authenticate'

我想知道我在这里错过了什么?特别是,我担心在Salesforce中创建远程访问时使用的回拨URL(我尝试了'oob','http:// localhost:3000'和'https://www.salesforce.com',但没有有什么区别)。

回答

5

事实证明,这是由于databasedotcom中的一个错误。当您使用用户名和密码进行身份验证时,它会将它们放入URL查询字符串中,但不会进行编码并使用该URL发送请求。因此,我的用户名中的加号将被解释为空格。

解决方案:CGI :: escape()都是您的用户名和密码。

+0

这并没有解决我的问题... – s2t2