【问题标题】:Twitter and Recent Tweets Ruby on RailsTwitter 和最近的推文 Ruby on Rails
【发布时间】:2014-09-30 09:54:32
【问题描述】:

对 Twitter gem 感到沮丧。

在我放置的 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

我需要做什么才能获得推文列表? 谢谢。

【问题讨论】:

    标签: ruby-on-rails twitter


    【解决方案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 调用将返回 tweet 数组,您不必担心范围问题。在你的控制器中:

    class Foo 
      include TwitterApi
    
      def bar
        @tweets = get_tweets('username')
      end
    end
    

    这对我有用。希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 2014-08-14
      • 2013-08-09
      • 2016-04-03
      • 2013-05-30
      • 2011-10-05
      • 1970-01-01
      相关资源
      最近更新 更多