2014-09-29 66 views
1

对Twitter的宝石感到沮丧。Twitter和最近的推文Ruby on Rails

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

现在我想要访问的tweet从这些凭据所属的帐户开始。我想在应用程序控制器中执行如下操作:

@tweets = client.tweets 

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

@tweets = Twitter.user_timeline('user_name') 

但我想这已被删除。请不要告诉我看看sferiks文档,因为我已经看过,对我来说,作为客户端是没有意义的。(任何事情)都会导致NameError

我必须做什么获取推文列表? 谢谢。

回答

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 

这对我有效。我希望它有帮助。