Настройте триггер в скрипте приложения Google для автоматической отправки электронной почты, когда информация о пользователе вставляется в новую строку с помощью dopost () - PullRequest
2 голосов
/ 18 июня 2019

Я сделал сканер qr в Android, который отправляет значение на листы Google, используя dopost() Теперь я хочу настроить триггер для автоматической отправки почты пользователю, когда новая строка вставляется в листы Google.

Я пробовал onEdit() и onChange(), но он не работает

1 Ответ

2 голосов
/ 18 июня 2019

Вы создали веб-приложение для вставки данных в электронную таблицу? Ваш вопрос предполагает это, потому что вы говорите when user information is inserted into a new row using doPost(). Таким образом, чтобы быть понятным, doPost () и doGet () используются для поддержки получения запросов и сообщений из веб-приложения. Если это то, что вы делаете, пожалуйста, сделайте это более ясным.

Но мне кажется, что вы ожидаете, что onEdit () вызовет изменение, когда веб-приложение изменяет данные в электронной таблице. К сожалению, этого не произойдет. Документация от Simple Triggers заявляет onEdit(e) runs when a user changes a value in a spreadsheet. не когда ваш скрипт изменяет значение.

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

Ответ на вопрос

Поскольку вы используете doPost (), почему бы вам просто не использовать форму, и тогда вам не придется передавать все в строке запроса.

function addItem(e){ 
  var ss = SpreadsheetApp.openByUrl("url"); 
  var sheet = ss.getSheetByName('Sheet1'); 
  var date = new Date(); 
  var Roomnumber = e.parameter.Roomnumber; 
  var email = e.parameter.email; 
  sheet.appendRow([date,Roomnumber,email]); 
} 


function sendEmails() { 
  var ss = SpreadsheetApp.openByUrl("url"); 
  var sheet = ss.getSheetByName('Sheet1');
  var range = sheet.getRange(sheet.getLastRow(),1,1,3);
  var values = range.getValues;
  var date=values[0][0];
  var roomnumbeer=values[0][1];
  var email=values[0][2];
  //code to send mail 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...