Issue
У меня есть прикрепленный к контейнеру скрипт, прикрепленный к моему документу.Он имеет onOpen
устанавливаемый триггер, и мне нужно получить скрипт во вновь создаваемых документах.Самый эффективный способ, который я нашел, - это создание новых документов путем копирования из исходного документа.
The problem is, that the triggers are not copied with it.
Условия:
- Простых триггеров недостаточно, мне нужно использовать действие, требующее авторизации
- Я не хочу заставлять своих пользователей создавать триггер вручную для каждого документа
- Я не против, если устанавливаетсяТриггер создается после нажатия кнопки из программно созданного меню
Мои мысли:
Я хотел создать его программно - возникла проблема со средой тестирования.Я получаю сообщение об ошибке:
Надстройка предприняла действие, которое не разрешено в режиме тестирования как надстройки.Чтобы использовать это действие, вы должны развернуть надстройку.
, как я понял, мне нужно выпустить проект в хранилище, чтобы использовать его, чего я не хочу делать.
Я не против выпустить его как надстройку, но IDE-скрипт Google предлагает выпустить его только как веб-дополнение к веб-документации.
Код:
function onOpen(e){
DocumentApp.getUi() // Or DocumentApp, SlidesApp, or FormApp.
.createMenu('Custom menu')
.addItem('Open sidebar automatically', 'createTrigger')
.addToUi();
}
function createTrigger() {
var doc = DocumentApp.getActiveDocument();
ScriptApp.newTrigger('onOpenReal')
.forDocument(doc)
.onOpen()
.create();
}
function onOpenReal(e){
...something requiring authorization...
}