2

有没有办法在集成并提交 Jotform 时触发 Google Apps 脚本???我想甚至是一种触发创建的新行的方法。

这是我正在寻找的流程。

Jotform 提交 >> Google 电子表格 >> 触发 Google Apps 脚本 >> 做一些事情

干杯...

4

3 回答 3

2

是的你可以,

使用脚本管理器将脚本添加到电子表格后,启用 onChange 事件触发器,如下所示:

首先选择 Resources->Current project's triggers...

选择资源->当前项目触发器

然后将触发器设置为: 设置触发器

你可以在onChange函数中做任何你想做的事情。这是一个将新插入的行作为电子邮件发送的示例:

function onChange(e){

    // sends newly inserted row as an email
    if (e.changeType == "OTHER") { // mean the sheet is updated via an api call

    var sheet = SpreadsheetApp.getActiveSheet();

    var rows = sheet.getLastRow();
    var columns = sheet.getLastColumn();

    var data = [];

    for (var i=1; i<columns; i++){
      data.push(sheet.getRange(rows, i).getValue());
    }

    MailApp.sendEmail("you@example.com", "autoTriggeredByJotform", Utilities.jsonStringify(data));
  }
};
于 2013-05-10T12:26:18.523 回答
1

我不确定是否可以使用谷歌电子表格触发谷歌应用脚​​本。我想应该有办法。

https://developers.google.com/apps-script/understanding_events

但是,可以在提交 JotForm 表单时触发外部 URL/脚本:

http://www.jotform.com/help/51-How-to-Post-Submission-Data-to-Thank-You-Page

于 2013-04-24T15:34:23.193 回答
1

如果您想使用 JotForm、Formstack、Zapier 等或除 Google Forms 之外的任何其他表单来触发 Ultradox,您将像我在过去 2 天中所遇到的那样为这个问题制定一个适当的解决方案。于 2012 年 11 月首次提出。

该解决方案将针对 JotForm 到 Ultradox 触发器进行定制。

从 New Ultradox > 将其命名为“触发器”> 将 1 分钟计时器设置为第一个块(否则触发器将在 JotForm 有机会将新表单数据写入工作表之前启动)> 插入 Google Apps 脚本 - 我的脚本块 > 单击创建并重命名为“触发器”> 将第 1 到 78 行替换为以下代码:

// The following method will be invoked whenever Ultradox executes the script
function execute(mode1) {
  var sheet = SpreadsheetApp.openById('1KFVcrrCpiPKn7pOz2sQoI5IPjiPNlNKuHpykhlKA0fY').getSheetByName('Submissions');
//Change the sheet Id and name as appropriate
   var lastRow = sheet.getLastRow();
   var response = UrlFetchApp.fetch('http://www.ultradox.com/batch?id=x5OPzk9iQ5LssjaeEgxScBMqXA3Pnc&chunk='+lastRow);}

从脚本编辑器的第 4 行,更改工作表 ID(更改为您的响应表 ID,在其 URL 中找到)和响应所在的电子表格内的工作表选项卡的名称(不是电子表格的名称)> 转到您想要触发的 Ultradox > 单击文件 > 集成 > 复制您的集成 URL > 返回脚本,替换第 9 行的 URL,“&chunk=”是脚本的一部分,需要保留在 URL 的末尾。

单击发布 > 部署为 Web 应用程序 > 将谁有权访问应用程序:更改为任何人 > 部署 > 复制当前 Web 应用程序 URL。

返回到 Trigger Ultradox 并单击脚本块上的齿轮图标(如果不可用,请删除此块,添加另一个脚本块,单击选择,找到您创建的脚本并将其与此块相关联)将“应用程序 URL”粘贴到“输入”已发布的脚本 URL > 确定 > 单击文件 > 集成 > 复制您的集成 URL。

转到 JotForm 并打开自定义的“Thank You”页面 > 插入/编辑图像 > 将 Trigger Ultradox 中的集成链接粘贴到 Source > OK > 将新框调整为非常小的尺寸。请注意,每次打开感谢页面时都会触发您的 Ultradox :-)

流程摘要... JotForm 已提交 > 感谢页面 触发 Trigger Ultradox 1 分钟计时器 > 表单数据写入工作表 > 触发脚本从工作表中获取最后一个行号 > 脚本将此行号附加为“块” ' 到触发集成之前的 Ultradox 集成 URL。

您想将 Trigger 脚本放在您想要触发的 Ultradox 中,而不是将其作为单独的 Ultradox 吗?

您必须弄清楚如何将“lastRow”变量从触发脚本传递到“Pick row(s)”构建块。由于这将位于您的工作流程之上,因此您还必须为触发脚本制定“仅在以下条件为真时执行”,因此您可以触发其他行而不会干扰脚本。

于 2016-06-30T11:17:51.713 回答