Twitter gem を使用して、すべてのツイートを取得しています。しかし、最後にログインしてから未読のツイートを取得するにはどうすればよいですか?
def twitter
@twitter = Twitter.user_timeline('pallavi_shastry', :count => 10)
end
Twitter gem を使用して、すべてのツイートを取得しています。しかし、最後にログインしてから未読のツイートを取得するにはどうすればよいですか?
def twitter
@twitter = Twitter.user_timeline('pallavi_shastry', :count => 10)
end
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')