对结果进行分页

GoogleAdsService.Search 支持按 1 万行固定页面大小分页。查询的结果集会拆分为多个响应,每个响应包含 1 万个对象。

例如,对于以下查询:

SELECT
  ad_group.id,
  ad_group_criterion.type,
  ad_group_criterion.criterion_id,
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORD

如果您的账号包含 5 万个关键字,则结果集中包含的将是第一个响应中的 1 万个 GoogleAdsRow 对象,外加一个 next_page_token

如需检索下一批 10,000 行,请再次发送请求,但将请求的 page_token 更新为响应的 next_page_token。请注意,包含最后一批行的响应中不会填充 next_page_token

我们的客户端库会自动处理分页。您只需遍历响应的行即可。在返回当前页面中的所有行后,客户端库会代表您自动获取新的行页面,直到检索了整个数据集为止。如果使用 REST 取代 gRPC,那么您必须对每个新的页面明确地发出请求。

Google Ads API 会在内部缓存整个数据集,因此后续请求的速度会比第一个请求快。

您的查询必须在后续请求中完全保持不变,才能利用缓存的数据;这些请求不会对您的配额产生影响,对于基本访问权限而言,尤其如此。如果查询发生变化,并且是与相同的页面令牌一起发送的,则会返回错误。