2013-06-04 60 views
0

我使用的是YouTube分析API(v1-rev18-1.15.0-rc)。我試圖使用視頻維度獲取一些頻道報告。根據API文檔,它具有maxResults的限制< = 10.我將startIndex和maxResults設置爲belwo,但第二個查詢對於下面的代碼不返回任何內容。Youtube Analytics API分頁

第一頁返回10行。

query.setMaxResults(10); 
query.setStartIndex(1); 

使用相同的查詢對象,第二頁沒有返回值(resultTable.Rows爲null)

query.setStartIndex(11); 
result = query.execute(); 
result.getRows() == null; // true 

我想每次都創建一個新的查詢對象或設置的maxResults一個較小的數字如3,它沒有工作。在我測試的查詢中,即使對於沒有maxResults限制的維度(如日期維度),當startIndex> 1時,即使它是第一個查詢,也會返回空行。我錯過了什麼嗎?

我剛剛發現分頁工作在內容所有者報告中,而不是在頻道報告中。

回答

1

maxResults < = 10的限制僅適用於某些排序順序,如視圖和監視時間。在對任何維度進行排序時,如天或國家,結果的最大數量要高得多。

但似乎的maxResults實際上是一個endIndex的,當我嘗試一下:

startIndex=1 maxResults=10 -> result: 1..10 
startIndex=2 maxResults=10 -> result: 3..11 
startIndex=5 maxResults=10 -> result: 9..14 
startIndex=10 maxResults=10 -> result: 19 
startIndex=11 maxResults=10 -> result: none 
startIndex=1 maxResults=20 -> result: 1..20 
startIndex=10 maxResults=20 -> result: 19..29 
startIndex=20 maxResults=20 -> result: 39 
startIndex=21 maxResults=20 -> result: none 

的startIndex似乎也使用公式(=的startIndex * 2 - 1)這看起來像一個bug給我。