Если
var timestamp = e.values[0];
выдает ошибку
TypeError: Cannot read property 'values' of undefined
это означает, что вы пытаетесь запустить скрипт вручную, нажав кнопку «Play».
Это то, что вы не можете сделать в функции, которая запускается по триггеру и использует объекты событий .
- В вашем случае
e.values
- объект события - значения, которые передаются в вашу электронную таблицу в момент отправки формы, они могут быть получены только в момент срабатывания триггера. - Если вы запустите свою функцию вручную - в этот самый момент в вашу электронную таблицу не будут передаваться значения событий, поэтому
values
будет undefined
, а ваш скрипт Cannot read property 'values' of undefined
Обходной путь
Если вы хотите проверить, работает ли остальная часть вашего кода, как задумано - проверьте это с жестко заданными фиктивными значениями.
Вы можете использовать тернарный условный оператор , который проверяет, существует ли определенная переменная (e.values), а если нет - присваивает значение по умолчанию.
Пример:
timestamp = e ? e.values[0] : "5/28/2020 11:32:48";
Эта строка означает, что если объект события e
существует (когда функция запускается триггером), timestamp
будет e.values[0]
.
Если e
не существует (потому что вы тестируете функцию вручную), жестко запрограммированное значение 5/28/2020 11:32:48
будет присвоено timestamp
.
Пожалуйста, примените это ко всем своим e.values
, чтобы избежать ошибки Cannot read property 'values' of undefined
.