在預覽模式下執行指令碼

預覽模式可讓您測試指令碼,而無需實際變更資料。 相反地,系統會像指令碼已執行一樣顯示結果。 這可以減少設定測試案例所花費的時間。 當您對指令碼的輸出感到滿意時,您可以執行指令碼或排程稍後執行。

若要以程式設計方式判斷指令碼是否以預覽模式執行,請參閱 isPreviewExecutionInfo 的方法。

因為物件不會在預覽模式下建立、刪除或修改,所以並非所有程式碼的執行方式都會像即時執行時一樣。 以下程式碼顯示一個簡單的範例,當程式碼在預覽模式和即時模式下的行為不同時。

/function main() {

    // Get an ad group that does not have keywords.
    var adGroup = AdsApp.adGroups()
        .withIds(["123456789"])
        .get()
        .next();

    // Add a keyword to the ad group
    var operation = adGroup.newKeywordBuilder()
        .withText('mykeyword')
        .build();

    // In preview mode, the keyword is not created, so getId() returns -1.
    if (operation.isSuccessful()) {
        var keyword = operation.getResult();
        Logger.log(`added keyword, ${keyword.getText()} (${keyword.getId()})`);
    }
    else {
        for (var error in operation.getErrors()) {
            Logger.log(`Error adding keyword, ${error}.`);
        }
    }

    // Get the ad group's keywords. In preview mode, the
    // keyword is not created, so no keywords are logged.
    var keywords = AdsApp.keywords()
        .withCondition(`AdGroupName CONTAINS '${adGroup.getName()}'`)
        .get();

    while (keywords.hasNext()) {
        var keyword = keywords.next();
        Logger.log(`added keyword, ${keyword.getText()} (${keyword.getId()})`);
    }
}

後續步驟