未从表单加载项触发电子表格触发器

问题描述 投票:0回答:1

我有一个用于Google表单的私人编辑器加载项,类似于市场上现有的“表单批准”加载项。该加载项绑定到一个表单文档,并且在入职期间(在初始启动时从onOpen菜单调用),我安装了三个触发器; (1)当前表单的表单提交,(2)保存表单响应的电子表格的表单提交,以及同一电子表格的(3)onEdit。

[当我在开发中运行脚本时(不是作为市场的附件),一切正常。当我将脚本作为附件运行时(我的组织专用,从市场安装),将触发该表单的触发器而不会出现问题,但是不会触发两个电子表格触发器。这是限制还是问题?

我的入职功能的代码片段(仅在首次打开附加组件时调用:)>

  createResponseSpreadsheet(); /* assures that a response spreadsheet exists */
  var form = FormApp.getActiveForm();
  var spreadsheet = SpreadsheetApp.openById(form.getDestinationId()); /* is not null */
  ScriptApp.newTrigger('spreadsheetOnFormSubmit').forSpreadsheet(spreadsheet).onFormSubmit().create();
  ScriptApp.newTrigger('spreadsheetOnEdit').forSpreadsheet(spreadsheet).onEdit().create();
  ScriptApp.newTrigger('formOnFormSubmit').forForm(form).onFormSubmit().create();

和触发功能:

function spreadsheetOnEdit(e) {
  /* ... */
}

function spreadsheetOnFormSubmit(e) {
  /* ... */
}

function formOnFormSubmit(e) {
  /* ... */
}

该项目的OAuth范围:

  "oauthScopes": [
    "https://www.googleapis.com/auth/spreadsheets", 
    "https://www.googleapis.com/auth/forms", 
    "https://www.googleapis.com/auth/script.container.ui",
    "https://mail.google.com/"
  ],

一些额外信息:

  • 确保在安装触发器时电子表格已经存在。
  • 我可以查看apps脚本项目中的触发器-它们存在,指向正确的文档和正确的功能。
  • 执行表单的触发函数。电子表格的触发功能永远不会执行。
  • 我尝试过:

  • 删除触发器并重新安装它们(以编程方式)
  • 删除触发器,为插件创建一个新版本,然后(以编程方式)重新安装它们
  • 有人有见识吗?谢谢!

我有一个用于Google表单的私人编辑器加载项,类似于市场上现有的“表单批准”加载项。加载项绑定到表单文档,并且在入职期间(从...

google-apps-script google-sheets google-form google-apps-script-addon
1个回答
0
投票

我有一个类似的问题,我找到了问题,但不知道如何解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.