Форма Уведомление для учителей, когда студенты заполняют форму Google - PullRequest
0 голосов
/ 13 июня 2018

Я делаю сайт для школы, чтобы соединить учеников и учителей.Учителя заполняют форму Google с просьбой об услуге (аттестации ...), и она связана с таблицами Google.Затем учащийся может увидеть эту электронную таблицу и зарегистрироваться в другой форме Google, чтобы помочь учителю, и этот ответ записывается в той же электронной таблице Google.Когда ученик отправляет свою форму Google, я хочу, чтобы преподаватель получил уведомление по электронной почте о том, что ученик подписался, чтобы помочь им.Как я могу отправить это уведомление?И я не хочу, чтобы уведомление приходило с моего собственного школьного адреса.Это возможно?Вот сайт Google: https://sites.google.com/fcpsschools.net/jmhsservicesignup/subjects/math

Это код, который у меня есть:

function sendEmails() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tutors 
Signed Up");

  var startRow = sheet.getLastRow();  // First row of data to process

  var dataRange = sheet.getRange(startRow, 1, 1, 5)
  // Fetch values for each row in the Range.

  var data = dataRange.getValues();

  for (i in data) {

    var row = data[i];

    var emailAddress = row[3];       // Second column

    var tutor = row[0];

    MailApp.sendEmail(emailAddress,"Tutor Request Filled",""+tutor+" has accepted your request to be tutored! Please notify"+tutor+" if anything changes.");

  }
}

Кажется, что getLastRow не работает, и электронное письмо отправляется с моего собственного адреса, а не уведомление формы Google, если это вообще возможно.

Если это невозможно, я могу просто попросить учеников отправить электронное письмо учителю, но я действительно хочу автоматизировать процесс.Если вы можете придумать обходной путь, это тоже было бы здорово.

1 Ответ

0 голосов
/ 13 июня 2018

Добавление к тому, что упоминали Сэнди Гуд и Гильерме.Вот еще несколько советов:

Не ясно, какие данные вы пытаетесь получить в своей функции.Вы пытаетесь получить данные из формы отправки?В этом случае вам нужно настроить триггер из меню сценариев и подключить его к функции (функция должна иметь аргумент 'event', обычно называемый e).

function processFromSubmission(e) {//get data from e}

Извиняюсь, если вы не пытаетесь это сделать.Что происходит, когда вы регистрируете sheet.getLastRow ()?

Спросите школу, могут ли они дать вам другой адрес электронной почты для использования в этой форме, например, notifications@yourschool.edu.Выполните шаги здесь , чтобы настроить свой псевдоним.Сделайте это для учетной записи gmail, которой «принадлежит» электронная таблица, в которую эти формы отправляют данные.

Убедитесь, что ваш псевдоним настроен правильно.Вы должны быть в состоянии увидеть его в раскрывающемся меню «от» при составлении письма.Также попробуйте запустить код Logger.log(GmailApp.getAliases()) и проверьте журнал, чтобы убедиться, что он доступен.

Используйте GmailApp.sendEmail для отправки электронной почты, а не MailApp.sendEmail.Они почти одинаковые, но похоже, что версия MailApp не позволяет отправлять сообщения с псевдонима.Вы также можете указать электронное сообщение «replyTo», если хотите установить другое значение, например, заполнение студентом формы или что-то еще (все еще не ясно, что именно вы пытаетесь настроить!).

Отправьте электронное письмо как:

GmailApp.sendEmail(emailAddress, subject, body,
   {replyTo: replyToEmailAddress_can_be_any_email,
    from: 'notifications@yourschool.edu'
 });

Примечание: ваша ссылка не открылась.

...