Не срабатывает функция при загрузке таблицы
Есть скрипт, в нём функция чтения из текстового файла, который на Google диске. Вся загвоздка в том, что когда запускаешь её из самого редактора или повесить её на какой нибудь пункт меню, всё срабатывает и файл читается, но когда открываешь или обновляешь таблицу, то функция не работает. Собственно нужно, что бы она срабатывала, только когда открываешь таблицу.
function onOpen() {
var fileID = <ID>;
var fileBlob = DriveApp.getFileById(fileID).getBlob();
var values = fileBlob.getDataAsString();
}
Ответы (1 шт):
Ответ заключается в Ограничениях, точнее:
They cannot access services that require authorization. For example, a simple trigger cannot send an email because the Gmail service requires authorization, but a simple trigger can translate a phrase with the Language service, which is anonymous.
Что значит, что простые триггеры ( как ваш onOpen ) не могут использоваться сервисы, которые требуют авторизацию ( DriveApp.getFileById(fileID) потребует авторизацию)
Вместо этого попробуйте Устанавливаемые триггеры, у них функционал шире:
...Installable triggers, however, offer more flexibility than simple triggers: they can call services that require authorization...
То есть они способны вызывать сервисы, требующие авторизацию