由于Google Apps脚本强行将“ Rhino”推入“ V8”引擎,因此应用程序自动从Rhino移至V8。因此,我们的应用程序要求“ 范围”需要在“ appscript.json ”文件中手动指定。
请检查下图:
文件:-
当我进行如下更新时,它工作正常。
我们担心的是,我们在生产中有100多个应用程序,我们不能每次都手动更新它。您能帮助我们如何在生产中毫无问题地进行更新吗?
答案 0 :(得分:1)
使用表扣
您可以使用CLASP项目(它在后台使用Apps Script API)和Node.js中的实用程序脚本来批量更新清单文件,或者您可以选择使用毒药来控制工作流程。您需要采取的一般步骤是:
appsscript.json
文件。由于清单文件保存在项目的根目录下,因此我将执行以下操作(使用Node.js):const { writeFile } = require("fs").promises;
const addScope = async (scopes) => {
const pathToManifest = "appscript.json";
const manifest = require(pathToManifest);
const { oauthScopes = [] } = manifest;
oauthScopes || ( manifest.oauthScopes = oauthScopes ); //guard against first scope
oauthScopes.push(...scopes);
await writeFile(pathToManifest, JSON.stringify(manifest));
}
clasp push
将更新推送到项目中。由于您要更改清单,因此请使用--force
选项,否则您将需要批准每次上传。请注意,截至2020年,该项目尚不支持部分更新,因此所有文件将被替换。使用.claspignore
文件来确保您不会意外地推入整个node_modules
文件夹或类似文件夹。clasp deploy
重新部署项目。该命令是可自定义的,因此不必担心会有多个部署。