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