我正在使用YouTube Analytics API(v1-rev18-1.15.0-rc)。我尝试使用视频维度获取一些频道报告。根据API文档,它具有maxResults< = 10的限制。我将startIndex和maxResults设置为belwo,但第二个查询不返回以下代码。
第一页返回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即使这是第一个查询。我错过了什么吗?
我刚发现分页在内容所有者报告中有效,而不在频道报告中。
答案 0 :(得分: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。