程序
要處理數據分頁,您將按照以下步驟操作:
- 獲取結果集中記錄總數。
- 計算結果集的頁數。
- 循環並調用CMS API對於每一頁數據。
獲取記錄數
首先,您需要知道結果集中的視頻總數。結果集中的響應會根據您的搜索條件而有所不同。使用counts
資源以返回結果集中記錄的總數。
範例:獲取您帳戶中視頻的總數:
https://cms.api.brightcove.com/v1/accounts/921483702001/counts/videos
回應:
{
"count" : 74
}
您還可以使用可選的來限制計數q
範圍。有關使用帶有此參數的搜索條件的詳細信息,請參閱使用內容管理系統 API:搜索影片文檔。
範例:在這裡,我們得到標籤值為的視頻數量野生動物 .
https://cms.api.brightcove.com/v1/accounts/921483702001/counts/videos?q=tags:wildlife
回應:
{
"count" : 6
}
計算頁面
要計算頁數,請取結果集中的記錄總數,然後將其除以每頁的記錄數(頁面大小)。
您可以設置固定的頁面大小,或者如果要在網頁上顯示視頻數據,則可以讓用戶動態設置頁面大小(即,每頁視頻數據對象的數量)。
JavaScript示例:
var numberOfPages = Math.ceil(jsonData.count / pageSize);
檢索頁面
遍歷您在上一步中計算的頁數並調用CMS API與limit
和offset
檢索連續數據子集的參數。
本示例從結果集中的第21個視頻開始返回10個視頻。
https://cms.api.brightcove.com/v1/accounts/921483702001/videos?limit=10&offset=20
您還可以包括可選的q
範圍。有關使用帶有此參數的搜索條件的詳細信息,請參閱使用內容管理系統 API:搜索影片文檔。
此請求從視頻結果集中的第 5 個視頻開始返回 2 個視頻,標籤值為野生動物 .
https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=tags:wildlife&limit=2&offset=4
已知問題
- 重複結果:在某些情況下,搜索結果中的某些項目可能會出現不止一次。
解決方法:為防止重複搜索結果,請始終使用
sort
搜索請求中的參數。