Итак, у меня есть несколько скриптов Google Apps, которые используют функции onOpen / onInstall для загрузки меню или выполнения некоторых незначительных действий при запуске. Все они уже довольно давно работают в галерее.
Недавно, и я не совсем уверен в времени, что-то обновленное Google вызвало проблему, в которой:
- OnOpen, похоже, не всегда выполняется при открытии
- OnInstall запускается, но не имеет доступа к функциям в скрипте. В частности, если вы попытаетесь выбрать пункт меню, Apps Scripts выдаст сообщение об ошибке, в котором говорится, что функция не существует (но она существует).
Для пользователя есть невероятно дрянной обходной путь: установите скрипт дважды. Каким-то образом это регистрирует функции, а onInstall загружает меню. Но это работает только до тех пор, пока лист не будет закрыт; тогда они должны быть установлены заново.
Итак, вот мои вопросы:
- Есть ли у других людей эта проблема, придумали ли они обходной путь?
- Это то, что Google признал и исправляет?
- Кто-нибудь знает, когда это произошло?
Наконец, я хотел бы предложить идею «заморозить» api для скрипта в продакшене. IE. мы помещаем переменную вверху, говоря, что мы используем API версии XXX, и это API, который запускает скрипт приложений. Это уже третий раз, когда у меня в производстве есть скрипты, которые затем были сломаны обновлением Google. В какой-то момент нам нужно знать, что когда мы что-то выкладываем в мир, это будет продолжать работать. Пользователи не делают различий между нашей ошибкой и ошибкой в API, а это значит, что мы берем на себя ответственность за такого рода проблемы.