2013-06-12 29 views
6

Tôi đang cố gắng sử dụng đá quý ruby ​​'twitter' nhưng không rõ lý do tôi không thể làm cho nó hoạt động.Ruby Gem Twitter - chứng chỉ xác minh không thành công (Twitter :: Lỗi :: ClientError)

Đây là mã rb:

require 'twitter' 

puts "Greetings, World!" 
puts "Checkpoint 1" 
Twitter.configure do |config| 
    config.consumer_key = "xxxxxxx" #removed for posting 
    config.consumer_secret = "xxxxxxx" #removed for posting 
    config.oauth_token = "xxxxxxx" #removed for posting 
    config.oauth_token_secret = "xxxxxxx" #removed for posting 
end 
Twitter.verify_credentials 
puts "Checkpoint 2" 

và tôi nhận được lỗi sau:

Greetings, World! 
Checkpoint 1 
C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Twitter::Error::ClientError) 
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `block in connect' 
from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:66:in `timeout' 
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect' 
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start' 
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:851:in `start' 
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:1367:in `request' 
from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:1126:in `get' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/adapter/net_http.rb:73:in `perform_request' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/adapter/net_http.rb:38:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/response.rb:8:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/request/url_encoded.rb:14:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/request/multipart.rb:13:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/request/multipart_with_file.rb:14:in `call' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/connection.rb:247:in `run_request' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/faraday-0.8.7/lib/faraday/connection.rb:100:in `get' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/client.rb:108:in `request' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/client.rb:66:in `get'   
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/api/utils.rb:82:in `object_from_response' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter/api/users.rb:50:in `verify_credentials' 
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/twitter-4.8.0/lib/twitter.rb:60:in `method_missing' 
from C:/Ruby200-x64/AppCode/twitter_connect.rb:13:in `<main>' 

Tôi là một newbie ruby ​​và tôi không thể làm cho tinh thần của các lỗi khách hàng ... có lẽ Tôi đang thiếu cái gì đó. Tôi cũng đã xác nhận thông tin đăng nhập Oauth của tôi đang làm việc trong python.

Xin cảm ơn trước và tôi mong được sự giúp đỡ của bạn.

Trả lời

9

Tôi đã có thể giải quyết câu hỏi của riêng mình. Đối với những người có cùng vấn đề, hãy thử sử dụng các bước sau:

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 

Tắt tính năng bảo mật SSL nhưng nó cho phép bạn xử lý khắc phục sự cố. Vấn đề cơ bản là SSL lỗi thời.

+1

Điều này làm cho lỗi biến mất, nhưng bạn thực sự không nên làm điều này http://jamesgolick.com/2011/2/15/verify-none..html – jordelver

1

Tôi cũng rất mới với ruby ​​nhưng bạn có đang sử dụng máy Mac không? Có thể là do tệp chứng chỉ SSL đã lỗi thời. Đây là một liên kết đến các hướng dẫn giải quyết vấn đề cho tôi. http://railsapps.github.io/openssl-certificate-verify-failed.html

+0

Tôi sử dụng windows 7. Không có bất kỳ may mắn nào với liên kết và tôi đã xác nhận rằng các biến đường dẫn của tôi đã được đặt. Tôi cũng đã gỡ cài đặt ruby ​​2.0 và cài đặt ruby ​​1.93 và tôi gặp phải vấn đề tương tự. Tôi có tweetstream và chạy. CỨU GIÚP! – tjrburgess

Các vấn đề liên quan