我正在制作Google表格插件,并使用以下方法将模板表格从Google驱动器复制到用户当前的Google电子表格中:
let ss = SpreadsheetApp.getActive();
let source = SpreadsheetApp.openById(TemplateSpreadsheetId); // <-- gets scope error
let newSheet = source.getSheetByName(mainSheetName).copyTo(ss);
当我在appsscript.json中指定范围https://www.googleapis.com/auth/spreadsheets“时,它可以工作,但是有一种方法可以使用更窄的Google Apps脚本授权范围?除此之外,我只需要@OnlyCurrentDoc或https://www.googleapis.com/auth/spreadsheets.currentonly”
之所以如此重要,是因为用户必须同意我的插件可以“查看,编辑,创建和删除Google云端硬盘中的电子表格”,这听起来有点吓人我。
答案 0 :(得分:1)
根据https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openbyidid
授权
使用此方法的脚本需要使用以下一项或多项授权 以下范围:
我认为...仅当id是脚本容器之一时,... currentonly范围才起作用