プレビュー モードでのスクリプトの実行
プレビュー モードでは、実際にデータを変更せずにスクリプトをテストできます。 代わりに、スクリプトが実行されたかのように結果が表示されます。 これにより、テスト ケースの設定に費やす時間を短縮できます。 スクリプトの出力に問題がなければ、スクリプトを実行するか、後で実行するようにスケジュールできます。
スクリプトがプレビュー モードで実行されているかどうかをプログラムで判断するには、ExecutionInfo のメソッドをisPreview
参照してください。
オブジェクトはプレビュー モードで作成、削除、または変更されないため、すべてのコードがライブで実行された場合と同じように実行されるわけではありません。 次のコードは、コードがプレビュー モードとライブ モードで動作が異なる場合の簡単な例を示しています。
/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()})`);
}
}