使用Ruby,REST获取对twitter API的请求

时间:2012-07-22 10:27:31

标签: ruby json api rest twitter

我尝试使用Twitter API在Ruby中学习REST。

根据https://dev.twitter.com/docs/api/1/get/trends,我必须向http://api.twitter.com/1/trends.json写下GET请求。

我的Ruby代码是:

 require 'rubygems'
 require 'rest-client'
 require 'json'

 url = 'http://api.twitter.com/1/trends.json'
 response = RestClient.get(url)

 puts response.body

但是我有下一个错误:

/home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient  /abstract_response.rb:48:in `return!': 404 Resource Not Found (RestClient::ResourceNotFound)

from /home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:230:in `process_result'

from /home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:178:in `block in transmit'


from /home/danik/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:745:in `start'

from /home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in `transmit'

from /home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in `execute'

from /home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'

from /home/danik/.rvm/gems/ruby-1.9.3-p194/gems/rest-client-1.6.7/lib/restclient.rb:68:in `get'

from TwitterTrends.rb:5:in `<main>'

有什么问题?

1 个答案:

答案 0 :(得分:0)

您收到该错误,因为您尝试使用http://api.twitter.com/1/trends.json抓取的资源不存在,如此文档中所述trends docs

  

此方法已弃用,已被GET趋势/:woeid取代。   请使用新端点更新您的应用程序。

您想要获取此https://api.twitter.com/1/trends/1.json之类的网址。所以,在你的代码中,尝试这样做:

 require 'rubygems'
 require 'rest-client'
 require 'json'

 url = 'https://api.twitter.com/1/trends/1.json'
 response = RestClient.get(url)

 puts response.body

你应该得到答复。