ページネーションとは、大量のリソースデータを複数ページに分割して取得する方法です。
主にリソースのリストを取得する API で利用されます。
LINE WORKS API では、カーソル型のページネーションを採用しています。
カーソル Cursor は次のページの最初のレコードを示すポインタとなり、次のページのリクエストに必要な情報が含まれます。
参考
- 一部のリスト取得 API では、ページネーションは提供されません。
オフセット Offset 型では、リクエストのたびに指定された Offset の数だけレコードがスキップされるため、レコードの挿入や削除により、一貫性の無いリストが取得される可能性があります。
カーソル型のページネーションでは、次に取得するレコード nextCursor と取得するレコード数をパラメータに設定するため、オフセット型ページネーションの問題を解消し、簡単かつ柔軟の高いページネーションを提供します。
リソースリスト取得 API の Response Body に次のカーソル値 (responseMetaData.nextCursor) が返されます。
HTTP/1.1 200 OK{ "calendars": [ { ..... }, { ..... } ], "responseMetaData": { "nextCursor": "kBhFZjtIFJKDiX1rE78vAg==" }}| プロパティ | 説明 |
|---|---|
| responseMetaData | メータデータ |
| responseMetaData.nextCursor | 次のレコード取得に利用するカーソル値 |
次のページは、Query パラメータでカーソル値 (cursor) に nextCursor 値を指定して、リソースリスト取得 API をリクエストすると取得できます。
最終ページに移動し次のページが存在しない場合には、nextCursor 値が返されません。
注意
- nextCursor は、URL エンコードした上で Query パラメータとして指定します。
リソースリスト取得 API を呼び出す際に、取得するレコード数 (count) を指定できます。
各 API の取得可能な最大レコード数 (maxCount) を超過して指定することはできません。
取得するレコード数 (count) を指定しない場合には、既定値で取得されます。