对于特定用户,是否有一个API来计算今天凌晨0:00以来的推文数量?我尝试过以下Javascript,但我能得到的最接近的是该用户所有时间的推文总数。
$.getJSON("http://api.twitter.com/1/statuses/user_timeline/BarackObama.json?count=1&include_rts=1&callback=?", function(data) {
$("#twitter").html(data[0].user.statuses_count);
});
答案 0 :(得分:1)
您可以下载用户时间线,直到您收到“昨天”(即早上0:00之前)发布的推文。一旦你得到它,你只需要计算“今天”(即早上0点之后)发布的推文。
编辑1 :用于获取它的伪JavaScript代码
var howManyTweetsWerePostedToday = function () {
var timeline = downloadTimeline()
var lastTweet = timeline[timeline.length-1]
var now = new Date()
var today = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDay(), 0, 0, 0, 0) // Limit between today and yesterday
var lastTweetDate = new Date(lastTweet["created_at"])
while (lastTweetDate.getTime() >= today.getTime()) {
var lastTweetID = lastTweet["id_str"]
var earlierTweetsTimeline = downloadTimeline(max_id = lastTweetID)
timeline = timeline.concat(earlierTweetsTimeline.shift())
lastTweet = timeline[timeline.length-1]
lastTweetDate = new Date(lastTweet["created_at"])
}
return getNumberOfTweetsThatWerePostedTodayInTheTimeline(timeline)
}();
使用downloadTimeline()
函数调用GET statuses/user_timeline
Twitter API端点来获取时间轴。有关端点的详细信息,请参阅https://dev.twitter.com/docs/api/1/get/statuses/user_timeline,尤其是max_id
,这是结果中最高的推文ID。
created_at
是发布推文的日期。 id_str
是String表单下的推文ID。有关推文的详细信息,请参阅https://dev.twitter.com/docs/platform-objects/tweets。