从一个 appscript 更新多个 appscript 项目

Updating multiple appscript projects from one appscript

我有超过 60 个 sheet 的场景,并且它们背后都有 appscript 项目 运行 并管理这些 sheet。 我想 updat/control 这些 appscript 项目一次全部来自一个不同的项目。这样我就不必手动去更新它们了。

我知道这个 我们可以通过从单个 appscript 项目手动获取 OAuth 令牌来更新它,但是,有什么方法我们可以只提及 sheetID 并更新所有这些背后的项目sheet 一次全部?

如果您问是否可以在新代码中引用同一文档中的不同代码但不相同 sheet,答案是肯定的。但是,除了编辑原始代码外,没有其他方法可以操纵此代码。我会推荐 .

来自问题

Is there any way we can just mention sheetID and it updates project behind all those sheet all at once?

没有直接的方法可以做到这一点。相关问题Retrieving Project ID of Container-Bound script(创建于2018年,截至2021年底仍为“新”状态)。

假设“SheetID”是指电子表格 ID,则可以使用电子表格服务和驱动器服务分别获取 Class 电子表格或 Class 文件对象。不幸的是,那些 类 没有任何方法来检索有界的 Google Apps 脚本项目。

表格 API、驱动器 API 和 Apps 脚本 API 也是如此。

间接方法是构建电子表格列表及其各自的有界脚本,但很明显这不是您要查找的内容。无论如何,构建 spreadsheet/script 个项目对的列表并将其存储在某个地方(如果列表不是 humongous. CLAPS has a command to retrieve the list of the recent projects, and it's possible to get the container id from the script project metadata (see https://developers.google.com/apps-script/api/reference/rest/v1/projects/get,它可能是一个电子表格)

考虑到上述情况,“下次”更容易维护脚本的建议是使用库或创建和添加。

资源

相关

控制这些电子表格的另一种方法是在本地使用 NodeJS 项目,使用 Clasp 和 Multi-clasp2 (https://www.npmjs.com/package/multi-clasp2)。