如何在其外部访问Google脚本编辑器中定义的功能?

时间:2014-06-27 14:42:43

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

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

1 个答案:

答案 0 :(得分:1)

根据您的评论提供有关您的用例的详细信息,有一个Google-Apps-Script功能,专门用于访问您在另一个脚本中编写的某些功能:名为 libraries 并完全described in the documentation


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

如果您考虑将其用作函数,则无法从非JavaScript脚本(GS)的javascript(或任何其他语言)脚本调用GS函数...

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

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

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

请注意,您必须在以.exec结尾的“版本化”中使用该URL(不确定此单词是否正确但我的意思是与您的脚本版本对应的已发布网址而不是“.dev”一个人可以用来测试GS中的脚本。

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

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