I have seen that we are now able to create scripts to easily update price extensions and I have made the attempt to create one for the very first time and I come across an error that I'm not sure how to resolve.
Would much appreciate your help. Please bear in mind, I have zero scripts knowledge :D
function main() {
// Fetch the data in the sheet
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
var sheet = spreadsheet.getSheetByName("Davidsons");
// Load named arrays
var currencyCode = spreadsheet.getRange("B4").getValue();
var language = spreadsheet.getRange("B5").getValue();
var howMany = spreadsheet.getRange("B6").getValue();
var priceType = spreadsheet.getRange("B7").getValue();
var priceQualifier = spreadsheet.getRange("B8").getValue();
// Load all needed variables
var ext1Header1 = sheet.getRange("D2").getValue();
var ext1Desc1 = sheet.getRange("D3").getValue();
var ext1Amount1 = sheet.getRange("D4").getValue();
var ext1FinalUrl1 = sheet.getRange("D5").getValue();
var ext1Header2 = sheet.getRange("D6").getValue();
var ext1Desc2 = sheet.getRange("D7").getValue();
var ext1Amount2 = sheet.getRange("D8").getValue();
var ext1FinalUrl2 = sheet.getRange("D9").getValue();
var ext1Header3 = sheet.getRange("D10").getValue();
var ext1Desc3 = sheet.getRange("D11").getValue();
var ext1Amount3 = sheet.getRange("D12").getValue();
var ext1FinalUrl3 = sheet.getRange("D13").getValue();
var ext2Header1 = sheet.getRange("G2").getValue();
var ext2Desc1 = sheet.getRange("G3").getValue();
var ext2Amount1 = sheet.getRange("G4").getValue();
var ext2FinalUrl1 = sheet.getRange("G5").getValue();
var ext2Header2 = sheet.getRange("G6").getValue();
var ext2Desc2 = sheet.getRange("G7").getValue();
var ext2Amount2 = sheet.getRange("G8").getValue();
var ext2FinalUrl2 = sheet.getRange("G9").getValue();
var ext2Header3 = sheet.getRange("G10").getValue();
var ext2Desc3 = sheet.getRange("G11").getValue();
var ext2Amount3 = sheet.getRange("G12").getValue();
var ext2FinalUrl3 = sheet.getRange("G13").getValue();
Logger.log(ext2Header1);
Logger.log(ext2FinalUrl3);
createPrice1 ();
createPrice2 ();
createPrice3 ();
// Build price extension 1
function createPrice1() {
var priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem1 = priceItemBuilder
.withHeader(ext1Header1)
.withDescription(ext1Desc1)
.withAmount(ext1Amount1)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext1FinalUrl1)
.withUnitType('NONE')
.build()
if (priceItemOperation.isSuccessful()) {
// Get the result.
var priceItem = priceItemOperation.getResult();
} else {
// Handle the errors.
var errors = priceItemOperation.getErrors();
}
priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem2 = priceItemBuilder
.withHeader(ext1Header2)
.withDescription(ext1Desc2)
.withAmount(ext1Amount2)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext1FinalUrl2)
.withUnitType('NONE')
.build()
.getResult();
priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem3 = priceItemBuilder
.withHeader(ext1Header3)
.withDescription(ext1Desc3)
.withAmount(ext1Amount3)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext1FinalUrl3)
.withUnitType('NONE')
.build()
.getResult();
var priceBuilder = AdsApp.extensions().newPriceBuilder();
var price1 = priceBuilder
.withPriceType(priceType)
.withPriceQualifier(priceQualifier)
.withLanguage(language)
.addPriceItem(priceItem1)
.addPriceItem(priceItem2)
.addPriceItem(priceItem3)
.build()
.getResult();
// add to account
AdsApp.currentAccount().addPrice(price1);
}
// Build price extension 2
function createPrice2() {
var priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem1 = priceItemBuilder
.withHeader(ext2Header1)
.withDescription(ext2Desc1)
.withAmount(ext2Amount1)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext2FinalUrl1)
.withUnitType('NONE')
.build()
.getResult();
priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem2 = priceItemBuilder
.withHeader(ext2Header2)
.withDescription(ext2Desc2)
.withAmount(ext2Amount2)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext2FinalUrl2)
.withUnitType('NONE')
.build()
.getResult();
priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem3 = priceItemBuilder
.withHeader(ext2Header3)
.withDescription(ext2Desc3)
.withAmount(ext2Amount3)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext2FinalUrl3)
.withUnitType('NONE')
.build()
.getResult();
var priceBuilder = AdsApp.extensions().newPriceBuilder();
var price2 = priceBuilder
.withPriceType(priceType)
.withPriceQualifier(priceQualifier)
.withLanguage(language)
.addPriceItem(priceItem1)
.addPriceItem(priceItem2)
.addPriceItem(priceItem3)
.build()
.getResult();
AdsApp.currentAccount().addPrice(price2);
}
// Build price extension 3
function createPrice3() {
var priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem1 = priceItemBuilder
.withHeader(ext3Header1)
.withDescription(ext3Desc1)
.withAmount(ext3Amount1)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext3FinalUrl1)
.withUnitType('NONE')
.build()
.getResult();
priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem2 = priceItemBuilder
.withHeader(ext3Header2)
.withDescription(ext3Desc2)
.withAmount(ext3Amount2)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext3FinalUrl2)
.withUnitType('NONE')
.build()
.getResult();
priceItemBuilder = AdsApp.extensions().newPriceItemBuilder();
var priceItem3 = priceItemBuilder
.withHeader(ext3Header3)
.withDescription(ext3Desc3)
.withAmount(ext3Amount3)
.withCurrencyCode(currencyCode)
.withFinalUrl(ext3FinalUrl3)
.withUnitType('NONE')
.build()
.getResult();
var priceBuilder = AdsApp.extensions().newPriceBuilder();
var price3 = priceBuilder
.withPriceType(priceType)
.withPriceQualifier(priceQualifier)
.withLanguage(language)
.addPriceItem(priceItem1)
.addPriceItem(priceItem2)
.addPriceItem(priceItem3)
.build()
.getResult();
AdsApp.currentAccount().addPrice(price3);
}
}