GoogleAdsService 是 Google Ads API 的统一对象检索和报告服务。该服务具有以下方法:
- 检索对象的特定属性。
- 根据日期范围检索对象的效果指标。
- 根据对象的属性对对象进行排序。
- 使用条件指示要在响应中返回的对象。
- 限制返回的对象数量。
GoogleAdsService 可以通过两种方式返回结果:
GoogleAdsService.SearchStream以单个流式响应返回所有行,对于大型(超过 10,000 行)结果集来说,这种方式更高效。如果您的批处理应用希望尽可能快速地下载尽可能多的数据,那么这种方法可能更适合。GoogleAdsService.Search将较多的响应分为多个易于管理的结果页面。如果您的互动式应用一次显示一页结果,那么这种方法可能更适合。
详细了解分页与流式传输。
发出请求
搜索方法需要 SearchGoogleAdsRequest,其中包含以下属性:
customer_id- Google Ads 查询语言
query,用于指示要查询的资源,要检索的属性、细分和指标,以及用于限制返回哪些对象的条件 - (仅限
GoogleAdsService.Search)可选的page_token,用于在使用分页时检索下一批结果。
如需详细了解 Google Ads 查询语言,请参阅 Google Ads 查询语言指南。
处理回答
GoogleAdsService 会返回一个 GoogleAdsRow 对象列表。
每个 GoogleAdsRow 都表示相关查询所返回的对象,由一组根据 SELECT 子句中请求的字段填充的属性组成。如果属性未包含在 SELECT 子句中,则不会在响应的 GoogleAdsRow 对象中填充相应属性。
例如,虽然 ad_group_criterion 具有 status 属性,但在 SELECT 子句不包含 ad_group_criterion.status 的查询的响应中,不会填充该行的 ad_group_criterion 属性的 status 字段。同样,如果 SELECT 子句不包含来自 campaign 资源的任何字段,则不会填充该行的 campaign 属性。
每个 GoogleAdsRow 可以具有与同一结果集中的另一行不同的属性和指标;因此,应将这些行视为对象,而不是表格的固定行。
UNKNOWN 枚举类型
相应 API 版本不支持返回类型为 UNKNOWN 的资源。这些资源可能是通过其他界面(例如 Google Ads 界面)创建的。当资源的类型为 UNKNOWN 时,您可以选择指标,但无法通过 API 更改资源。例如,界面中引入了新的广告系列或广告,但您查询的 API 版本不支持这些广告系列或广告。
请注意以下几点:
- 具有
UNKNOWN类型的资源可能会在日后获得支持,也可能会无限期保持UNKNOWN状态。 - 类型为
UNKNOWN的新对象可以随时出现。这些对象是向后兼容的,因为枚举值已可用。资源会随着此变更的推出而提供,以便您准确了解自己的账号。UNKNOWN资源可能会因您账号中通过其他界面进行的新活动而显示,也可能会因资源不再受支持而显示。 UNKNOWN资源可以附加可查询的详细指标。UNKNOWN资源通常会在 Google Ads 界面中完全显示。UNKNOWN资源通常无法发生变化。
细分
对于包含以下各项的每种组合,响应均将包含一个 GoogleAdsRow:
FROM子句中指定的主要资源的实例- 每个选定的
segment字段的值
例如,如果一个查询选择了 FROM campaign 并且 SELECT 子句中包含 segments.ad_network_type 和 segments.date,那么该查询的响应将包含一个 GoogleAdsRow 行,对应于以下各项的每种组合:
campaignsegments.ad_network_typesegments.date
系统会按主要资源的每个实例(而不是各个选定字段的值)对结果进行隐式细分。例如,
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
执行上述代码后,会按每个 campaign 输出一行结果,而不是 campaign.status 字段的每个不同的值输出一行结果。