如何通过API创建包含gs脚本的电子表格?

时间:2016-06-24 10:11:20

标签: google-apps-script google-drive-api

我想通过Google引擎管理电子表格(由客户通过API上传)。我创建了由.gs脚本中的函数扩展的测试电子表格(如果我通过在线编辑器添加它们会很好)但我不知道如何自动将这样的.gs脚本应用于每个上传的电子表格(可能通过API)。

此外,我不希望通过将其作为扩展名发布来共享此.gs文件(因为安全策略)。

更新:我还尝试使用工作gs脚本复制现有的电子表格,并通过API覆盖其电子表格数据(而不是上传新的) - 它已成功覆盖数据,但遗憾的是丢失了gs脚本。细节在单独的(赏金)问题中描述:Custom google app script doesn't work after copying spreadsheet with google java client

3 个答案:

答案 0 :(得分:2)

所以我甚至尝试使用普通的HTTP方法进行复制,因为我认为它可能是Java SDK的一个问题,但它仍然没有工作,这意味着谷歌方面存在一些问题(或者是真的不清楚)服务帐户。

毕竟我用另一种方法解决了这个问题。

首先,我将附有脚本的电子表格复制到我的服务帐户(正如我在here主题中所述)。使用损坏的脚本复制文件。

然后我使用google的oauth进行用户授权(本教程将介绍Custom google app script doesn't work after copying spreadsheet with google java client的方式) 然后代表他进行复制。

最后,该文件位于他的私人驱动器上,这是此解决方案的最大缺点,但至少脚本的工作是我的主要目标。

希望它有所帮助;)

答案 1 :(得分:0)

您可以在不使用市场的情况下发布Google脚本。如果您创建Google群组,则可以通过只有Google群组成员才能看到它的方式发布。如果您的Google群组只有您,则只有您可以看到它。然后它将在你的所有电子表格上。

缺点是谷歌永远不会让你从他们的服务器中删除它,只是取消发布它。

答案 2 :(得分:0)

您可以创建独立于任何电子表格的独立脚本。此脚本将包含根据您的用例创建和操作电子表格所需的任何方法/功能。此外,您可以将脚本部署为Web应用程序并实现doGet()或doPost()方法。每当用户通过API上传电子表格数据时,您都可以使用该信息调用Web应用程序,并根据需要创建电子表格。

相关问题