ページ割り
ページ割り
検索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
})