2015-02-11 4 views
2

Я создаю форму Google и скрипт приложения google с функцией sendFormByEmail, также я установил триггер отправки формы для этой функции, моя проблема заключается в том, что этот скрипт запускается два раза в форме submit и Я получаю два письма, Я хочу, чтобы только одна электронная почта на форме представляла. мой код сценария ниже.Скрипт запускается дважды в форме отправки формы Google

var no_repeat=0; 
function sendFormByEmail(e){ 

    var email = "[email protected]"; 

    var s = SpreadsheetApp.getActiveSheet(); 
    var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];  
    var message = ""; 
    var subject = "Success Assessment"; 
    var total=0; 
    var roll_on=0; 

    message+="test massage"; 
    message+="<table cellpadding='3' style='color: #0F1F4C;'>"; 
    for(var i in headers) { 
    if(headers[i]=='Please enter your email address to receive your results'){ 
     email=e.namedValues[headers[i]].toString(); 
    } 
    if(headers[i]!='Please enter your email address to receive your results'){ 
     if(headers[i]!='Timestamp'){ 
     if(e.namedValues[headers[i]]!=''){  
      total = parseInt(e.namedValues[headers[i]])+parseInt(total); 
     } 

     message +="<tr >"; 
     message += '<td >'+headers[i]+'</td><td >'+e.namedValues[headers[i]].toString()+ "</td>"; 
     message +="</tr>"; 
     roll_on++; 
     } 
    } 
    } 
    message +="<tr >"; 
    message += "<td ><b> YOUR SCORE </b></td><td ><b>"+total+"</b></td>"; 
    message+="</tr></table>"; 

    // Send the email 

    if(email!='' && email!=null){ 
    if(no_repeat==0){ 
     MailApp.sendEmail(email, subject,"",{htmlBody: message}); 
    } 
    no_repeat++; 
    } 
} 

ответ

0

Это known issue в конце Google, и они работают над решением этой проблемы:

Наша команда инженеров работает по этому вопросу, но мы не имеем никаких оценок относительно того, когда это будут исправлены. Я рекомендую применять логику LockService, как показано в обновлении № 22, который должен работать с проблемой .

+0

hi, amit Я уже gothrouth это для размещения моих вопросов здесь, и «lock.waitLock» не работает для меня. Я пробовал это по решение # 22: https://code.google.com/p/Google-приложения-сценариев проблемы/вопросы/детали? ID = 4752 # c22 –

0

У меня был такой же выпуск. Проблема заключалась в том, что два пользователя настроили их на отправке триггера в форме Google. Я вступил в систему как один из пользователей и удалил триггер. Я подписался в качестве другого пользователя, и триггер все еще был там. Теперь работает отлично, работает только один раз.

Смежные вопросы