web-dev-qa-db-ja.com

Twitter APIにおける「since_id」と「max_id」の正確な意味

私はしばらくの間、Twitterのドキュメントを熟読しており、一定期間のフォロワーの成長/一定期間のツイートの数の統計を取得する方法を壁にぶつけてきました...

コミュニティから何を理解したいのですかsince_idおよびmax_idおよびcountは、Twitter APIを意味します。

私はこのページをフォローしてきました https://developer.Twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline

ユーザーの統計情報を取得しようとしています-

  • 特定の期間におけるツイートの数
  • 特定の期間のフォロワー数
  • リツイート数

上記のクエリ文字列を作成するためのヘルプをお願いします。

ありがとう。

31

since_idとmax_idはどちらも非常に単純なパラメーターであり、APIから返されるものを制限するために使用できます。 the docs から:

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

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

countはさらにシンプルです。取得したいツイートの最大数を200まで指定します。

残念ながら、APIは希望どおりの結果を返しません。user_timelineをクエリするときに日付/時刻を指定することはできません。ただし、検索APIを使用するときに指定できます。とにかく、user_timelineを使用する必要がある場合は、APIをポーリングし、つぶやきを収集し、それらが目的のパラメーターと一致するかどうかを調べて、それに応じて統計を計算する必要があります。

32
muffinista

Max_id =ツイートのトップIDリスト。 since_id =ツイートIDリストの最後。

詳細:最後の図を詳しく見てみましょう.. ここ

13
aliassiri

Max_idおよびsince_idは、Twitter API呼び出しの場合の冗長性を防ぐために使用されます。スタックに積み重なるように、入ってくるツイートを視覚化します。 1つのAPI呼び出しで、処理されるツイートの数(カウント)を指定する必要があります。ただし、この呼び出しが行われると、新しいツイートが追加される場合があります。その場合、スタックを引き出してプロセスを実行すると、処理されたツイートの間に「フラグメンテーション」または未処理のツイートのセクションが詰まっていることがわかります。これは下の画像にも表示されています。

enter image description here

この問題を回避するには、2つのパラメーターを使用して、以前に処理された最新/最大のIDツイート(since_id)と最近処理された最も古い/最も低いIDツイート(max_id)を追跡します。 since_idは「フラグメント」の下部を指し、(max_id-1)は「フラグメント」の上部を指します。 (max_idはsince_idとは異なり包括的であることに注意してください)したがって、パラメーターは一緒になって、ツイートスタックのどの部分をまだ処理する必要があるかを追跡します。

1
narcissus789