2016-07-22 467 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

这真的很奇怪,它确实在第一次工作。 –

相关问题