Гугл формы. Отправить письмо на основе ответа. Ошибка в namedValues - PullRequest
0 голосов
/ 08 апреля 2020

Позвольте мне предварить это, сказав, что я не знаю javascript (это следующее, чему я учусь).

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

function onFormSubmit(e){
    var values = e.namedValues;
    Logger.log(e);
}

. И он будет только возвращать "TypeError: Невозможно прочитать свойство namedValues ​​из undefined в onFormSubmit (Код: 2: 23) "

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

function onFormSubmit(e) {
    var responses = e.namedValues;

  // If the question title is a label, it can be accessed as an object field.
  // If it has spaces or other characters, it can be accessed as a dictionary.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName('emails');
  var last = ss.getLastRow();
  var data = ss.getRange(1,1,last,2).getValues();// create an array of data from columns A and B
  var valB = e.namedValues['Site'][0];
  for(nn=0;nn<data.length;++nn){
    if (data[nn][0]==valB){break} ;// if a match in column A is found, break the loop
      }
  var sm_email = (data[nn][1]);// return Site Managers Email Address (hopefully)
  //GmailApp.sendEmail(sm_email, 'Test', 'Please Just Let This Work');
  Logger.log(sm_email);
}
...