"Script function not found" - Google 应用程序脚本

"Script function not found" - Google App Scripts

我开始使用 Google 应用程序脚本,根据我对 JavaScript 的了解,我尝试了以下方法。我得到一个错误,但脚本似乎确实有效。

为什么会报错?当我按下小播放按钮时,它似乎专门在寻找 运行 一个函数。像我在下面所做的那样构建一个 google 应用程序脚本文档是否是一种不好的做法?

(function (id) {

  var sheet = SpreadsheetApp.openById(id).getSheets()[0];

  var data = sheet.getDataRange().getValues();

  Logger.log(data);

  sheet.appendRow(['this','is','another', 'bigger','test','of','stuff']);

})('1BXDicksYS19jre0tZKHEjqqyvdzbhbtFfSm053q2sZ0')

=== 编辑 ===

Google Apps 脚本不应 运行 来自 IIFE,因为它想要显式触发一个函数。所以是的。我认为,根据一年后我仍然有限的经验,这将是编写 Google Apps 脚本的糟糕方式。

Google Apps 脚本不应该 运行 来自 IIFE,因为它想要显式触发一个函数。所以是的。我认为,根据我一年后仍然有限的经验,这将是编写 Google Apps 脚本的糟糕方式。

Google 以 .gs 结尾的应用程序脚本文件不会 运行 文件中的所有函数都像 JavaScript 加载文件时所有 IIFE 都将 运行.

为了 运行 .gs 文件中的函数(您在上面使用的是该函数),您需要添加电子表格的 onOpen 或 onEdit 触发器。 在 open/on 编辑:https://developers.google.com/apps-script/guides/triggers/

可以根据特定h/d/m条件设置的时间触发器。 可安装触发器: https://developers.google.com/apps-script/guides/triggers/installable

如果您想将此连接到 google 网络应用程序,您需要使用 google.scripts.run.functionName() 运行客户端的ning .gs函数: https://developers.google.com/apps-script/guides/html/reference/run

不要在 .gs 文件中使用立即调用的函数。由于 Google App Script 文件树的工作原理,为您的 .gs 函数指定非常具体的名称也很好。

所有函数都可以在 google 应用程序脚本文件树中的任何文件中访问,这意味着您可以在 google 应用程序脚本中的任何文件中调用任何函数。

在这个结构中有一个没有名字的函数将无法调用无名函数。希望对您有所帮助。