簡體   English   中英

Ruby的Twitter REST API無法正常工作

[英]Ruby's Twitter REST api not working

我正在嘗試為twitter api使用ruby接口.Streaming Api正在工作,但Rest spi無法工作。

代碼:

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>'

由於這種解決方案,我試圖增加超時時間,但是能夠弄清楚該怎么做。 我不明白我在做什么錯,因為在進行了適當的更改后,相同的代碼正在為Streaming api工作。

我不清楚您遇到的是哪種問題,但是要設置超時時間,您可能想嘗試一下

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

我不確定這是否可以解決該錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM