Google apps script 我的OnFormSubmit触发器需要在加载项';s OnFormSubmit触发火灾

Google apps script 我的OnFormSubmit触发器需要在加载项';s OnFormSubmit触发火灾,google-apps-script,triggers,google-forms,add-on,Google Apps Script,Triggers,Google Forms,Add On,我将表单发布器附加组件与谷歌表单一起使用,以便将每个表单响应转换为谷歌文档。这是一个很棒的附加组件 我已经编写了自己的OnFormSubmit触发器(Head部署;应用程序脚本库的一部分),用于重命名表单用户作为表单响应的一部分上载的文件。(文件名只能从Drive.App文件对象获得,不能从表单响应本身获得。) 根据Form Publisher输入到它生成的Google文档中的上传文件名,我可以看出,有时候文档是在我的OnFormSubmit重命名文件之前生成的,有时候是在我的OnFormSub

我将表单发布器附加组件与谷歌表单一起使用,以便将每个表单响应转换为谷歌文档。这是一个很棒的附加组件

我已经编写了自己的OnFormSubmit触发器(Head部署;应用程序脚本库的一部分),用于重命名表单用户作为表单响应的一部分上载的文件。(文件名只能从Drive.App文件对象获得,不能从表单响应本身获得。)

根据Form Publisher输入到它生成的Google文档中的上传文件名,我可以看出,有时候文档是在我的OnFormSubmit重命名文件之前生成的,有时候是在我的OnFormSubmit触发之后生成的


因此,我的问题是:鉴于我对表单发布者的工作方式没有真正的了解(尽管我认为OnFormSubmit将是它的核心),是否有任何方法可以确保我的OnFormSubmit将在表单发布者开始生成Google文档之前启动并完成?

谢谢,iansedano!我一直在继续测试和研究,我所看到的一切都表明你的评论是正确的


我担心,如果你有两个触发器从同一事件中触发,就无法确保一个触发器在另一个触发器之前启动/完成。它们异步发送到服务器,因此订单永远不会可靠。通常处理这种情况的方法是使它们成为同一触发器的一部分,但由于您将自己的脚本与封闭源代码加载项脚本混合并匹配,所以这是不可能的。如果你想让你的一个在之后启动,那么你可以使用一个延迟,但要让它在之前启动,你最好还是自己编写脚本

记录在案的是,似乎还有一线希望。我读到那篇文章的答案是,一个附加组件可以使用
@customfunction
来公开我的OnFormSubmit触发器可以调用的函数;例如,该自定义函数可以让附加组件休眠一段时间(甚至更好:休眠,直到我调用第二个自定义函数来表示我完成了),以便我的OnFormSubmit触发器首先启动


但是除了这种可能性,我什么也没想到。

我担心,如果你有两个触发器从同一事件中触发,就无法确保一个先启动/完成另一个。它们异步发送到服务器,因此订单永远不会可靠。通常处理这种情况的方法是使它们成为同一触发器的一部分,但由于您将自己的脚本与封闭源代码加载项脚本混合并匹配,所以这是不可能的。如果你想让你的一个在之后启动,那么你可以使用一个延迟,但要让它在之前启动,你最好还是自己编写脚本。