Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在给定时间发布google表单_Google Apps Script_Google Forms - Fatal编程技术网

Google apps script 在给定时间发布google表单

Google apps script 在给定时间发布google表单,google-apps-script,google-forms,Google Apps Script,Google Forms,作为我所在大学的助教,我必须为一个学生项目创建一份报名表。报名将以“先到先得”的方式进行,并应在指定日期的下午5点开始 这是一个很好的解决方案来实现这一点,使用谷歌应用程序脚本和谷歌表单 问题是onOpen()触发器只对我有效(即在编辑模式下)。实际上,我可以这样编程,我有一个onOpen()函数,然后从下午4:55开始。例如,我使用firefox中的重新加载每个插件 我也在考虑使用ClockTriggerBuilder,问题是,根据文档 atHour() 有更好的方法吗?如果要在特定时间“打开

作为我所在大学的助教,我必须为一个学生项目创建一份报名表。报名将以“先到先得”的方式进行,并应在指定日期的下午5点开始

这是一个很好的解决方案来实现这一点,使用谷歌应用程序脚本和谷歌表单

问题是
onOpen()
触发器只对我有效(即在编辑模式下)。实际上,我可以这样编程,我有一个
onOpen()
函数,然后从下午4:55开始。例如,我使用firefox中的重新加载每个插件

我也在考虑使用ClockTriggerBuilder,问题是,根据文档

atHour()

有更好的方法吗?

如果要在特定时间“打开”表单,请将其设置为“不接受答案”(在表单“响应”选项卡上),然后使用应用程序脚本日期时间特定触发器将其设置为在所需时间打开

function openMyForm() {
  FormApp.openById('your-form-id').setAcceptingResponses(true);
}

您不能为您的用户使用打开时触发器。如果响应数量有限制,则可以使用“表单上提交”触发器,并在每次提交表单时计算响应数量,然后在该限制下关闭表单。使用代码可以将触发器设置为每分钟一次,但是否保证它会在那一分钟运行是个问题。目前有一个附加组件,用于在特定日期或响应数关闭表单,但我没有使用它。我正在编写一个加载项来打开/关闭表单。@sandy不,没有已关闭的号码,而是一个等待列表。我知道关于关闭表单的插件,但实际上用于打开/关闭的插件似乎丢失了听起来不错的插件,但您确定不会有与我上面报告的相同的容差(+/-15分钟?)。不过我会测试一下。为完整起见,我将添加已安装触发器
函数createTimeDrivenTrigger(){ScriptApp.newTrigger('myFunction').timeBased().create();}
所需的代码实际上,这相当于使用
.at()
方法创建时间触发器,并且公差为+/-15min。你看,这似乎很可靠。至少在我的两个测试中,它是+/-从我的测试,当你指定到分钟,它在那分钟~30秒执行。当使用每小时或每天,你可能会得到一个更大的范围。但是这里有一点很好,文档在这些方面非常轻松:-/是的,实际上在最终的应用程序中它工作得很好。文档肯定太宽松了,或者没有指定在哪种情况下(如果您只指定了小时?),此公差适用。我本可以不遗余力地询问stackoverflow的情况是否如此;-)再次感谢您的回答和时间。