Esecuzione di script in modalità anteprima
La modalità di anteprima consente di testare lo script senza apportare effettivamente modifiche ai dati. Vengono invece visualizzati i risultati come se lo script fosse stato eseguito. Ciò può ridurre la quantità di tempo impiegato per la configurazione dei test case. Quando si è soddisfatti dell'output dello script, è possibile eseguire lo script o pianificarne l'esecuzione in un secondo momento.
Per determinare a livello di codice se uno script è in esecuzione in modalità anteprima, vedere il isPreview
metodo di ExecutionInfo.
Poiché gli oggetti non vengono creati, eliminati o modificati in modalità anteprima, non tutto il codice verrà eseguito come se fosse stato eseguito in tempo reale. Il codice seguente mostra un semplice esempio in cui il codice si comporta in modo diverso in modalità anteprima rispetto alla modalità live.
/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()})`);
}
}