Open5
Twitter API v2に軽く触ってみる
新しくて重要そうなパラメータとして
fields
expansions
がある。
-
fileds
でそのエンドポイントで取得するデータの必要な部分を指定する。- 例えばユーザであれば
fileds=created_at,description,profile_image_url
- 例えばユーザであれば
-
expansions
は、idのような参照用のデータしか含まれていないものの実体もデータとして返して欲しい場合に指定する- 例えばツイートに対して
fields
としてauthor_id
を指定しているときには、expansions=author_id
するとレスポンスにそのユーザの情報も入れてくれるようになる
- 例えばツイートに対して
主要なデータは data
に入ってくる。
{
"data": ...
}
expansions
で指定したものは、 data
にそのまま埋め込まれるのではなく、includes
にフラットになって入ってくる。
{
"data": ...,
"includes": {
"users": [...],
"tweets": [...]
}
}
名称が微妙に変わっている部分もある、 screen_name
→ username
複数の結果を取得するエンドポイントでは、meta
にidの最大値、最小値が入ってくる(ページネーションで使える) 。
{
"data": [...],
"meta": {
"newest_id": "",
"oldest_id": "",
"result_count": 10,
"next_token": ""
}
}
newest_id
, oldest_id
には expansion
で埋め込まれたものも計算に含まれているっぽい。
なので、これを次の取得するためのパラメータ since_id
等として使うと意図した結果にならない場合があることに注意。
- たとえば
referenced_tweets
にかなり新しいものが含まれていた場合等
next_token
を使う場合には気にしなくてよさそうなので、基本は next_token
を使った方が良さそう。
ただ next_token
には寿命がありそう?で、時間をおいて定期実行したい時でも使えるのかよくわからない。