无法从绑定的 Google 表单脚本调用 FormApp.getUi()

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 的(全局)引用,但这也失败了。

我错过了什么?

Cam*_*rts 5

这在响应表单提交时是不可能的,您实际上根本无法“实时”与面向用户的 Google 表单的 UI 交互。

在您链接的文档中,它说明了此限制:

(请注意,在 Google 表单中,用户界面元素仅对打开表单进行修改的编辑者可见,而对打开表单进行响应的用户不可见。)