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