【发布时间】:2020-03-25 18:18:59
【问题描述】:
我正在尝试访问一个 Google 表格电子表格中的数据,以便更新另一个 Google 表格电子表格中的条目。
到目前为止,我编写的代码如下:
var ss1 = SpreadsheetApp.openById("123456789").getSheetByName('Sheet1');
function onEdit (e) {
var sheet = e.source.getActiveSheet();
sheet.getRange("C4").setValue(ss1.getUrl());
}
但是当我在目标电子表格中编辑条目以触发脚本时出现以下错误:
例外:您无权调用 SpreadsheetApp.openById。所需权限:https://www.googleapis.com/auth/spreadsheets 功能未知
如何获得运行 openByID() 方法的权限,或者是否有更好的方法来访问外部 Google 表格电子表格的数据?
【问题讨论】:
-
onEdit(e) 建议使用简单的触发器。您无法通过简单的触发器执行任何需要权限的操作。您也许可以使用可安装的触发器来完成此操作:developers.google.com/apps-script/guides/triggers/installable
-
创建一个可安装的触发器就可以了——谢谢!值得一提的是,我使用 openByUrl() 方法而不是 openByID() 让它工作,但我假设它适用于任何一个。
标签: google-apps-script google-sheets triggers