Программное создание формы с автоматическим отключением триггера

TL;DR: Как программно создать форму с триггером, который не отключается.

function createdFormTrigger(e) {
  var result = {};
  var responses = e.response.getItemResponses();
  for (var i = 0; i < responses.length; i++) {
      var title = responses[i].getItem().getTitle();
      var response = responses[i].getResponse();
      result[title] = response;
  }
  var db = FirebaseApp.getDatabaseByUrl("https://firebase-livedata.com");
  var form = FormApp.getActiveForm();

  db.pushData(form.getTitle(), result)
}

function onFormSubmit(e) {
  var email = e.response.getRespondentEmail();
  var form = FormApp.create("Form " + e.response.getId())
  form.addEditor(email)
  ScriptApp.newTrigger('createdFormTrigger')
    .forForm(form)
    .onFormSubmit()
    .create();
}

Создаю форму с триггером (onFormSubmit), которые активны в форме submit. Триггер программно создаст новую форму и назначит ей триггер.createdFormTrigger. Триггер создается, но всегда отключается автоматически (рисунок прилагается), есть ли способ, чтобы он не отключался автоматически?

Я добавил необходимую библиотеку (Firebase), установил области ("https://www.googleapis.com/auth/forms" & "https://www.googleapis.com/auth/forms.currentonly") и убедился, что я запустил правильную форму. Кто-нибудь может мне помочь?

1 ответ

Решение

Триггер автоматически отключается, поскольку форма, к которой прикреплен триггер, не включает проект ограниченного сценария.

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

Другие вопросы по тегам