突變

大部分的資源都是使用 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 屬性 如要變更這項行為,請參閱修改資源

建立

建立作業會產生新實體,且必須包含完整的 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 物件,只要列出要使用的欄位名稱即可 透過 updateMask 修改,然後傳送整個 JSON 物件。

下例將現有廣告活動的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",
      }
    }
  ]
}

移除

移除作業可有效刪除物件,將物件的 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"
    }
  ]
}