我注意到我从Google App Script发送的电子邮件中触发了表单提交触发,发现我近300封电子邮件中有3封发送了两次!我对此一无所知,这是我写的。
function emailAsExcel(spreadsheetId,subject,message,fileName,link) {
var ss = SpreadsheetApp.openById(spreadsheetId);
var fileId = ss.getId();
var data = ss.getActiveSheet().getRange('A2:D2').getValues();
var url = 'https://docs.google.com/spreadsheets/d/'+fileId+'/export?format=xlsx';
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
})
var blobs = response.getBlob().setName(fileName+'.xlsx');
var picblobs = DriveApp.getFileById(getIdFromUrl(link)).getBlob().setName(fileName + '.jpg');
var sender = "[email protected]"+","+ "[email protected]";
var email = sender;
MailApp.sendEmail(email,subject,message,{attachments: [blobs, picblobs]});
}
function genFile(){
var ss = SpreadsheetApp.openById('xxxxxxxxxxxx');
var sheet = ss.getSheetByName('yyyyy');
var lastRow = sheet.getRange(1,9,sheet.getLastRow()).getValues().filter(String).length;
Logger.log(lastRow);
var date = sheet.getRange('A'+lastRow).getValue();
var name = sheet.getRange('J'+lastRow).getValue();
var surname = sheet.getRange('K'+lastRow).getValue();
var number = sheet.getRange('E'+lastRow).getValue();
var prov = sheet.getRange('F'+lastRow).getValue();
var brand = sheet.getRange('G'+lastRow).getValue();
var link = sheet.getRange('I'+lastRow).getValue();
var subject = name+'_'+surname;
var message =
'customer fullname : '+ name +' '+surname+'\n'
+'num : '+ number + prov+'\n'
+'bra : '+ brand +'\n'
var fileName = name+ ' ' +surname;
Logger.log(link);
var destination = DriveApp.getFileById('aaaaaaaaaaaaaaaa').makeCopy().getId();
var newFile = SpreadsheetApp.openById(destination);
var newSheet = newFile.getSheetByName('bbbbbbbbb');
newSheet.getRange('A2').setValue(date);
newSheet.getRange('B2').setValue(name+' '+surname);
newSheet.getRange('C2').setValue(number);
newSheet.getRange('D2').setValue(prov);
newSheet.getRange('E2').setValue(brand);
newFile.setName(fileName);
emailAsExcel(destination,subject,message,fileName,link);
}
function getIdFromUrl(url) { return url.match(/[-\w]{25,}/); }
genFile();
}
我试图弄清楚,但我仍然不知道发生了什么,所以我需要你们的建议。预先谢谢!
[您(或有权访问此脚本的另一个Google帐户)创建了多个触发器时,可能会发生这种情况。
转到https://script.google.com/home/triggers,选择您的项目并删除所有重复的onSubmit触发器。