0

特定のユーザーの午前 0 時以降のツイート数をカウントする API はありますか? 次の 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);
});
4

1 に答える 1

1

「昨日」(つまり午前 0 時より前) に投稿されたツイートを取得するまで、ユーザーのタイムラインをダウンロードできます。取得したら、「今日」(つまり、午前 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)
}();

Twitter API エンドポイントを呼び出してタイムラインを取得するdownloadTimeline()関数です。エンドポイントの詳細については、https://dev.twitter.com/docs/api/1/get/statuses/user_timelineGET statuses/user_timelineを参照してください。特に結果に含まれる最大のツイート ID です。max_id

created_atツイートが投稿された日付です。id_strString フォームのツイートの ID です。ツイートの詳細については、https://dev.twitter.com/docs/platform-objects/tweetsを参照してください。

于 2012-11-17T02:40:17.133 に答える