2014-10-10 5 views
1

Я пытаюсь написать небольшой скрипт Google Apps, который отправит письмо с подтверждением и автоматически поделится папкой с зарегистрированным пользователем после завершения формы. Вот сценарий:Скрипт Google Apps - автоматически отправлять и отправлять

function formSubmitReply(e) { 
    MailApp.sendEmail({ 
    to: Session.getActiveUser().getEmail(), 
    subject: "Keuka College Brand Download Center", 
    htmlBody: 
       "<p>Thank you for requesting access to the Keuka College Brand Download Center. Your access has been approved.</p>" + 
       "<p>You may access the download center by <a href='https://drive.google.com/a/keuka.edu/folderview?id=0B856ZeGoaGT_MG5BMEtEVGwzYkk&usp=sharing'>using this link,</a> " + 
       "visiting <a href='http://brand.keuka.edu'>Keuka College Brand Central,</a> or through your Google Drive.</p><p>Please contact the Office of Marketing and Communications " + 
       "with any questions you may have.</p>", 
    name: "Keuka College", 
    replyTo: "[email protected]" 
    }); 

var folder = DocsList.getFolder('Brand Download Center'); 
folder.addViewer(Session.getActiveUser()); 

}​ 

Это, кажется, работает, за исключением того, что держит его по электронной почте мне - не пользователь, который завершает форму. Я не уверен, правильно ли он делится.

Может ли кто-нибудь дать представление? Это мой первый опыт работы с скриптом Google Apps.

ответ

0

Session.getActiveUser() - пользователь, который использует редактор форм и пользователь, создавший триггер, который вызывает эту функцию.

Что вы хотите, чтобы пользователь, заполнивший форму.

Просмотрите документацию here, чтобы узнать, как вы можете получить это значение. Обратите внимание, что это будет only be available if you are in a domain.


EDIT (извините за задержку)

Вот пример кода, чтобы показать, как получить вид респондента formApp (работает только в GAFE или GA бизнеса)

Он отправит вам письмо с именем последнего отправителя формы (не забудьте создать устанавливаемый триггер onEdit для проверки этого).

function onSubmit(){ 
    var form = FormApp.getActiveForm(); 
    var formResponses = form.getResponses(); 
    var lastResponse = formResponses[formResponses.length-1]; 
    var user = lastResponse.getRespondentEmail() 
    var userString = 'user = '+user; 
    MailApp.sendEmail(Session.getActiveUser().getEmail(),'form submission report',userString); 
} 
+0

Спасибо. Я изменил его следующим образом, но он все еще не работает. Какие-либо предложения? (Partial Code): function formSubmitReply (e) { var email = e.getRespondentEmail(); MailApp.sendEmail ({ к: электронная почта, – Pete

+0

И вы используете бизнес или Edu счет –

+0

EDU, я считаю – Pete

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