google-apps-script - 确定要在 Google 脚本编辑器中使用的电子表格
问题描述
我正在尝试在谷歌脚本编辑器上自动化谷歌电子表格。但是,当我尝试识别电子表格并选择我们正在处理的电子表格时,下面引用的文档 (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");
}
无论哪种方式,我都会遇到错误消息:“我们很抱歉,发生服务器错误。请稍等,然后重试。”
我希望工作表已被选中
编辑:嗯,当我复制谷歌表格并保存新代码时,它运行正常!!:)
解决方案
由于您正在使用有界脚本(绑定到您正在使用的工作表),因此获取对工作表的引用的方法是使用var ss = SpreadsheetApp.getActiveSheet();
,这将提供对绑定文档的引用。您将用于openById()
访问另一个文件。
至于范围,它们是在您第一次运行脚本时自动添加的,它会询问您是否允许访问您的数据,当您接受时,谷歌会自动将它们添加到脚本项目中。
以下是一些有关使用工作表和应用程序脚本的快速入门示例
推荐阅读
- c# - 使用 ServiceProxy.Create 连接到特定服务实例
- matlab - 在 Matlab 中并行运行 3 个 for 循环
- python-2.7 - 除了 .bin 之外,gensim 创建扩展名为 .bin.trainables.syn1neg.npy 和 .bin.wv.vectors.npy 的文件
- php - 在 PHP 中使用 file_get_contents 和 file_put_contents 的问题
- laravel - 如何检查我从与其他多个表相关的表中使用的 id?
- python - 将多个张量成对相乘 keras
- jquery - bootstrap4C 有延时改函数没功能?
- c# - C# 禁用 USB ReadPipe 的垃圾收集
- python - 获取图像的轮廓和点
- google-analytics - 生成以周为单位的内容深入分析报告