【问题标题】:How can I access functions defined in Google Script Editor outside of it?如何访问在 Google 脚本编辑器之外定义的函数?
【发布时间】:2014-06-27 14:42:42
【问题描述】:

如果我有一个用 Google 电子表格脚本编辑器编写的函数,它以 JSON 格式检索电子表格中的数据,我如何在我自己的代码中在脚本编辑器之外访问该函数?我想访问该 JSON 并在我自己的代码中对其进行操作。有没有办法使用电子表格 API 做到这一点?我在脚本编辑器中以特定方式对其进行格式化,因此我不能只使用提供的 json-in-script。在调用 (http://spreadsheets.google.com/feeds/feed/key/worksheet/public/basic?alt=json-in-script&callback=myFunc) 中有一个 myFunc 的回调函数。我可以用我在脚本编辑器中定义的函数来替换myFunc吗?

【问题讨论】:

  • “脚本编辑器之外”是什么意思?在另一个 SS 中?在另一个应用程序中?请澄清。
  • @Sergeinsas 在另一个应用程序中。在这种情况下,它是一个 Web 应用程序。我如何能够在此 Web 应用程序的代码中调用脚本编辑器中定义的函数?

标签: javascript json google-apps-script google-spreadsheet-api


【解决方案1】:

在您的评论带来了有关您的用例的一些详细信息之后,有一个 Google-Apps-Script 功能专门设计用于访问您在另一个脚本中编写的某些功能:称为 libraries完全是described in the documentation


编辑,在第二条评论之后:

如果您考虑将 GS 函数用作函数...

但是

您最终可以做的 - 取决于此函数必须处理的数据 - 将脚本部署为作为服务运行的 webApp,并使用等效于 urlFetch 的外部应用程序调用此服务(这就是服务在 GS 中这样做)。

该服务将有一个您可以添加参数的 url,它会返回一个您可以在本地应用程序中使用的结果。

当然,这个工作流程有一些限制,可能很快就会变得复杂,但在许多情况下它是完全可行的。

请注意,您必须在以 .exec 结尾的“版本化”中使用的 url(不确定这个词是否正确,但我的意思是与您的脚本版本相对应的已发布 url,而不是“.dev”一种可以用来在 GS 中测试脚本的工具)。

您可以在 the documentation 和许多其他资源(包括 SO)中找到有关此内容的详细信息。网址通常是这样的:

https://script.google.com/macros/s/AKfycbyw-2WtmF7wsd__________azjImbMWm5YrxB8/exec?someParameter=someValue&otherParam=otherVal // etc...

【讨论】:

  • 谢谢!所以我看到人们如何能够访问一个库并在自己的脚本编辑器中使用在所述库中声明的函数,但是是否有可能在不是用 Google 脚本编辑器编写的脚本中访问这些库函数?例如,我在本地主机上保存了一个 Javascript 文件。我希望能够将所述库中定义的函数提取到我自己的 Javascript 文件中。这可能吗?还是只能通过 Google 脚本编辑器访问库函数?
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-12
  • 2017-09-11
  • 1970-01-01
相关资源
最近更新 更多