本指南將提供與現有最高成效廣告活動指南完全相同的建構方式,這類指南假設您會在單一原子要求中建立整個廣告活動,而不是在個別要求中逐一建立每個實體。也就是說,您必須使用臨時 ID 將資源彼此連結,因為您必須先取得 API 回應,才能知道完整的資源名稱。
為此,您必須編寫一些程式碼,確保不會建立任何重複的臨時 ID:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
每次對 getNextTempId
的後續呼叫都會傳回比前一個呼叫少一個的數字。由於所有暫時 ID 都必須為負數,請從 -1 開始。
完成上述設定後,您現在可以建立陣列來儲存所有作業:
const operations = [];
您經常需要建立廣告活動的客戶客戶 ID,因為每個資源名稱都需要此 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);