0

我正在尝试在谷歌脚本编辑器上自动化谷歌电子表格。但是,当我尝试识别电子表格并选择我们正在处理的电子表格时,下面引用的文档 (openById) 中写道,使用此方法的脚本需要以下一个或多个范围的授权:- > https://www.googleapis.com/auth/spreadsheets.currentonly --> https://www.googleapis.com/auth/spreadsheets

当我添加这些范围时,我的函数不会运行。它仅在未添加这些范围时运行。无论哪种方式,我都会遇到错误消息:“我们很抱歉,发生服务器错误。请稍等,然后重试。”

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");
}

无论哪种方式,我都会遇到错误消息:“我们很抱歉,发生服务器错误。请稍等,然后重试。”

我希望工作表已被选中

编辑:嗯,当我复制谷歌表格并保存新代码时,它运行正常!!:)

4

1 回答 1

0

由于您正在使用有界脚本(绑定到您正在使用的工作表),因此获取对工作表的引用的方法是使用var ss = SpreadsheetApp.getActiveSheet();,这将提供对绑定文档的引用。您将用于openById()访问另一个文件。

至于范围,它们是在您第一次运行脚本时自动添加的,它会询问您是否允许访问您的数据,当您接受时,谷歌会自动将它们添加到脚本项目中。

以下是一些有关使用工作表和应用程序脚本的快速入门示例

于 2019-06-27T11:20:24.190 回答