正如 API 结构指南中所述,Google Ads API 中的每个顶级资源都有相应的特定于资源类型的服务,且该服务支持以下操作:
- 修改资源实例
- 检索单个资源实例进行检查
本指南将使用 CampaignService
演示如何修改和检查 Campaign
对象,但相同的概念也适用于所有其他特定于资源类型的服务。
更改对象
每个特定于资源类型的服务都有一个接受转变请求的 muttation 方法。此请求包括:
- 一个
customerId
- 操作集合
- 一个响应内容类型设置,用于确定应在更改后返回可变资源还是只返回资源名称。
例如,CampaignService
的 MutateCampaigns
方法接受包含以下内容的 MutateCampaignsRequest
:
- 一个
customerId
CampaignOperation
对象的集合- 指示首选响应类型的
response_content_type
字段。
运维
通过 CampaignOperation
等操作对象,您可以通过设置其 operation
字段来指定要对单个资源执行的操作。此字段是 oneof 字段,由以下类型为资源类型的属性组成:
create
- 创建资源的新实例。
update
- 更新资源以匹配
update
资源的特性。设置此字段后,您还必须设置操作的update_mask
,以告知 Google Ads API 在更新操作期间要修改哪些属性。每个客户端库都有一个实用程序或帮助程序方法,可为您生成update_mask
,如我们的客户端库所示。 remove
- 移除资源。
由于 operation
字段是 oneof
字段,因此您无法使用单个操作来修改多个对象。例如,如果您想制作一个广告系列并移除另一个广告系列,请在请求中添加两个 CampaignOperation
实例:一个用于设置 create
,另一个用于设置 remove
。
批处理操作
虽然一个操作只能创建、更新或移除一个资源,但是一个 mutate 请求中可包含多个操作。您应该将多个操作组合到一个 转变请求中,而不是发送多个更改请求,每个请求包含一项操作。
例如,如果您想制作 10 个广告系列,则应该发送一个包含 10 个 CampaignOperation
对象的单个 MutateCampaignsRequest
。
Mutate 响应
响应中返回的内容取决于转变请求的 response_content_type
中发送的内容。例如,如果指定 MUTABLE_RESOURCE
,则响应将仅包含广告系列中的可变字段。然后,您可以对该资源对象进行后续转变,而无需重建它。
Mutate 错误
只有当给定 mutate 请求中的每个操作都获得成功时,该请求中的操作才会应用于您的 Google Ads 帐号。请参阅常见错误指南,了解常见错误列表以及解决方法。
使用 get 检查对象(已弃用)
除了更改对象之外,每个特定于资源类型的服务还拥有 get 方法,用于检索单个资源的所有属性。此方法接受唯一属性为 resource_name
的 get 请求。
get 方法是 Google Ads API 提供的一种便捷方法,可用于轻松检索单个对象的所有属性。虽然这是了解 API 或检查单个对象以用于调试或教育的绝佳工具,但您的应用不应使用 get 方法来检索对象,以便进行处理或报告。请改用 GoogleAdsService
,因为它可让您仅检索对象的特定属性,支持检索性能指标,并允许通过大型结果集进行流式传输。如果您的应用提交了大量 get 请求,您可能会遇到速率限制。