2014-01-11 58 views
1

我想使用紅寶石接口twitter api。流API是工作,但休息SPI不是。Ruby的Twitter的REST API不工作

代碼:

require 'rubygems' 
require 'twitter' 

client = Twitter::REST::Client.new do |config| 
    # you must set up an application using Twitter's developer site, and set these values: 
    # (See the Configuration example) 
    config.consumer_key  = "xxx" 
    config.consumer_secret  = "xxx" 
    config.access_token  = "xxx-xxx" 
    config.access_token_secret = "xxx" 
end 

puts client.user('xyz') 

我總是收到以下錯誤 -

Faraday::Builder is now Faraday::RackBuilder. 
/home/atul/.rvm/gems/ruby-2.1.0/gems/twitter-5.5.1/lib/twitter/rest/client.rb:143:in `rescue in request': execution expired (Twitter::Error) 
from /home/atul/.rvm/gems/ruby-2.1.0/gems/twitter-5.5.1/lib/twitter/rest/client.rb:131:in `request' 
from /home/atul/.rvm/gems/ruby-2.1.0/gems/twitter-5.5.1/lib/twitter/rest/client.rb:97:in `get' 
from /home/atul/.rvm/gems/ruby-2.1.0/gems/twitter-5.5.1/lib/twitter/rest/api/utils.rb:118:in `object_from_response' 
from /home/atul/.rvm/gems/ruby-2.1.0/gems/twitter-5.5.1/lib/twitter/rest/api/users.rb:257:in `user' 
from actresses.rb:17:in `<main>' 

我試圖增加的,因爲this解決方案的時間,但我能想出如何做到這一點。 我不明白我做了什麼錯誤,因爲相同的代碼在進行適當的更改後爲Streaming API工作。

+0

@Casey我試圖添加twitter-api標籤,但由於一些奇怪的原因,我無法。 –

+0

這太瘋狂了 - 我批准了@ jmromer的編輯,並且手動添加了[tag:twitter-api],因爲我注意到儘管他聲稱已將它添加到編輯評論中,但它並不存在。標籤必須以某種方式打破? – Casey

+1

看起來[tag:twitter-api]被設置爲[tag:twitter]的同義詞,所以它會被自動替換([see here](http://stackoverflow.com/tags/twitter/synonyms))。 – Casey

回答

0

我不是什麼樣的,你遇到的問題完全清楚,但設置你可能想嘗試

custom_options = Twitter::Default::CONNECTION_OPTIONS.merge(
          request: { open_timeout: 5, timeout: 20 }) # default timeout is 10 

client = Twitter::REST::Client.new do |config| 
    # you must set up an application using Twitter's developer site, and set these values: 
    # (See the Configuration example) 
    config.consumer_key  = "xxx" 
    config.consumer_secret  = "xxx" 
    config.access_token  = "xxx-xxx" 
    config.access_token_secret = "xxx" 
    config.connection_options = custom_options 
end 

我不知道是否會解決該錯誤的超時,雖然。

+0

@ jmromer嗨。謝謝回覆。但它不起作用。同樣的錯誤再次。我現在受夠了。我需要做的就是使用ruby來獲取twitter API並獲取一些用戶的帳戶。我需要檢查這些帳戶是否已驗證。但我甚至無法使用API​​。我使用的是Ruby 1.8.7和Rails 2.3.14(如果你需要知道的話)。我一直在嘗試這最後24小時:(我從來沒有用過紅寶石之前,我希望你明白我的挫折,並可以幫助我:) –

+0

該問題似乎是特定於1.8.7:http:// j .mp/1haYx1U 這可能是矯枉過正,但我​​會安裝rvm和最新版本的ruby。 – jkrmr

+0

我剛剛發現流媒體API工作正常。我是REST API的問題。 –