正如标题所说,我正在尝试从脚本中获取Google表单的用户界面,这样我就可以向用户显示一些提示信息的提示框。
这是该功能的相关部分:
function Foobar(){
...
var ui = FormApp.getUi();
ui.alert("Foo", "bar", ui.ButtonSet.OK);
}
此代码在“On form submit”事件触发器上执行。几秒钟后,我收到一封包含此错误的电子邮件:
Cannot call FormApp.getUi() from this context.
现在,从my understanding开始,绑定脚本(就像这个,它是通过工具 - >脚本编辑器从表单创建的)应该可以访问表单的ui。
我已经尝试从SpreadsheetApp调用相同的函数,以防表单响应自动切换到电子表格,但没有骰子。我也尝试从“On open”触发器调用的函数中保存对UI的全局引用,但是也失败了。
我错过了什么?
答案 0 :(得分:3)
对于表单提交,这是不可能的,您实际上无法实时与面向用户的Google表单的用户界面进行交互。"实时"一点都不。
在您链接的文档中,它说明了这一限制:
(请注意,在Google表单中,用户界面元素仅可见 打开表单进行修改的编辑器,而不是打开的用户 要回复的表格。)