一个优雅的方式来为Google Apps Script网络应用程序存储资源(图标、图片等)

9
现在可以制作非容器绑定的网络应用程序,因此将应用程序的资源(例如一些图标和图片、可能是遗留数据库等)放入应用程序中是有意义的——可能以类似于添加其他.gs文件到项目的方式进行。这意味着它们不必被上传到某个外部服务并被引用,而且网络应用程序将是自包含的。是否已经有一种方法来实现这一点,或者我应该提出一个功能请求?

您需要提交一个特性请求。目前无法将所有内容嵌入到脚本项目中。 - Srik
有关如何存储和引用图标等方面的建议吗? - BruceM
1
将它们上传到“公共”Google网站,并使用那里的URL。 - Srik
根据James Ferreira的书《Bruce》第47页及以后的内容。 - AdamL
2个回答

11

我觉得很好的做法是将Google Apps Script放入Google Drive中的一个文件夹中,并将所有其他资源添加到该文件夹中。如果您与任何具有链接的人分享资源,则可以使用下载链接直接链接到它们。

例如,具有ID ID 的文件可以通过 https://docs.google.com/uc?export=download&id=ID 链接。您甚至可以链接到某些修订版本(在Google Drive中单击文件右侧并打开修订对话框以查找修订密钥,然后将 &revid=REVISION_TOKEN 添加到您的URL中)。

这种做法并不完全自包含,因为您不能只复制所有资源到其他地方并使其立即运行,但这种解决方案的优美之处在于,Google提供了托管,并且其可用性很可能与您的Google Apps Script 相同。


请不要忘记在互联网上公开该文件。 - DavidF
1
公开给拥有链接的任何人就足够了,不需要可爬取性... - Joscha

2
大约十年后,关于如何保留Google Apps Script Web应用程序的相关资源的情况几乎没有改变,我们仍然必须将资源存储在另一个地方,但是有很多变化值得考虑。
仍然可以使用像 https://docs.google.com/uc?export=download&id=ID / https://docs.google.com/uc?export=view&id=ID 这样的URL链接到存储在Google Drive中的文件,但是Google Drive对文件的“点击次数”有限制。对于低用户Web应用程序,这很可能不是问题。
现在,Google Apps Script项目可以链接到Google Cloud标准项目。这是为了定制OAuth Consent Screen并能够使用一些Google服务的功能而必需的。值得审查Google Cloud文件托管服务,包括Firebase。
顺便说一下,有些东西已经不再可用:
  1. 现在有一个新的Google Sites,但是Google Apps Script Sites服务不支持它们。
  2. Google Drive网页托管已被取消。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接