Когда документ Google копируется с помощью сценария, связанного с контейнером, как получить его устанавливаемые триггеры? - PullRequest
0 голосов
/ 22 октября 2018

Issue

У меня есть прикрепленный к контейнеру скрипт, прикрепленный к моему документу.Он имеет onOpen устанавливаемый триггер, и мне нужно получить скрипт во вновь создаваемых документах.Самый эффективный способ, который я нашел, - это создание новых документов путем копирования из исходного документа.

The problem is, that the triggers are not copied with it.

Условия:

  1. Простых триггеров недостаточно, мне нужно использовать действие, требующее авторизации
  2. Я не хочу заставлять своих пользователей создавать триггер вручную для каждого документа
  3. Я не против, если устанавливаетсяТриггер создается после нажатия кнопки из программно созданного меню

Мои мысли:

Я хотел создать его программно - возникла проблема со средой тестирования.Я получаю сообщение об ошибке:

Надстройка предприняла действие, которое не разрешено в режиме тестирования как надстройки.Чтобы использовать это действие, вы должны развернуть надстройку.

, как я понял, мне нужно выпустить проект в хранилище, чтобы использовать его, чего я не хочу делать.

Я не против выпустить его как надстройку, но 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...
}

1 Ответ

0 голосов
/ 29 октября 2018

Я частично понял ответ:

Я думаю, невозможно скопировать документ вместе с его триггерами, но я не нашел официальной документации по этому поводу.

Но ошибка:

Надстройка предприняла действие, которое не разрешено в режиме проверки как надстройки.Чтобы использовать это действие, необходимо развернуть надстройку.

в, казалось бы, обычной среде, вызванной сохраненной конфигурацией теста в редакторе сценариев приложений Google.

Чтобы избавиться отошибка, которую вы должны сначала удалить все тестовые конфигурации в опции «Test as add-on».До этого система видит все запуски как «тестовые», даже если они открыты как обычный пользователь.

...