2012-05-11 327 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