ページネーション
ページネーション
検索APIでは、offsetクエリパラメータとlimitクエリパラメータを使用したオフセットベースのページネーションがサポートされます。マーカーベースのページネーションはサポートされません。
APIによるページネーション
検索結果の最初のページを取得するには、APIをoffsetパラメータを指定せずに呼び出すか、offsetを0に設定して呼び出す必要があります。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値がレスポンスオブジェクト内の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);
.NET
BoxCollection<BoxItem> page1 = await client.SearchManager
.QueryAsync("sales", limit: 50);
BoxCollection<BoxItem> page2 = await client.SearchManager
.QueryAsync("sales", limit: 50, offset: 50);
Python
page1 = client.search().query(query='sales', limit=50)
page2 = client.search().query(query='sales', limit=50, offset=50)
Node
const page1 = await client.search.query('sales', {
limit: 50
})
const page2 = await client.search.query('sales'. {
limit: 50,
offset: 50
})