“找不到脚本功能” - Google App Scripts

时间:2015-06-01 14:48:44

标签: javascript google-apps-script iife

我开始使用Google App Scripts,而我对JavaScript的了解很少,我尝试了以下内容。我收到一个错误,但脚本似乎确实有效。

为什么会出错?当我按下小播放按钮时,它似乎特别想要运行一个功能..如下所示构建谷歌应用程序脚本文档是不是很糟糕?

(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脚本的糟糕方式。

2 个答案:

答案 0 :(得分:1)

Google Apps脚本不应该从IIFE运行,因为它想要明确地触发一个功能。是的我认为,在一年后我仍然有限的经历中,这将是一个编写Google Apps脚本的糟糕方式。

答案 1 :(得分:0)

以.gs结尾的Google App Scripts文件在加载文件时不会像JavaScript中那样运行文件中的所有功能。

要在上面使用的.gs文件中运行功能,您需要添加电子表格的触发器onOpen或onEdit。 在打开/编辑时: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() 在客户端运行.gs函数: https://developers.google.com/apps-script/guides/html/reference/run

请勿在.gs文件中使用立即调用的函数。由于Google App脚本文件树的工作方式,最好为.gs函数使用非常特定的名称。

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

在此结构中具有没有名称的函数将导致无法调用无名函数。希望有帮助。