Ruby Twitter API出错

use*_*354 10 ruby twitter

我使用'twitter'宝石的Ruby脚本出错了.我的脚本中产生错误的部分是

require 'twitter'
require 'net/http'
require 'json'

#### Get your twitter keys & secrets:
#### https://dev.twitter.com/docs/auth/tokens-devtwittercom
Twitter.configure do |config|
  config.consumer_key = 'xxxxxxx'
  config.consumer_secret = 'xxxxxxx'
  config.oauth_token = 'xxxxxx'
  config.oauth_token_secret = 'xxxxxxx'
end
Run Code Online (Sandbox Code Playgroud)

错误说undefined method 'configure' for Twitter:Module (NoMethodError) 然而'twitter'和'json'宝石都在我的gemfile中,所以我不确定为什么这个方法是未定义的.

Nob*_*ita 17

你这样做是"老"的方式.从版本5开始,全局配置不再可用.所以,基本上你需要在初始化客户端时传递配置参数.

例如:

client = Twitter::REST::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
Run Code Online (Sandbox Code Playgroud)

然后只需使用该客户端进行查询,例如:

client.sample do |tweet|
  puts tweet.text
end
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请参阅Sferik的推特宝石

  • 如果我想获得最新的4条推文列表,我该怎么做?我无法访问任何控制器中的客户端,因为'client'给我一个NameError - 这个文档令我感到沮丧.它们不显示任何控制器代码...... (3认同)