如何设置Google Forms每日仅在特定时间段开放响应?
如何配置Google Forms每日仅在特定时间段开放提交响应
Google Forms本身没有内置的每日定时开放/关闭提交功能,你需要借助Google Apps Script来实现这个需求。以下是具体步骤:
步骤1:获取表单ID
从你的表单链接中提取核心ID:
你的示例链接:https://docs.google.com/forms/d/e/1FAIpQLScTb_OSCAh0wr5sWznehdwD6NOHbJ6uBzGPXUFuxrPToqtEHw/viewform
其中的表单ID为:1FAIpQLScTb_OSCAh0wr5sWznehdwD6NOHbJ6uBzGPXUFuxrPToqtEHw
步骤2:编写Apps Script代码
- 打开目标表单,点击右上角「扩展程序」→「Apps Script」进入脚本编辑器。
- 删除默认的
myFunction()代码,替换为以下脚本(记得替换代码中的表单ID):
// 开放表单提交 function openForm() { const formId = '1FAIpQLScTb_OSCAh0wr5sWznehdwD6NOHbJ6uBzGPXUFuxrPToqtEHw'; // 替换为你的表单ID const form = FormApp.openById(formId); form.setAcceptingResponses(true); } // 关闭表单提交 function closeForm() { const formId = '1FAIpQLScTb_OSCAh0wr5sWznehdwD6NOHbJ6uBzGPXUFuxrPToqtEHw'; // 替换为你的表单ID const form = FormApp.openById(formId); form.setAcceptingResponses(false); // 设置关闭时的提示语(可选) form.setCustomClosedFormMessage('表单仅在每日8:30-15:00开放提交,请在对应时间段内填写。'); }
步骤3:设置定时触发器
- 在脚本编辑器左侧点击「触发器」图标(时钟形状)。
- 点击「添加触发器」,分别配置两个定时任务:
- 开放表单触发器:
- 选择函数:
openForm - 事件源:「时间驱动」
- 类型:「日计时器」
- 时间:「上午8:30」
- 时区:选择你的本地时区(如「Asia/Shanghai」对应北京时间)
- 选择函数:
- 关闭表单触发器:
- 选择函数:
closeForm - 事件源:「时间驱动」
- 类型:「日计时器」
- 时间:「下午3:00」(即15:00)
- 时区:与上面保持一致
- 选择函数:
- 开放表单触发器:
步骤4:授权并测试
- 点击脚本编辑器的「运行」按钮,先手动测试
openForm和closeForm函数,首次运行会提示权限授权,按指引完成即可(需使用创建表单的Google账号)。 - 手动触发后检查表单是否正常开放/关闭,确认功能生效。
注意事项
- Google时间驱动触发器存在±15分钟的误差,若需更精准,可调整触发时间(比如将开放时间设为8:25,关闭设为15:05)。
- 确保脚本时区正确:在脚本编辑器「设置」中勾选「显示appsscript.json清单文件」,打开文件后将
"timeZone"值改为对应时区(如"Asia/Shanghai")。
内容的提问来源于stack exchange,提问作者cdwsgstacker
相关产品推荐
相关产品推荐

