【发布时间】:2016-06-15 02:12:22
【问题描述】:
我正在尝试使用 Ruby oauth 客户端验证 Magento REST Api 令牌。 我正在使用 Windows 7、Ruby 2.2.0(托管在 Ubuntu 远程服务器上的 Magento 1.7.0.2)。
1) 我通过 CLI 执行以下命令:
oauth --verbose --query-string --consumer-key ABCD --consumer-secret ABCD --access-token -url https://www.mywebsite.com/ch_fr/oauth/token --authorize-url https://www.mywebsite.com/ch_fr/admin/oauth_authorize --request-token-url mywebsite.com/ch_fr/oauth/initiate authorize
注意:我的命令中的 url 都以“https://www”开头(我在 stackoverflow 上的低代表阻止我发布超过 2 个 url)。
2) ruby 客户端显示以下消息:
Server appears to support OAuth 1.0a; enabling support.
Please visit this url to authorize:
https://www.mywebsite.com/ch_fr/admin/oauth_authorize?oauth_token=ABCD
Please enter the verification code provided by the SP (oauth_verifier):
3)成功连接到oauth_authorize url后,登录,接受token并接收验证码,我将代码填入我的shell Windows +回车。
然后,这是我的问题,出现以下消息:
RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:1532:in `addr_port': undefined method `+' for nil:NilClass (NoMet
Error)
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:1465:in `begin_transport'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:1410:in `transport_request'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:1384:in `request'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:1377:in `block in request'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:853:in `start'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/net/http.rb:1375:in `request'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/oauth-0.5.1/lib/oauth/consumer.rb:161:in `request'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/oauth-0.5.1/lib/oauth/consumer.rb:195:in `token_reques
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/oauth-0.5.1/lib/oauth/tokens/request_token.rb:20:in `g
access_token'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/oauth-0.5.1/lib/oauth/cli.rb:80:in `execute'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/oauth-0.5.1/lib/oauth/cli.rb:19:in `execute'
from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/oauth-0.5.1/bin/oauth:5:in `<top (required)>'
from C:/RailsInstaller/Ruby2.2.0/bin/oauth:23:in `load'
from C:/RailsInstaller/Ruby2.2.0/bin/oauth:23:in `<main>'
我的 Magento 服务器发送的内容是否被 Ruby 错误接收(例如“nil”值)? 验证码是否未正确发送到我的 Magento 服务器? 还是我的 Ruby 安装有问题? 还有一点?
注意 2:我是 Ruby 新手 ;)
任何帮助将不胜感激。 提前谢谢。
【问题讨论】:
-
如果您将用于连接的 ruby 代码粘贴到您的 REST API 中,将会有很大帮助。我猜测(从错误消息中)您尝试连接的 url 不是完整的 url(因此它只有
/admin/oauth_/xxx
标签: ruby-on-rails rest magento oauth token