大部分的資源都是使用 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
物件。每項作業反轉時,也可設定為
共計:create
、update
或 remove
。只有這些:
作業。
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 物件。
下例將現有廣告活動的name
和status
變更
指定的 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" } ] }