举报直播

使用 Google Ads API 检索实体和报告数据有三种方法。

本指南主要重点介绍来自 GoogleAdsService 的流式数据。以下是三种数据检索方法的简要区别:

GoogleAdsService.SearchStream GoogleAdsService.Search GET 请求
适用于生产代码 (仅用于调试)
服务 GoogleAdsService GoogleAdsService 特定于资源的服务(例如 CampaignService
场景 正在提取对象和报告 正在提取对象和报告 正在提取对象
响应 GoogleAdsRow 对象的信息流 GoogleAdsRow 个对象的页面 一个对象(例如 Campaign
响应的字段 仅限查询中指定的条件 仅限查询中指定的条件 已填充所有字段
每日上限 基于访问权限级别的每日限制 基于访问权限级别的每日限制 每天 1000 个请求

虽然 Search 可以发送多个分页请求来下载整个报告,但 SearchStream 只会发送单个请求,并会发起与 Google Ads API 的持久连接(无论报告大小如何)。

对于 SearchStream,数据包会立即开始下载,并将整个结果缓存在数据缓冲区中。您的代码可以开始读取已缓冲的数据,而无需等待整个数据流完成。

通过消除请求 Search 响应的每个页面所需的往返网络时间,具体取决于您的应用,SearchStream 可以提升相较于分页的性能,尤其是对于较大的报告。

示例

例如,查看包含 100,000 行的报告。下表详细说明了这两种方法在统计方面的差异。

SearchStream 搜索
页面大小 不适用 每页 10,000 行
API 请求数 1 个请求 10 个请求
API 响应数量 1 个连续的数据流 10 个回复

性能因素

一般来说,我们推荐使用 SearchStream 而不是 Search,原因如下。

  • 对于单页报告(少于 10,000 行):这两种方法之间没有明显的性能差异。

  • 对于多页报告:由于可以避免多次往返,并且从磁盘缓存中读取/写入的内容不太重要,因此 SearchStream 通常速度更快。

速率限制

这两种方法的每日上限都遵循开发者令牌的标准限制和访问权限级别。无论结果是分页还是流式传输,一次查询或报告均计为一次操作。