0

我正在尝试使用 Rack + omniauth(实际上是omniauth-ebay)在 eBay 上进行身份验证。我有一个正确的配置(而不是“111”,“222”......有真正的价值):

#config.rb
 use OmniAuth::Builder do
     provider :ebay, "111", "222", "333", "4444", "0", "https://api.sandbox.ebay.com/wsapi" 
 end

当我去 localhost:9292/auth/ebay时,我收到以下错误:

    NoMethodError at /auth/ebay
    undefined method `[]' for nil:NilClass
    file: ebay_api.rb location: generate_session_id line: 21

 #....
omniauth.error  - <NoMethodError: undefined method `[]' for nil:NilClass>
omniauth.error.strategy - #<OmniAuth::Strategies::Ebay>
omniauth.error.type - "Failed to retrieve session id from ebay"
omniauth.strategy - <OmniAuth::Strategies::Ebay>

我想知道的是如何调试它?尤其是路径,localhost:9292/auth/ebay因为我没有在我的应用程序中定义它,因为 Omniauth会自动嵌入它。

你的意见?

4

1 回答 1

1

Omniauth ebay 使用纯 XML 版本的 eBay API,而不是 SOAP 版本。您的最后一个配置值应该是

https://api.sandbox.ebay.com/ws/api.dll

不是

https://api.sandbox.ebay.com/wsapi

作为旁注,根据您的错误ebay_api.rb,您似乎安装了较早版本的 omniauth-ebay gem。在最新版本中,有更多的错误检查,应该会给你更多的细节。

于 2012-10-28T17:43:07.170 回答