【问题标题】:Twitter api not working in terminalTwitter api在终端中不起作用
【发布时间】:2016-01-06 19:51:30
【问题描述】:

我正在使用 twitter gem 连接到 twitter 流 api。

当我在控制台中以 sublime text 2 运行代码时,一切正常,并且正在从 api 获取结果。但是,当我尝试从终端运行脚本时,出现此错误:

/Users/username/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/twitter-5.15.0/lib/twitter/streaming/connection.rb:16:in `initialize': Can't assign requested address - connect(2) for "199.16.156.217" port  (Errno::EADDRNOTAVAIL)

我只使用来自 twitter gem 的 github 页面的示例代码。 https://github.com/sferik/twitter

client = Twitter::Streaming::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY"
  config.consumer_secret     = "YOUR_CONSUMER_SECRET"
  config.access_token        = "YOUR_ACCESS_TOKEN"
  config.access_token_secret = "YOUR_ACCESS_SECRET"
end
client.sample do |object|
  puts object.text if object.is_a?(Twitter::Tweet)
end

有谁知道我为什么会收到此错误,以及如何解决此问题?

【问题讨论】:

  • 您是否添加了您的开发者令牌/密钥? :) 我只是将您的代码复制并粘贴(当然是我自己的令牌、秘密等)到我的 ruby​​ shell 中,它工作正常。
  • 是的,我有,我不认为代码有什么问题,因为它在 sublime text 2 控制台中工作。
  • 这里不适合,所以,我将我的代码添加到答案部分。

标签: ruby api twitter


【解决方案1】:
require 'twitter'
while true
config = {
            :consumer_key => CONSUMER_KEY,
            :consumer_secret => COMSUMER_SECRET,
            :access_token => ACCESS_TOKEN,
            :access_token_secret => ACCESS_TOKEN_SECRET,
        }

    sClient = Twitter::Streaming::Client.new(config)
    topics = ['edelweiss', 'rose']
    sClient.filter(:track => topics.join(',')) do |tweet|
        if tweet.is_a?(Twitter::Tweet)
          puts "#{tweet.user.screen_name}: #{tweet.text}"
        end
    end
end

运行代码

$ ruby lasswi.rb 
Suphatra_Rfc: RT @GGiftfyy: Rose Gold ในมือนั้นอิจเเรงงงง  เครื่องเก่าโยนมาทางนี้ก็ได้นะเพ่~ น้องพร้อมเสมอ?? #งานซูมต้องมา #อยากได้อ่ะอยากได้ ? http://t.…
CBullsfans: Jimmy Butler Reportedly Doesn't Respect Derrick Rose's Work Ethic http://t.co/3Ikjvvjuth #Bulls #NBA
sobinasalvez: RT @iPhoneTeam: Rose gold everything http://t.co/1DLhXokknu
magicearth_: RT @magazine_wmw: Rose-ringed parakeets in flight on their way to roost in an urban cemetery in London, England.
Photograph: Sam Hobson htt…
demoo2012: Rose, use this pic ?

@Razana96 http://t.co/uAwS9JdHyl
EndearingImages: New artwork for sale! - "Grace" - http://t.co/ugpIaxABqg @fineartamerica http://t.co/jg0e3eDNll
LoveKnitting: Great rose workshop with @NickyKnits at #TheKnittingandStitchingShow such a lovely lady! @twistedthread http://t.co/rV0Bsjg63t
camarillonican4: Brand New Sealed - Apple iPhone 6S Plus - 64GB - Rose Gold - UNLOCKED http://t.co/ygFPoN7pLO http://t.co/mqXKJmmrNz
Dekho00: RT @PAPIGFUNK: Giveaway ENDING on Sunday! Enter Now- iPhone 6S Plus - Rose Gold - Unboxing + Giveaway! https://t.co/02ONZ6D8IS #iPhone6SPlu…
souravmishra1: RT @RHIndia: "Only in art will the lion lie down with the lamb, and the rose grow without thorn." - Martin Amis​ #RandomAmis http://t.co/MT…
exol_lzw0112: RT @DOThFanclub: [Preview] 151009 ONE K Concert (cr.Like a star, Lovely Rose, Chibimori)
อันนยอง~~ http://t.co/w8vvE40dEK
BruhninhaD: Livro: Hugo & Rose da Editora Agir
Será o correto deixar a realidade para viver um sonho?http://t.co/OfxkKrzBog #books #book #livros #blog

【讨论】:

    【解决方案2】:

    这是 twitter gem 的一个已知问题,使用 GitHub 的更新版本解决了该问题。 https://github.com/sferik/twitter/issues/709

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 2019-09-30
      • 2020-12-14
      • 2021-06-06
      • 2015-03-14
      相关资源
      最近更新 更多