Twitter和最新推文Ruby on Rails

时间:2014-09-29 23:52:57

标签: ruby-on-rails twitter

对Twitter宝石感到沮丧。

在我放置的gemfile中

gem 'twitter'

我创建了一个初始化器,twitter_credentials.rb文件,其中我放置了以下代码:

client = Twitter::REST::Client.new do |config|
  config.consumer_key = 'foo'
  config.consumer_secret = 'bar'
  config.access_token = 'foo'
  config.access_token_secret = 'bar'
end

现在我正在尝试从这些凭据所属的帐户访问推文。我想在应用程序控制器中做一些事情,如:

@tweets = client.tweets

但上面的客户端导致名称错误。如何访问用户的推文?它曾经是

@tweets = Twitter.user_timeline('user_name')

但我想已经删除了。请不要告诉我查看sferiks文档,因为我已经查看了它并且对我来说没有意义,因为客户端。(任何事情)都会导致NameError

我需要做些什么来获取推文列表? 感谢。

1 个答案:

答案 0 :(得分:1)

几个月前我遇到过类似的问题。我相信你有一个范围问题。我拨打电话,在我创建客户端的模块中获取推文。

module TwitterApi

  def get_tweets(twittername)
    client = Twitter::REST::Client.new do |config|
      config.consumer_key        = ENV['CONSUMER_KEY']
      config.consumer_secret     = ENV['CONSUMER_SECRET']
      config.access_token        = ENV['ACCESS_TOKEN']
      config.access_token_secret = ENV['ACCESS_TOKEN_SECRET']
    end

    tweets = client.user_timeline(twittername)
  end
end

这样您的Twitter调用将返回推文数组,您不必担心范围问题。在你的控制器中:

class Foo 
  include TwitterApi

  def bar
    @tweets = get_tweets('username')
  end
end

这对我有用。我希望它有所帮助。