使用 Google Ads API 检索实体和报告数据有三种方法。
本指南主要重点介绍来自 GoogleAdsService
的流式数据。以下是三种数据检索方法的简要区别:
GoogleAdsService.SearchStream | GoogleAdsService.Search | GET 请求 | |
---|---|---|---|
适用于生产代码 | 是 | 是 | 否(仅用于调试) |
服务 | GoogleAdsService |
GoogleAdsService |
特定于资源的服务(例如 CampaignService ) |
场景 | 正在提取对象和报告 | 正在提取对象和报告 | 正在提取对象 |
响应 | GoogleAdsRow 对象的信息流 |
GoogleAdsRow 个对象的页面 |
一个对象(例如 Campaign ) |
响应的字段 | 仅限查询中指定的条件 | 仅限查询中指定的条件 | 已填充所有字段 |
每日上限 | 基于访问权限级别的每日限制 | 基于访问权限级别的每日限制 | 每天 1000 个请求 |
SearchStream 与搜索
虽然 Search
可以发送多个分页请求来下载整个报告,但 SearchStream
只会发送单个请求,并会发起与 Google Ads API 的持久连接(无论报告大小如何)。
对于 SearchStream
,数据包会立即开始下载,并将整个结果缓存在数据缓冲区中。您的代码可以开始读取已缓冲的数据,而无需等待整个数据流完成。
通过消除请求 Search
响应的每个页面所需的往返网络时间,具体取决于您的应用,SearchStream
可以提升相较于分页的性能,尤其是对于较大的报告。
示例
例如,查看包含 100,000
行的报告。下表详细说明了这两种方法在统计方面的差异。
SearchStream | 搜索 | |
---|---|---|
页面大小 | 不适用 | 每页 10,000 行 |
API 请求数 | 1 个请求 | 10 个请求 |
API 响应数量 | 1 个连续的数据流 | 10 个回复 |
性能因素
一般来说,我们推荐使用 SearchStream
而不是 Search
,原因如下。
对于单页报告(少于 10,000 行):这两种方法之间没有明显的性能差异。
对于多页报告:由于可以避免多次往返,并且从磁盘缓存中读取/写入的内容不太重要,因此
SearchStream
通常速度更快。
速率限制
这两种方法的每日上限都遵循开发者令牌的标准限制和访问权限级别。无论结果是分页还是流式传输,一次查询或报告均计为一次操作。