更改策略

本指南將根據現有的最高成效廣告活動指南,建構確切的類比,假設您將透過單一要求建立整個廣告活動,而不必在不同的要求中逐一建立各個實體。也就是說,您需要使用臨時 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);