【问题标题】:Error with Ruby Twitter APIRuby Twitter API 出错
【发布时间】:2013-12-13 09:42:19
【问题描述】:

我在使用“twitter”gem 的 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

错误提示undefined method 'configure' for Twitter:Module (NoMethodError) 但是 'twitter' 和 'json' gems 都在我的 gemfile 中,所以我不确定为什么这个方法是未定义的。

【问题讨论】:

  • 您使用的是什么版本的 gem?它在文档中声明配置是通过 Twitter::REST::Client.new 方法完成的
  • 在我的 Gemfile.lock 文件中显示“twitter (5.0.0)”
  • 从这里关注文档:github.com/sferik/twitter

标签: ruby twitter


【解决方案1】:

您正在以“旧”方式进行操作。从版本 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

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

client.sample do |tweet|
  puts tweet.text
end

更多信息请参考Sferik's Twitter Gem

【讨论】:

  • 如果我想获得最近 4 条推文的列表,我该怎么做?我无法在任何控制器中访问客户端,因为“客户端”给我带来了 NameError——这个文档让我感到沮丧。它们不显示任何控制器代码...
猜你喜欢
  • 2014-12-27
  • 2013-08-20
  • 2011-04-02
  • 2012-07-19
  • 2010-12-25
  • 1970-01-01
  • 2016-02-15
  • 2020-07-09
  • 2014-02-26
相关资源
最近更新 更多