【问题标题】:Identifying the spreadsheet to use in Google Script Editor确定要在 Google 脚本编辑器中使用的电子表格
【发布时间】:2019-06-27 07:57:33
【问题描述】:

我正在尝试在谷歌脚本编辑器上自动化谷歌电子表格。但是,当我尝试识别电子表格并选择我们正在处理的电子表格时,下面引用的文档 (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");
}

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

我希望工作表已被选中

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

【问题讨论】:

  • 您的脚本是否绑定到您的电子表格,即您是通过Tools > Script Editor 访问它还是它是一个独立文件?
  • 是的,我通过电子表格@ross 中的Tools > Script Editor 函数访问了它

标签: google-apps-script google-apps-script-editor google-apps-script-api


【解决方案1】:

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

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

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

【讨论】:

  • 那是我最初所做的,但没有成功,我得到了同样的服务器错误
  • @SabrinaChow 您是否启用了电子表格高级服务?另外,根据您对问题的更新,它现在有效吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 2012-11-14
  • 1970-01-01
  • 2020-06-17
  • 2022-11-17
相关资源
最近更新 更多