2011-06-20 30 views
24

私はずっとTwitterのドキュメントを熟考してきましたが、私はある期間にわたってフォロワーの成長に関する統計を取得する方法を壁に打ちました一定時間のつぶやき数/時間数...Twitter APIの 'since_id'と 'max_id'はどういう意味ですか

Twitter APIには、since_idmax_idcountという意味があります。特定の期間におけるつぶやきの

リツイートの特定の期間

  • 数上記のためのクエリ文字列を形成する。..

    おかげで..

  • 答えて

    27

    since_idとmax_idは両方とも、あなたが戻ってAPIから取得する内容を制限するために使用することができ、非常に簡単なパラメータです。 the docsから:

    since_id - より大きい IDと戻り値の結果、指定されたID(それよりも、より最近の です)。 APIを介して にアクセスできるツイートの数には、 の制限があります。 since_idよりTweetsの制限が発生した場合、since_idは になり、最も古いIDが使用可能になります。 max_id - 指定したIDと等しいID (つまり、より古い)または の結果を返します。

    したがって、特定のツイートIDをお持ちの場合は、これらの2つのパラメータを使用して、古いツイートまたは新しいツイートを検索することができます。

    countはさらに簡単です - それはあなたが戻って取得したいツイートの最大数を指定し、最大200

    残念ながらAPIが正確に何をしたいあなたに戻って与えることはありません - あなたは、日付を指定することはできません/時間クエリuser_timeline - 検索APIを使用するときに指定することができます。とにかく、あなたがuser_timelineを使う必要があれば、あなたはAPIをポーリングし、つぶやきを集め、あなたが望むパラメータと一致するかどうかを調べ、それに応じて統計を計算する必要があります。

    +0

    この回答に感謝します。 'user_timeline'クエリに対応する' since_id'に日付を変換したいのであれば、 'search' API関数を使用して、指定された日付に使用する正しいIDを最初に決めることをお勧めしますか? – cboettig

    +0

    それは確かにそれを行う一つの方法です、私はそれをオフハンドにする別の方法を考えることができません。 – muffinista

    +0

    @muffinista:max_idの可能な限り最も古い値に到達したかどうかを知る方法?私はカウント= 100を設定し、その後、毎回つぶやきを取得し、最後に受信したツイートの最後のIDにmax_idを設定しているとします。このシナリオでは、私が限界に達した時をどのように知ることができますか? – user1599964

    10

    max_id =ツイートのIDリストの先頭です。 since_id =ツイートのIDリストの一番下にあります。

    詳細:最後の図で深く見てください。here

    +0

    infographicsの場合+1 – antongorodezkiy

    +0

    いつ最新のデータを取得するためにsince_id値を更新する必要がありますか? – Petar

    +0

    @ pe60t0ここには2つのケースがあると思います。最初のケースは、最後に実行されたリクエストがデータを返さない場合です。これは、検索クエリのタイムラインの先頭(「ボトム」)に達したことを意味します。 2番目のケースは、サービス/アプリケーションのロジックによって大きく異なります。a)全体の検索の深さを日付で制限することができます。またはb)新しいツイートの出現にすばやく反応する必要がある場合は、何らかのタイマーに基づいて最初から検索を開始できます(たとえば、クエリのsince_idを5分ごとに新しい値にリセットします)。 –

    関連する問題