Google apps script 我可以在没有电子表格的情况下从Google表单触发脚本吗?

Google apps script 我可以在没有电子表格的情况下从Google表单触发脚本吗?,google-apps-script,form-submit,google-forms,Google Apps Script,Form Submit,Google Forms,我真的不想将我的表单响应存储在电子表格中,我只想收到一封发送给我的带有结果的电子邮件(然后可能连接到curl API将其添加到我的CRM中) 如果我把它作为电子表格使用,它就可以工作了,但不能仅仅用表单中的代码来完成吗 使用时 function onFormSubmit(e) 我只是觉得e没有定义 提前谢谢 本 我们可以直接将脚本添加到Google表单中 我们不需要将响应保存在一些google工作表中来运行脚本 步骤: 转到谷歌表单 转到选项(3个垂直点) 脚本编辑器 在那里添加脚本 我们可以

我真的不想将我的表单响应存储在电子表格中,我只想收到一封发送给我的带有结果的电子邮件(然后可能连接到curl API将其添加到我的CRM中)

如果我把它作为电子表格使用,它就可以工作了,但不能仅仅用表单中的代码来完成吗

使用时

function onFormSubmit(e)
我只是觉得e没有定义

提前谢谢

我们可以直接将脚本添加到Google表单中

我们不需要将响应保存在一些google工作表中来运行脚本

步骤:

  • 转到谷歌表单
  • 转到选项(3个垂直点)
  • 脚本编辑器
  • 在那里添加脚本
  • 我们可以直接将脚本添加到Google表单中

    我们不需要将响应保存在一些google工作表中来运行脚本

    步骤:

  • 转到谷歌表单
  • 转到选项(3个垂直点)
  • 脚本编辑器
  • 在那里添加脚本

  • 将它们链接到电子表格是设置它的一种简单方法,如果你松开了一个,它将始终在电子表格中。如果你想每次提交都收到一封电子邮件。您可以使用onFormSubmit触发器

    您可以使用以下命令创建触发器:

    function createOnFormSubmitTrigger(funcname) {
      var ss=SpreadsheetApp.getActive();
      if(!isTrigger(funcname)) {
        ScriptApp.newTrigger(funcname).forSpreadsheet(ss.getId()).onFormSubmit().create()
      }
    }
    
    这有助于防止为给定函数创建多个触发器

    function isTrigger(funcName){
      var r=false;
      if(funcName){
        var allTriggers=ScriptApp.getProjectTriggers();
        for(var i=0;i<allTriggers.length;i++){
          if(funcName==allTriggers[i].getHandlerFunction()){
            r=true;
            break;
          }
        }
      }
      return r;
    }
    

    运行此命令一次,将emailme脚本与onFormSubmit触发器链接起来

    function makeTrigger() {
      createOnFormSubmitTrigger('emailme')
    }
    

    将它们链接到电子表格是设置它的一种简单方法,如果你松开了一个,它将始终在电子表格中。如果你想每次提交都收到一封电子邮件。您可以使用onFormSubmit触发器

    您可以使用以下命令创建触发器:

    function createOnFormSubmitTrigger(funcname) {
      var ss=SpreadsheetApp.getActive();
      if(!isTrigger(funcname)) {
        ScriptApp.newTrigger(funcname).forSpreadsheet(ss.getId()).onFormSubmit().create()
      }
    }
    
    这有助于防止为给定函数创建多个触发器

    function isTrigger(funcName){
      var r=false;
      if(funcName){
        var allTriggers=ScriptApp.getProjectTriggers();
        for(var i=0;i<allTriggers.length;i++){
          if(funcName==allTriggers[i].getHandlerFunction()){
            r=true;
            break;
          }
        }
      }
      return r;
    }
    

    运行此命令一次,将emailme脚本与onFormSubmit触发器链接起来

    function makeTrigger() {
      createOnFormSubmitTrigger('emailme')
    }