预览模式允许你测试脚本,而无需实际更改数据。 相反,将显示结果,就像脚本已执行一样。 这可以减少设置测试用例所花费的时间。 如果对脚本的输出感到满意,可以运行脚本或计划稍后运行。
若要以编程方式确定脚本是否在预览模式下执行,请参阅 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()})`);
}
}