0

我正在使用 YouTube 分析 API (v1-rev18-1.15.0-rc)。我尝试使用视频维度获取一些频道报告。根据 API 文档,它有一个 maxResults <= 10 的限制。我将 startIndex 和 maxResults 设置为 belwo,但是对于以下代码,第二个查询没有返回任何内容。

第一页返回 10 行。

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

使用同一个查询对象,第二页什么也不返回(resultTable.Rows 为空)

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

我尝试每次创建一个新的查询对象或将 maxResults 设置为较小的数字,例如 3,它没有工作。在我测试的查询中,即使对于没有 maxResults 限制的维度(例如 day 维度),当 startIndex > 1 时它也会返回空行,即使它是第一个查询。我错过了什么吗?

我刚刚发现分页在内容所有者报告中有效,而不是在频道报告中。

4

1 回答 1

2

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) 这对我来说似乎是一个错误。

于 2013-06-05T22:05:01.270 回答