2013-06-04 115 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给我。