将结果分页

您可以使用 GoogleAdsService.Search 对检索到的结果进行分页,而不是一次下载整个结果集。如需大致了解如何使用 Google Ads API 生成报告,请参阅 报告指南

结果以页面形式返回,每页最多包含 10,000 行。如果未在请求中设置 page_size,则默认值为 10,000。如果 page_size 设置为大于 10,000 的值,则仍使用 10,000。

例如,请看以下查询:

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

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

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

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

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

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