更改对象

正如 API 结构指南 中所述,Google Ads API 中的每个 顶级资源都有相应的特定于资源类型的 服务,且该服务支持修改资源的实例。

本指南将使用 CampaignService 来 演示如何修改 Campaign 对象,不过这些 概念同样适用于所有其他特定于资源类型的服务。

更改对象

每个特定于资源类型的服务都有一个 mutate 方法,可接受 mutate 请求。 此请求包括:

  • customerId
  • 操作的集合
  • 响应内容类型设置,用于确定在 mutate 后应返回可变资源还是仅返回资源名称。

例如,CampaignServiceMutateCampaigns 方法接受 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 请求中可包含多个操作。您应尽量将多个操作组合到一个 mutate 请求中,而不是发送多个 mutate 请求,让其中每个请求只包含一个操作。

例如,如果您想制作 10 个广告系列,则应该发送一个 MutateCampaignsRequest 请求,让其中包含 10 个 CampaignOperation 对象。

Mutate 响应

响应中返回的内容取决于 mutate 请求的 response_content_type 中发送的内容。例如,如果指定了MUTABLE_RESOURCE,则 响应将仅包含广告系列中的 可变字段。然后,您可以对该资源对象进行后续 mutate,而无需重新构建该对象。

Mutate 错误

只有当给定 mutate 请求中的每个操作都获得成功时,该请求中的操作才会应用于您的 Google Ads 账号。 有关常见 错误指南,请查看常见错误列表及其解决方法。

跟踪更改

如需跟踪对 Google Ads 账号中的对象所做的更改,或检索对象的当前状态,您可以使用 change_statuschange_event 资源。

  • change_status 提供指定时间段内哪些资源发生了更改的摘要。
  • change_event 提供更改的详细历史记录,包括已更改字段的旧值和新值。

如需查询这些资源,请使用 GoogleAdsService.SearchStreamGoogleAdsService.Search 方法。详细了解如何使用 GoogleAdsService 进行报告 流式传输