AppScript语法错误求助:Unexpected token与Unexpected end of input
业务工具重构中的AppScript语法错误排查求助
正在重构公司业务工具,原代码混乱,重新编写时大量复用原有可运行的AppScript脚本,现出现两类语法错误,已尝试重新输入代码、搜索解决方案但问题未解决,恳请帮忙排查。
问题1:Unexpected token 'var' 语法错误
错误提示:Syntax error: SyntaxError: Unexpected token 'var' line: 89 file: Code.gs
注释该代码区块仍触发错误,相关代码片段:
if (location === 'L1'){ var officeLocation = 'Drive Folder ID 1'; var emailRecip = 'L1 group email address'; var franchiseNum = 'L1 franchise #'; createFolderStructure(officeLocation); writeDash(pittDash,custFN,custLN,date,leadType); //These variables are all defined in code above marketing(location zip,referSource); if(leadType==='Assessment'){ writeDash(wSheet,custFN,custLN,date,leadType) } } else if (location === 'L2'){ var officeLocation = 'You get the picture'; var emailRecip = 'I am just going to redact with -----'; var franchiseNum = '-----'; createFolderStructure(officeLocation); writeDash(pittDash,custFN,custLN,date,leadType); if(leadType==='Assessment'){ writeDash(wSheet,custFN,custLN,date,leadType) } } else if (location === '----'){ var officeLocation = '-----'; var emailRecip = '------'; var franchiseNum = '------'; createFolderStructure(officeLocation); writeDash(pittDash,custFN,custLN,date,leadType); if(leadType==='Assessment'){ writeDash(wSheet,custFN,custLN,date,leadType) } } else { var emailBdy = 'Looks like you forgot to set a location to that last ----, Try Again!' var emailSubject = 'Uh-Oh!!' var userEmail = Session.getActiveUser().getEmail(); MailApp.sendEmail(userEmail,emailSubject,emailBdy); return; } //#- Send ---- Email - must be after [6- Create Drive Folders] var emailSubj = '----: '+ franchiseNum + ' - '+custLN+', '+custFN+' - '+lossType+lossClass+'-'+date; var emailBody = custFN+' '+custLN+'\n'+'\n'+ leadType+ '\n'+lossType+'\n'+lossType+'\n'+custPhone+'\n'+clientAddress+'\n'+'\n'+leadDesc+'\n'+'https://drive.google.com/drive/folders/'+officeLocation; MailApp.sendEmail(emailRecip,emailSubj,emailBody); Logger.log(emailBody); }
问题2:Unexpected end of input 语法错误
错误提示:Syntax error: SyntaxError: Unexpected end of input line: 161 file: Code.gs
错误出现在最后一个function的闭合处,相关代码片段:
function marketing(location, zip,referSource){ var mSheetName = SpreadsheetApp.getActive().getSheetByName(location + ' Marketing'); mSheetName.insertRowsAfter(29); mSheetName.getRange('A30').setValue(referSource); mSheetName.getRange('C30').setValue(zip); mSheetName.getRange('B30').setValue(1); mSheetName.getRange('B30').setValue(1); }
完整脱敏代码
function theButton() { //1- Sheet Variables v(spreadsheet, newJobSheet,fOneDash,fTwoDash,fThreeDash,fOneMark,fTwoMark) var spreadsheet = SpreadsheetApp.getActive(); var newJobSheet = spreadsheet.getSheetByName('New Job'); var fOneDash = spreadsheet.getSheetByName('franchOne Dash'); var fTwoDash = spreadsheet.getSheetByName('franchTwo Dash'); var fThreeDash = spreadsheet.getSheetByName('fThree Dash'); var fOneMark = spreadsheet.getSheetByName('franchOne Marketing'); var fTwoMark = spreadsheet.getSheetByName('franchTwo Marketing'); //2- Input Variables v(location,leadType,custFN,custLN,lossType,lossClass,custPhone,stAdd,cityState,zip,referSource,leadDesc) var location = newJobSheet.getRange('B2').getValue(); var leadType = newJobSheet.getRange('B3').getValue(); var custFN = newJobSheet.getRange('B4').getValue(); var custLN = newJobSheet.getRange('B5').getValue(); var lossType = newJobSheet.getRange('B6').getValue(); var lossClass = newJobSheet.getRange('B7').getValue(); var custPhone = newJobSheet.getRange('B8').getValue(); var stAdd = newJobSheet.getRange('B9').getValue(); var cityState = newJobSheet.getRange('B10').getValue(); var zip = newJobSheet.getRange('B11').getValue(); var referSource = newJobSheet.getRange('B12').getValue(); var leadDesc = newJobSheet.getRange('B13').getValue(); //3- Compiled variables v(clientAddress,clientAddressURL,userEmail) var clientAddress = stAdd + '\n' + cityState + " " + zip; var clientAddressURL = stAdd + ' ' + cityState + " " + zip; Logger.log(clientAddressURL); let newAddress = '0'; Logger.log(newAddress); newAddress = parseAddressURL(clientAddressURL); var userEmail = Session.getActiveUser().getEmail(); //4- Date v(date, month, year) var date = newJobSheet.getRange('A1').getValue(); var month = newJobSheet.getRange('A50').getValue(); var year = newJobSheet.getRange('A51').getValue(); //5- Job Name v(nameNewJob) var nameNewJob = custLN + ', ' + custFN + ', ' + lossType + ', ' + lossClass + ', ' + leadDesc + //6- Create Drive Folders, write to Dash, Marketing, Assessment Tracker v(officeLocation [driveID],emailRecip,franchiseNum) if (location === 'franchOne'){ var officeLocation = 'driveurl(thisisredacted)'; var emailRecip = 'franchOne@emailaddress.com'; var franchiseNum = ‘franchOneNum'; createFolderStructure(officeLocation); writeDash(fOneDash,custFN,custLN,date,leadType); marketing(location zip,referSource); if(leadType==='Assessment'){ writeDash(wSheet,custFN,custLN,date,leadType) } } else if (location === 'franchTwo'){ var officeLocation = 'driveurl(thisisredacted)'; var emailRecip = 'franchTwo@emailaddress.com'; var franchiseNum = 'fTwoFranchNum '; createFolderStructure(officeLocation); writeDash(fOneDash,custFN,custLN,date,leadType); if(leadType==='Assessment'){ writeDash(wSheet,custFN,custLN,date,leadType) } } else if (location === 'fThree'){ var officeLocation = 'driveurl(thisisredacted)'; var emailRecip = 'franchTree@emailaddress.com'; var franchiseNum = 'fThree '; createFolderStructure(officeLocation); writeDash(fOneDash,custFN,custLN,date,leadType); if(leadType==='Assessment'){ writeDash(wSheet,custFN,custLN,date,leadType) } } else { var emailBdy = 'Looks like you forgot to set a location to that last FNOL, Try Again!' var emailSubject = 'Uh-Oh!!' var userEmail = Session.getActiveUser().getEmail(); MailApp.sendEmail(userEmail,emailSubject,emailBdy); return; } //#- Send FNOL Email - must be after [6- Create Drive Folders] var emailSubjFNOL = 'FNOL: '+ franchiseNum + ' - '+custLN+', '+custFN+' - '+lossType+lossClass+'-'+date; var emailBody = custFN+' '+custLN+'\n'+'\n'+ leadType+ '\n'+lossType+'\n'+lossType+'\n'+custPhone+'\n'+clientAddress+'\n'+'\n'+leadDesc+'\n'+'https://drive.google.com/drive/folders/'+officeLocation; MailApp.sendEmail(emailRecip,emailSubjFNOL,emailBody); Logger.log(emailBody); }; function createFolderBasic(folderID, folderName) { var folder = DriveApp.getFolderById(folderID); var newFolder = folder.createFolder(folderName); return newFolder.getId(); }; function createFolderStructure(officeLocation){ var newClientFolderID = createFolderBasic(officeLocation, nameNewJob); var newClientMitID = createFolderBasic(newClientFolderID, 'MIT'); var newClientPhotosID = createFolderBasic(newClientFolderID, 'Photos'); var newClientReconID = createFolderBasic(newClientFolderID, 'RECON'); var newClientReconActiveEstimatesID = createFolderBasic(newClientReconID, 'Active Estimates'); var newClientReconArchivedID = createFolderBasic(newClientReconID, 'Archived'); var newClientReconBidsID = createFolderBasic(newClientReconID, 'Sub Bids'); var newClientReconFormsID = createFolderBasic(newClientReconID, 'Forms'); }; function parseAddressURL(newClientAddressURL,) { var address = newClientAddressURL var address = address.replace(/ /g, '+' ); address = address.replace(/,/g , '%2C'); Logger.log(address) var addressURL = 'https://www.google.com/maps/search/?api=1&query=' + address; Logger.log(address); Logger.log(addressURL); return addressURL; }; function writeDash(wSheet,custFN,custLN,date,leadType){ wSheet.insertRowsAfter(2,1); wSheet.getRange('A2').setValue(custFN); wSheet.getRange('B2').setValue(custLN); wSheet.getRange('C2').setValue(date); wSheet.getRange('D2').setValue(leadType); }; function assTrack(custFN,custLN,date,custPhone,location,leadDesc,newAddress){ var assss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/driveurl(thisisredacted)'); var assLog = assss.getSheetByName('Assessment Log'); assLog.insertRowBefore(2); assLog.getRange('A2').setValue(custFN); assLog.getRange('B2').setValue(custLN); assLog.getRange('C2').setValue(date); assLog.getRange('D2').setValue(custPhone); assLog.getRange('E2').setValue(location); assLog.getRange('F2').setValue(newAddress); assLog.getRange('G2').setValue(leadDesc); }; function marketing(location, zip,referSource){ var mSheetName = SpreadsheetApp.getActive().getSheetByName(location + ' Marketing'); mSheetName.insertRowsAfter(29); mSheetName.getRange('A30').setValue(referSource); mSheetName.getRange('C30').setValue(zip); mSheetName.getRange('B30').setValue(1); mSheetName.getRange('B30').setValue(1); };
内容的提问来源于stack exchange,提问作者Ryan Prather
相关产品推荐
相关产品推荐

