更改策略

本指南將提供與現有最高成效廣告活動指南完全相同的建構方式,這類指南假設您會在單一原子要求中建立整個廣告活動,而不是在個別要求中逐一建立每個實體。也就是說,您必須使用臨時 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);