如何在rails app中使用twitter gem获取用户未读推文的数量

时间:2013-08-10 17:50:29

标签: ruby-on-rails ruby

我使用Twitter gem检索所有推文。但是,自从我上次登录以来,如何获取未读的推文?

 def twitter
    @twitter = Twitter.user_timeline('pallavi_shastry', :count => 10)
 end

1 个答案:

答案 0 :(得分:0)

Twitter API没有user_timeline这样的选项。但是,既然您必须存储上次登录时间,您可以存储您阅读的最后一条推文ID,然后获取ID高于此值的所有推文。

def twitter(username, last_tweet_id = nil)
  # this will display the latest 10 tweets if you
  # have never read the user's timeline before
  opts = last_tweet_id ? { :since_id => last_tweet_id } : { :count => 10 }

  Twitter.user_timeline(username, opts)
end

然后你可以这样使用这个方法:

# will get all tweets newer than 365677293978398720
@twitter = twitter('pallavi_shastry', 365677293978398720)

# will get 10 latest tweets
@twitter = twitter('pallavi_shastry')