我正在尝试在Google脚本编辑器上自动执行Google电子表格。但是,当我尝试识别电子表格并将其选择为我们正在处理的电子表格时,在下面引用的文档(openById)中将其编写为使用该方法的脚本需要具有以下一个或多个范围的授权: -> https://www.googleapis.com/auth/spreadsheets.currentonly -> https://www.googleapis.com/auth/spreadsheets
添加这些作用域时,我的函数无法运行。它仅在未添加这些作用域时运行。无论哪种方式,我都会遇到错误消息msg,内容为:“很抱歉,发生服务器错误。请稍候,然后重试。”
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openbyidid
我尝试了各种方法,包括OpenByUrl和getActiveSpreadsheet ...
function automatedInvoiceEmailing() {
var people = [];
// selecting the spreadsheet (without the bottom line, the function works just fine)
var ss = SpreadsheetApp.openById("1jdn3S1Iv2zDAqF6Hyy3fybKARZJYmg-LJVdUWJJS3LA");
}
无论哪种方式,我都会遇到错误消息msg,内容为:“很抱歉,发生服务器错误。请稍候,然后重试。”
我希望已选中工作表
编辑:嗯,当我复制Google表格并保存新代码时,它可以正常运行!! :)
答案 0 :(得分:0)
由于您正在使用有界脚本(绑定到正在使用的工作表),因此使用var ss = SpreadsheetApp.getActiveSheet();
可以获取对工作表的引用,这将提供对绑定文档的引用。您将使用openById()
访问另一个文件。
对于作用域,它们是在您首次运行脚本时自动添加的,它会询问您是否允许访问数据,并且当您接受时,Google会自动将它们添加到脚本项目中。
Here是一些有关处理工作表和应用程序脚本的快速入门示例