要获取 Google Ads API 实体和报告数据,您可以使用以下方法之一:
以下是这两种方法的大致区别:
GoogleAdsService.SearchStream | GoogleAdsService.Search | |
---|---|---|
适用于正式版代码 | 是 | 是 |
服务 | GoogleAdsService |
GoogleAdsService |
场景 | 提取对象和报表 | 提取对象和报表 |
响应 | GoogleAdsRow 对象的流 |
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
通常速度更快,因为这样可以避免多次往返,并且从磁盘缓存中读取数据或向其中写入数据并不是那么重要。
速率限制
这两种方法的每日上限都遵循开发者令牌的标准上限和访问权限级别。无论结果是分页还是流式显示,一个查询或报告都计为一次操作。