2016-07-22 471 views
0

我使用MicroBlogger tutorial來製作推文機器人。如何解決「證書驗證失敗(Twitter :: Error)」

我接近「I1:發佈推文」部分的結尾。我的程序如下所示:

require 'jumpstart_auth' 

class MicroBlogger 
    attr_reader :client 

    def initialize 
    puts "Initializing MicroBlogger" 
    @client = JumpstartAuth.twitter 
    end 

    def tweet(message) 
    @client.update(message) 
    end 
end 

blogger = MicroBlogger.new 
blogger.tweet("MicroBlogger Initialized") 

我第一次運行它時,Twitter的授權頁面在我的瀏覽器中用授權PIN彈出。我輸入了密碼,我的Twitter帳號被鎖定。我有兩個這些auth選項卡打開,所以也許我複製/粘貼了錯誤的一個。

解鎖我的帳戶後,我現在遇到下面的錯誤,當我運行該程序而不被帶到授權頁面。我嘗試退出Twitter並使用新帳戶登錄,但這沒有任何區別。

C:\Users\Daniel\Desktop\projects\microblogger>ruby micro_blogger.rb 
Initializing MicroBlogger 
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/twitter-5.16.0/lib/twitter/reset/request.rb:37:in 'rescue in perform': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (twitter::Error) 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/request.rb:32:in 'perform' 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/utils.rb:50:in 'perform_request' 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/utils.rb:72:in 'perform_request_with_object' 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/utils.rb:64:in 'perform_post_with_object' 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/tweets.rb:158:in 'update!' 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/tweets.rb:128:in 'update' 
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/jumpstart_auth-0.6.0/lib/jumpstart_auth/twitter_client.rb:33:in 'update' 
from micro_blogger.rb:12:in 'tweet' 
from micro_blogger.rb:17:in '<main>' 

我覺得這是值得做的的JumpStart-auth的寶石,它想我並不需要重新申請授權,但我不知道它是如何工作的。

我又回到了教程中的步驟。我得到了這一點:

第一次運行它將使用Launchy gem彈出打開您的Web瀏覽器並要求允許使用您的帳戶。

而且它沒有彈開。不知道這是否有幫助,但認爲我會提到它。

回答

0

錯誤消息「SSLv3讀取服務器證書B:證書驗證失敗」。

它只是聲明SSL證書無效。

也許它與v3版本有關,因爲它去年定義爲不安全,並且在大多數操作系統上被禁用。

+0

這真的很奇怪,它確實在第一次工作。 –

相關問題