在预览模式下运行脚本

预览模式允许您测试脚本,而无需实际更改数据。 而是像执行脚本一样显示结果。 这可以减少设置测试用例所花费的时间。 如果对脚本的输出感到满意,可以运行脚本或安排稍后运行。

若要以编程方式确定脚本是否在预览模式下执行,请参阅 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()})`);
    }
}

后续步骤