本指南將根據現有的最高成效廣告活動指南,建構確切的類比,假設您將透過單一要求建立整個廣告活動,而不必在不同的要求中逐一建立各個實體。也就是說,您需要使用臨時 ID 將資源互相連結,因為在收到 API 回應之前,您將無法知道完整的資源名稱。
為此,您必須編寫一些程式碼,確保不會建立任何重複的臨時 ID:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
每次呼叫 getNextTempId
時,都會傳回比上一個數字少 1 的數字。由於所有臨時 ID 都必須為負數,因此請將值從 -1 開始。
完成上述步驟後,您就可以建立陣列來存放所有作業:
const operations = [];
您會經常需要為廣告活動建立的客戶提供的客戶 ID,因為每個資源名稱都是必填資訊。
const customerId = AdsApp.currentAccount().getCustomerId();
每次您要建立新作業時,都會在資源名稱中使用下一個臨時 ID,以便您稍後參照這個物件,並將建立的物件插入陣列:
const newOperation = {
[OPERATION_TYPE_VARIES]: {
create: {
resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
// Other fields, relevant to the resource being created.
}
}
}
operations.push(newOperation);
如需瞭解詳情和查看範例作業,請參閱 Google Ads API REST 變更說明文件。
所有作業都建構完成後,請在單一批次中執行:
AdsApp.mutateAll(operations);