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