預覽模式可讓您測試指令碼,而無需實際變更資料。 相反地,系統會像指令碼已執行一樣顯示結果。 這可以減少設定測試案例所花費的時間。 當您對指令碼的輸出感到滿意時,您可以執行指令碼或排程稍後執行。
若要以程式設計方式判斷指令碼是否以預覽模式執行,請參閱 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()})`);
}
}