Box Developerドキュメント

ページ割り

ガイド 検索 ページ割り

ページ割り

検索APIでは、offsetクエリパラメータとlimitクエリパラメータを使用したオフセットベースのページ割りがサポートされます。マーカーベースのページ割りはサポートされません。

APIによるページ割り

検索結果の最初のページを取得するには、APIをoffsetパラメータを指定せずに呼び出すか、offset0に設定して呼び出す必要があります。limitフィールドは省略可能です。

curl https://api.box.com/2.0/search?query=sales&offset=0&limit=100 \
    -H "authorization: Bearer ACCESS_TOKEN"

エントリの次のページを取得するには、以前のoffset値と以前の結果で返された制限の合計 (previous_offset + previous_limit) と等しいoffsetパラメータを指定して、APIを呼び出す必要があります。

curl https://api.box.com/2.0/search?query=sales&offset=100&limit=100 \
    -H "authorization: Bearer ACCESS_TOKEN"

offsetは、レスポンス配列内のエントリのサイズではなく、以前のlimit分だけ加算されますので注意してください。これは制限を下回る可能性があるためです。一般的には、レスポンスオブジェクトのlimitの値を使用してoffset値を加算することをお勧めします。

次のoffset値がレスポンスオブジェクト内のtotal_count値を超えている場合、項目の最終ページはリクエスト済みです。この時点では、これ以上取得する項目がありません。

オフセットベースのページ割りの詳細を確認する

SDKによるページ割り

Boxの各SDKには、APIによるページ割りのサポートが組み込まれています。以下のコードサンプルでは、検索APIでのページ割りの使用方法を示します。

Java
long offsetValue = 0;
long limitValue = 50;

BoxSearch boxSearch = new BoxSearch(api);
BoxSearchParameters searchParams = new BoxSearchParameters();
searchParams.setQuery("sales");

PartialCollection<BoxItem.Info> page1 = boxSearch.searchRange(offsetValue, limitValue, searchParams);

offsetValue += 50;
PartialCollection<BoxItem.Info> page2 = boxSearch.searchRange(offsetValue, limitValue, searchParams);