約束の地

キャロ組

Twitter の REST API で max_id に nil (NULL) を指定すると空が返ってくる

結論

「ツイート検索」や「特定のユーザのタイムラインのツイート」を取得する際に、REST API では since_idmax_id の指定をすることができます。

このときメソッドの作りとして max_id にデフォルトで nil (NULL) を与えるような挙動にして、実際に nil (NULL) を与えると、戻り値は空(要素が存在しない配列)になります。

max_id を特段に指定しない場合はこいつに触れないようにしましょう。

補足

since_id に nil (NULL) を与えると BadRequest が返ってきてエラーになります。ある意味こちらの方が優しい感じはします。また、since_id は「その数より大きい」数を指定しますが、0 を指定するとやっぱり BadRequest が返ってくるので注意です。

参考

since_idmax_id にまつわる「罠」は必ず押さえておきましょう。基本的に両方の値を明示的に指定するのが無難です。片方の値を指定する場合に注意が必要です。さらに一回の取得で200件を超える場合にも注意が必要です*1

*1:ほんといろいろと大変……

Powered by はてなブログ