2014-01-11 3 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]의 동의어로 설정되어 있으므로 자동으로 대체됩니다 ([여기] (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 안녕하세요. 답장을 보내 주셔서 감사합니다. 그러나 그것은 효과가 없습니다. 다시 같은 오류. 나는 이제 질려 버렸다. 내가해야 할 일은 트위터 API에 루비를 사용하고 일부 사용자의 계정을 얻는 것이다. 이 계좌가 확인되었는지 아닌지 확인해야합니다. 하지만 API를 사용할 수 없습니다. 나는 루비 1.8.7과 레일즈 2.3.14를 사용하고있다. 지난 24 시간 동안이 작업을 시도해 보았습니다. (나는 루비를 사용 해 본 적이 한번도 없었습니다.) –

+0

이 문제는 1.8.7과 관련이 있습니다. http : // j .mp/1haYx1U 당신의 경우에는 과잉 일 수도 있지만, rvm과 최신 버전의 루비를 설치합니다. – jkrmr

+0

방금 ​​API 스트리밍이 제대로 작동하고 있음을 알았습니다. 나는 REST API에 문제가있다. –

관련 문제