Mutate

您可以使用 Mutate 修改(创建、更新或移除)大多数资源 方法。Mutate 方法作为 HTTP POST 来调用,指向特定于资源的 与资源名称模式匹配的网址,不带尾部资源 ID。 需要更改的资源的 ID 在 JSON 请求中发送 正文。这样,您就可以发送单个 API 调用,其中包含多个 不同资源

例如,广告系列的资源名称采用以下格式:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

要推导出用于更改广告系列的网址,请省略末尾的资源 ID 和 附加 :mutate

https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate

Mutate 消息包含具有 operations 数组的顶级 JSON 对象 可包含多个 operation 对象的列表。反过来,每个操作可以是 为 createupdateremove。这些是 操作。

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    ...
  ]
}

大多数服务都支持在单个 API 调用中进行数千次操作。系统 限制指南记录了 对请求大小的限制

单个 API 请求中的操作由 默认情况下,这些命令要么同时成功完成,要么整个批次失败, 执行任何一个操作都会失败有些服务支持 partialFailure 属性 更改此行为。请参阅转变资源 详细了解 mutate 操作语义。

创建

创建操作会生成新实体,并且必须包含完整的 JSON 表示您要创建的资源。

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
    "create": {
        "name": "An example campaign",
        "status": "PAUSED",
        "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID",
        "advertisingChannelType": "SEARCH",
        "networkSettings": {
          "targetGoogleSearch": true,
          "targetSearchNetwork": true,
          "targetContentNetwork": true,
          "targetPartnerSearchNetwork": false
        },
        "target_spend": {}
      }
    }
  ]
}

更新

更新操作用于对现有资源执行稀疏更新。您只需要 指定要修改的字段

如需指定要更新的字段,请将 updateMask 属性设置为 以英文逗号分隔的字段名称列表。 已有对象的完整 JSON 表示法(例如, 返回),但只想更改某些字段。 您无需删减 JSON 对象,只需列出待 并发送整个 JSON 对象。updateMask

以下示例将更改采用同一出价策略的现有广告系列的 namestatus 指定的 resourceName

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "updateMask": "name,status",
      "update": {
        "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID",
        "name": "My renamed campaign",
        "status": "PAUSED",
      }
    }
  ]
}

移除

Delete 操作可以有效地删除对象,从而将其 Google Ads 状态设置为 REMOVED。只需移除要移除的 resourceName

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID"
    }
  ]
}