У меня есть скрипт для преобразования ответов формы в контакты в contactsApp. Когда я запускаю его из редактора сценариев, он работает.
Я хотел бы, чтобы отправка формы, связанной с электронной таблицей, запускала сценарий, поэтому был создан триггер отправки формы, но ut не работает (разумеется).
Не работает ли объяснение триггера, что существует некоторая задержка между отправкой формы и электронной таблицей для получения новых данных? Таким образом, скрипт запускается до того, как у него есть данные для работы.
В любом случае, вот код:
function oneNewContact() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var shts = ss.getSheets();
var lr = shts[0].getLastRow();
var acol = shts[1].getRange(1, 1, lr-1, 1).getValues();
var drng = shts[1].getRange(1, 2, lr-1, 6).getValues();
for(var i = 0; i < lr-1; i++) {
if(acol[i][0]!==1) {
var first = drng[i][0];
var surname = drng[i][1];
var phone = drng[i][2];
var email = drng[i][3];
var consentDate = drng[i][5];
var grp = 'qcbread';
//create contact
var contact = ContactsApp.createContact(first, surname, email);
var contactID = contact.getId();
//add info via bug workaround ie getting the new contact via contactID
contact = ContactsApp.getContactById(contactID);
console.log(contact.getFullName());
contact.addPhone('mobile', phone);
contact.setNotes('contact consent given to MQC on '+ consentDate);
//update contact
var group = ContactsApp.getContactGroup(grp);
contact = contact.addToGroup(group);
}// end of if
//added contact marked as processed
var acell = i + 1;// add 1 to array counter
var mark = shts[1].getRange('A'+ acell );
mark.setValue(1);
}// end of for loop
}