跳到主要内容
FormFlow

把提交发送到你从 Drive 中选取的 Google 表格

只需连接一次 Google 账号,从 Google Drive 中选择电子表格和工作表,每条被接受的提交都会成为一行。FormFlow 写入什么、什么会让它暂停,以及如何重新发送此前的提交。

本文由机器翻译。 阅读英文原文

Screenshot of FormFlow's Send submissions to a spreadsheet window on a form's Delivery tab, with a Browse Google Drive button for the spreadsheet and a Tab choice. It shows the Drive picker the tutorial uses to pick a Google Sheet.

对于你之外的人也要阅读的提交来说,Google 表格是个不错的去处。表单可以把每条被接受的提交作为新的一行,发送到某个电子表格的某个工作表。自 v1.57.0 起,你可以通过浏览你的 Google Drive(包括共享云端硬盘)来选择这个电子表格,而不是粘贴链接。本教程会连接 Google、选择电子表格、展示 FormFlow 写入了什么,并说明什么会让它暂停,以及如何重新发送此前到达的提交。

你需要准备什么

  • 一个付费套餐。在其他套餐上,“团队设置”和“投递”标签页都会说“Google 表格目标仅在付费方案中提供。”

  • 一位团队所有者来连接 Google。成员会看到一条说明,提示要先由所有者在“团队设置”中连接一个 Google 账号。

  • 账户上有一个已确认的电子邮件地址。自 v1.60.3 起,尚未确认地址的账户无法连接 Google 表格,会被带到要求它确认的页面。

连接一次 Google

  1. 打开“团队设置”,找到“Google 表格”部分。它会说“连接一次 Google 账号,然后在每个表单上选择一个电子表格。”

  2. 点击“连接 Google”,并批准 Google 要求的访问权限。FormFlow 现在只请求它自己创建的或你为它选定的电子表格,绝不请求你 Drive 的其余部分。

  3. 回到“团队设置”,该部分会显示已以你的 Google 地址连接。

为表单选择电子表格

  1. 先保存表单。对于尚未保存的表单,这一部分只会提示先保存它,再选择电子表格。

  2. 打开表单的“投递”标签页,找到“Google 表格”部分。它的说明是“每条已接受的提交都会追加为一行。”

  3. 点击“选择电子表格”。窗口的标题是“将提交发送到电子表格”。Google 的选择器会打开,显示你的 Drive 和共享云端硬盘。

  4. 选择电子表格,然后选择“工作表”。“工作表”下方的提示文字说,FormFlow 自己写入标题行,并在右侧追加新的列。

  5. 确认。FormFlow 会按名称说明提交将发送到该电子表格,该部分会显示正在发送到哪个电子表格的哪个工作表,并附上各自的名称。

如果你想从头开始,请改为点击“创建电子表格”。FormFlow 会在已连接的账号中创建一个 Google 表格,名称为表单名称加上“ — FormFlow”,并让表单指向它的第一个工作表。

测试它

  1. 点击“测试”。FormFlow 会读取工作表的标题,并回答“可以访问该电子表格”,附上它有多少列。如果 Google 拒绝,它会显示 Google 返回的状态,并告诉你检查已连接的账号是否可以编辑该电子表格。

  2. 通过该表单发送一条真实的提交。

  3. 打开电子表格。该部分的状态行现在会说明最后一行何时写入。

FormFlow 写入什么

  • 第 1 行归 FormFlow 所有。它包含 submission_id 和 received_at,后面是表单每个字段的一列,按表单的顺序排列。

  • 每条提交都追加在它的下方。FormFlow 只会追加,从不改写此前的行。

  • 当一条提交带有尚无对应列的答案时,该列会添加在右侧。不会重新排序,所以指向某一列的公式会继续指向它。

  • 字段名称为 submission_id 或 received_at 的答案会得到自己的列,answer:submission_id 或 answer:received_at,这样它绝不会与 FormFlow 自己的列冲突。

  • 一个单元格最多容纳 50,000 个字符。更长的答案在表格中会被截断,而在 FormFlow 中完整保留,并且不再阻止同一批中的其余内容发送。

  • 文字以 =、+、- 或 @ 开头的单元格,写入时会加上前导的单引号,这样 Sheets 会把它保留为文本,而不是当作公式读取。普通数字则保持原样。你会在单元格中看到那个单引号。

发送此前的提交

电子表格只会收到从选定它的那一刻起的提交。要把表单已有的提交填进去,请点击“发送此前的提交”。确认框会说明,每条尚不在电子表格中的提交都会排队,已发送的行绝不会重复发送。当目标处于暂停状态,或者已有补发正在运行时,该按钮是禁用的。

发送何时暂停

重试、历史记录和暂停的工作方式与Webhook相同。该部分的状态行会说明发生了下面哪一种情况:

  • “已暂停”是你自己用“暂停”按钮做的选择。点击“恢复”即可继续。

  • “在重新连接 Google 之前已暂停”表示 Google 不再接受该连接。请从“团队设置”重新连接。自 v1.10.8 起,重新连接只会恢复那些正在发送的电子表格,你暂停的仍保持暂停。等待中的行之后会自行发出。

  • “因为此套餐不再包含 Google 表格而暂停”就是字面意思。表单会保留它的目标和等待中的行。

  • 当 Google 持续拒绝行时,会出现“连续 N 次失败”。你的控制台会把该表单列为“电子表格失败”,通常的原因是已连接的账号不再能编辑该电子表格。

如果你让表单指向另一个电子表格或工作表,它会从干净的记录开始。旧表格的失败不会算在新表格头上。复制表单不会复制它的电子表格。副本开始时没有电子表格。

需要了解的局限

  • 一个表单最多有一个 Google 表格目标,一个团队有一个 Google 连接。

  • Google 限制一个电子表格可容纳的单元格数,也就是行数乘以列数。一个字段很多的繁忙表单会让两者都增长。Google Sheets 单元格上限的文章说明了这个上限。在你让表单指向一个你已用于其他用途的表格之前,请先查看它。

  • 标题行归 FormFlow 所有。请不要在表格中重命名或重新排列它的列。

  • Google 表格是一份副本。在 FormFlow 中删除提交,或设置保留期限,都不会移除已发送的行。

把你的第一个表单指向 FormFlow。

无需搭建后端,无需托管前端。

免费开始