【问题标题】:Forms On Submit Trigger提交表单时触发
【发布时间】:2018-03-13 23:01:52
【问题描述】:

我创建了一个简单的 Google Forms 表单,并试图让它在提交表单时运行 Apps 脚本。作为确保我的脚本被调用的简单测试,我的脚本只是写入日志:

    function onFormSubmit(e) {
      Logger.log("Testing");
    }

然后我尝试通过“编辑 > 当前项目的触发器”添加触发器。我在 Run 字段中选择函数名称,在 Events 字段中选择“From form”和“On form submit”。我单击“保存”按钮并收到错误消息“很抱歉,发生服务器错误。请稍候,然后重试。”在屏幕顶部弹出。

我已经用不同的函数名称、函数代码(甚至函数中根本没有代码,只是一个注释!)等尝试了多次,但我总是得到那个错误。我也尝试过从不同的 Google 帐户和不同的浏览器(Firefox 和 Chrome)中执行此操作并得到相同的错误。我尝试创建一个不在表单中的简单独立脚本,并且我能够为其设置定时触发器并且效果很好。

如果我手动运行代码,那么它可以正常工作,并且消息会添加到日志文件中,所以我认为错误与我的代码无关。

我是否在某个地方错过了另一个步骤?某种身份验证或发布之类的?

也许这真的是服务器问题,我只需要等待,到目前为止,我在过去 3 小时内一直收到错误消息。

【问题讨论】:

  • 更改为 console.log("Testing"); console.log(e); 并使用 View -> Stackdriver Logging。还要确保您没有为已安装触发器的函数命名,使其与将触发简单触发器的名称匹配。
  • 我想您现在正在响应表中添加触发器,对吗?试试这个:打开你的表单>选项>脚本编辑器>在那里添加你的触发器和函数。
  • @tehhowch 问题不在于日志记录,而在于添加了 onSubmit 触发器。
  • @Umair 这正是我尝试添加触发器的方式。

标签: google-apps-script triggers google-forms


【解决方案1】:

在过去几天尝试将表单提交触发器添加到附加到 Google 表单的脚本时,我遇到了完全相同的行为。我去编辑>当前项目的触发器,我从列表中选择(唯一的)功能,我确保选择了“来自表单”和“表单提交”,然后当我点击保存时,我得到了“我们”很抱歉,发生服务器错误。请稍候,然后重试”错误。

【讨论】:

  • 我猜谷歌端有问题。我最终选择了创建一个普通的 HTML 表单并使用 AJAX 将字段发送到我想要存储结果的电子表格。
猜你喜欢
  • 2022-11-02
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 2021-07-07
  • 2011-03-24
  • 1970-01-01
  • 2015-03-03
  • 1970-01-01
相关资源
最近更新 更多