ページネーションの仕組み
- 最初のリクエストでは
max_resultsを指定します - レスポンス内の
metaオブジェクトにnext_tokenが含まれているか確認します - 含まれている場合、そのトークンを
pagination_tokenとして指定して次のリクエストを送信します next_tokenが返されなくなるまで繰り返します
ページネーショントークン
| トークン | 説明 |
|---|---|
next_token | レスポンスの meta に含まれます。次のページを取得するために使用します。 |
previous_token | レスポンスの meta に含まれます。前のページに戻るために使用します。 |
pagination_token | リクエストパラメータ。next_token または previous_token の値を指定します。 |
レスポンスの構造
next_token は返されません。
ページネーションパラメータ
| パラメータ | 説明 | デフォルト値 |
|---|---|---|
max_results | 1ページあたりの結果数 | エンドポイントごとに異なる |
pagination_token | 前のレスポンスで返されたトークン | なし |
max_results の上限値を確認してください。
例: ページネーションを使ってすべての結果を取得する
- Python
- JavaScript
ベストプラクティス
max_results を活用する
API 呼び出し回数を最小化するため、許可されている最大値の
max_results を指定してください。部分ページを処理する
最後のページでは、
max_results より少ない件数しか返されない場合があります。トークンを保存する
後でページネーションを再開する必要がある場合に備えて、
next_token を保存しておいてください。ページネーションでポーリングしない
新しいデータを取得する場合は、繰り返しページネーションする代わりに
since_id を使用してください。結果の並び順
- 1ページ目の最初の結果 = 最も新しい結果
- 最後のページの最後の結果 = 最も古い結果
補足
- ページネーション用トークンは不透明な文字列です — 解析したり変更したりしないでください
- トークンは一定時間が経過すると期限切れになることがあります
max_resultsより少ない件数しか返ってこなくても、まだ結果が残っている可能性があります (next_tokenがなくなるまで続行してください)- ページネーション処理を自動化するには SDK を利用してください
次のステップ
レート制限
ページネーション時のレート制限について理解する。
SDKs
ページネーション機能が組み込まれているライブラリ。