JavaScriptをがんばるブログ

React,OSS,ソフトウェア開発が中心のブログです👨‍💻

日記: twtterのuser_timeline apiに日付フィルターを実装して欲しい

twitter apiを使ってアプリを作っているのですが、
日付絞り込みでハマった...

やりたいこと
日付指定で特定ユーザーのタイムラインをリツイート込みで取得したい

@hogeさんの2015-09-19日分のつぶやき全部下さい、という事をしたかったのです。

GET search/tweetsを使うと日付を指定して特定のユーザーのつぶやきを取得出来るが、
あくまでそのユーザーが投稿したつぶやきが取得されるため、リツイートは含まれない。
かなり検索クエリの指定方法を調べたが、このapi単体では

  • 特定のユーザーがリツイートした投稿を取得する

という条件を指定する方法を見つける事は出来なかった。

仕方なく指定ユーザーのタイムラインを取得するGET statuses/user_timeline(これはリツートやリプライも一緒に取れる)を使う事にしたけど、
取得範囲に日付を指定出来ない。

since_idというツイート毎にユニークなIDを使って「このID以降」という指定は出来るが、
日付指定(9/19以降とか)を実現する場合上からタイムラインをガバッと(一度に200件まで取れる)取得して、
各ツイートのcreat_atから目的の日付最初のツイートを見つけ出し、since_idを抽出しなければならない。

今日使ったapi2つ、どちらも自分のニーズにあと一歩届かないという感じでとても歯がゆかった...

こういう目に遭うと綺麗にやれる方法を求めて時間を潰してしまうのが痛い\(>o<)ノ

atom

symfony

twitter api

linux