GoogleAdsService 是 Google Ads API 的统一对象
检索和报告服务。该服务提供的方法有如下特征:
- 检索对象的特定属性。
- 根据日期范围检索对象的效果指标。
- 根据对象的属性执行对象排序。
- 使用条件指示要在响应中返回的对象。
- 限制返回的对象数量。
GoogleAdsService 可以通过以下
两种方式返回结果:
GoogleAdsService.SearchStream会在单个流式响应中返回所有行,这对于大型(超过 10,000 行)结果集来说效率更高。如果您的批处理应用想要尽可能快地下载尽可能多的数据,则此方法可能更合适。GoogleAdsService.Search会将较多的响应分为多个易于管理的结果页面。如果您的互动式应用一次显示一页结果,则此方法可能更合适。
详细了解分页与流式传输。
发出请求
搜索方法需要
SearchGoogleAdsRequest,其中包含以下属性:
customer_id- Google Ads 查询语言
query,用于指示要查询的资源,要检索的属性、细分和指标,以及用于限制返回哪些对象的条件 - (
GoogleAdsService.Searchonly)An optionalpage_tokento retrieve the next batch of results when using paging。
如需详细了解 Google Ads 查询语言,请参阅 Google Ads Query Language 指南。
处理响应
GoogleAdsService 会返回
GoogleAdsRow 对象列表。
每个 GoogleAdsRow 表示相关查询所返回的对象,由一组根据 SELECT 子句中请求的字段填充的属性组成。响应中的 GoogleAdsRow 对象不会填充 SELECT 子句中未包含的属性。
例如,虽然 ad_group_criterion 具有 status 属性,但在 SELECT 子句不包含 ad_group_criterion.status 的查询的响应中,不会填充该行的 ad_group_criterion 属性的 status 字段。同样,如果 SELECT 子句不包含来自 campaign 资源的任何字段,则不会填充该行的 campaign 属性。
每个 GoogleAdsRow 可以具有与同一结果集中的另一行不同的属性和指标;因此,这些行应被视为对象,而不是表的固定行。
UNKNOWN 枚举类型
如果返回的资源的类型为 UNKNOWN,则该 API 版本并不完全支持这些资源。这些资源可能是通过其他界面(例如 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 字段的每个不同的值输出一行结果。