我正在通过库在多个电子表格上部署脚本。 但是您可能知道,脚本无法(目前)知道它是否正在运行最新版本。
我正在尝试通过为我的代码创建自己的版本控制来找到解决此问题的方法。 我有一个网络服务返回我的库代码的最新版本号,所以我可以比较它,但是 onOpen() 无法运行 fetchURL。我尝试打开一个保存信息的电子表格,但是 onOpen() 再次不允许您打开 Id...
onOpen() 触发器具有安全限制,阻止我查阅可用于保持版本控制的外部数据源。
注意:我不想为 onOpen() 事件使用脚本触发器。复制电子表格时不会复制脚本触发器。
所以我想不出如何通过指向外部数据源(作为 url、其他电子表格 - 任何东西!)来检查 onOpen() 触发事件上的库版本。
有什么建议吗?
最佳答案
最简单的解决方案是将 getVersion() 方法添加到您的库中,并在每次更新库时手动更新它。
已编辑:我知道您不仅想知道版本,还想知道这是否是最新版本。您可以将该信息存储在库中的 ScriptProperties 中,并具有如下功能:
function isLatestVersion() {
return currentVersion == ScriptProperties.getProperty("latestVersion");
}
(我假设您可以将 currentVersion 硬编码到代码中并在每次重新部署 webapp 时更改它。)可以通过文件 > 项目属性菜单编辑脚本属性,并且您可以更改值而无需重新部署脚本,因此通过从该菜单更改 latestVersion,您将使旧版本在调用 isLatestVersion() 时突然开始响应“false”。
关于google-apps-script - 找到一种方法来获取使用的库版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12736537/