如需检索 Google Ads API 实体和报告数据,请使用以下方法之一:
以下是这两种方法的主要区别:
| GoogleAdsService.SearchStream | GoogleAdsService.Search | |
|---|---|---|
| 适用于生产代码 | 是 | 是 |
| 服务 | GoogleAdsService |
GoogleAdsService |
| 场景 | 提取对象和报告 | 提取对象和报告 |
| 响应 | 流 of GoogleAdsRow objects |
GoogleAdsRow 对象的页面 |
| 响应的字段 | 仅查询中指定的字段 | 仅查询中指定的字段 |
| 每日限额 | 基于访问权限级别的每日限额 | 基于访问权限级别的每日限额 |
SearchStream 与 Search 的比较
虽然 Search 可以发送多个
分页请求来下载整个报告,但 SearchStream 会发送单个请求并
与 Google Ads API 建立持久连接,而无论报告大小如何。
对于 SearchStream,数据包会立即开始下载,整个结果会缓存在数据缓冲区中。您的代码可以开始读取缓冲的数据,而无需等待整个流完成。
通过消除请求每个单独
页面所需的往返网络时间,具体取决于您的应用,SearchStream可以提供比分页更好的性能,尤其是在处理较大报告时。Search
示例
此示例查看包含 100,000 行的报告。下表详细列出了这两种方法之间的会计差异。
| SearchStream | Search | |
|---|---|---|
| 页面大小 | 不适用 | 每页 10,000 行 |
| API 请求数 | 1 个请求 | 10 个请求 |
| API 响应数 | 1 个连续流 | 10 个响应 |
性能因素
对于大多数使用场景,我们建议使用 SearchStream 而不是 Search,原因如下
:
对于单页报告(少于 10,000 行):这两种方法之间没有明显的性能差异。
对于多页报告:
SearchStream通常更快,因为避免了多次往返,并且从磁盘缓存读取或写入的因素较小。
速率限制
这两种方法的每日限额均遵循开发者令牌的标准限额和访问 权限级别。无论结果是分页还是流式传输,单个查询或报告都算作一次操作。