【问题标题】:Multiple forms triggered to single sheet多个表单触发到单个工作表
【发布时间】:2015-03-18 19:15:50
【问题描述】:

我有一个谷歌电子表格,它从两种不同的表格中获取信息。

在触发器菜单中选择“OnFormSubmit”时,使用电子表格 UI 手动触发无法区分哪个表单。

因此,我使用以下代码(对于我的工作表)来管理两个不同表单提交的两个不同触发事件:

function onOpen(e) {


var form = FormApp.openById('ID of Form 1');
 ScriptApp.newTrigger('onForm1Submit')
     .forForm(form)
     .onFormSubmit()
     .create();


var signup = FormApp.openById('[ID of Form 2]');
signup.setRequireLogin(true)
 ScriptApp.newTrigger('SignUpEvent')
     .forForm(signup)
     .onFormSubmit()
     .create();
}      
function SignUpEvent(e) {
\\stuff
}

function onForm1Submit(e) {
\\stuff
}

但是当我这样做时,我收到了表单提交失败的通知:

功能:更新阶梯

错误消息:“执行该操作需要授权。”

触发器:“formSubmit”

首先,我如何接收这些电子邮件通知?我没有手动请求错误消息的电子邮件通知。 其次,我获得“授权”的最佳方式是什么?

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-forms


    【解决方案1】:

    对于onFormSubmit() 函数,您可以编写代码以将目标工作表与某个函数相匹配。例如,我有一个电子表格,它有 2 个表单,其中都有用于目标的工作表。在onFormSubmit() 触发代码中,这是我所做的:

    function onFormSubmit(e) {
      Logger.log("[METHOD] onFormSubmit");
      var sheet = e.range.getSheet();
      var sheetId = sheet.getSheetId();
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var student = ss.getSheetByName("Student Requests");
      var studentId = student.getSheetId();
      var teacher = ss.getSheetByName("Teacher Requests");
      var teacherId = teacher.getSheetId();
      if (sheetId == studentId){
        sendStudentEmail(e.range);
      }
      if (sheetId == teacherId){
        sendTeacherEmail(e.range)
      } 
    } 
    

    因此,在本例中,教师可以使用表单请求,如果 onFormSubmit 与教师表单相关,则发送教师电子邮件等。

    【讨论】:

      【解决方案2】:

      我有理由确定 onFormSubmit 将一个电子表格绑定到一个表单;它不知道如何处理两个 onFormSubmit 触发器。

      【讨论】:

      • 这是我想到的:stackoverflow.com/questions/25227987/… 你认为 Sandy Good 给出的答案行不通吗?如果问题是我一次只能有一张一张表格,我可以在哪个表格连接到表格之间切换吗?如何在每个表单提交事件中更改触发表单的表单?
      猜你喜欢
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多