Я только что проверил ваш код и отлично работает для меня. Возможно, ошибка связана с headers
, который вы используете.
Также помните, что onSubmit
- это не простой триггер , что означает, что вы должны установить его раньше. Простой триггер подвержен различным ограничениям , одним из которых является:
Они не могут получить доступ к службам, требующим авторизации.
Так что в вашем случае вам нужно использовать устанавливаемый триггер . Сначала создайте и выполните код, который создает триггер, после чего появится экран согласия, чтобы вы могли принять области действия функции триггера.
Примером для onFormSubmit
может быть что-то вроде этого:
function createTrigger(){
var sheet = SpreadsheetApp.openById("<your-sheet-id>");
ScriptApp.newTrigger('onSubmit')
.forSpreadsheet(sheet)
.onFormSubmit()
.create();
}
В этом случае onSubmit
- это имя вызываемой функции. когда триггер выполнен (ваша функция).
Выполните это createTrigger
и примите разрешения.
Теперь все должно работать нормально и выполняться каждый раз с соответствующими разрешениями.