【问题标题】:How to get permission to access an external spreadsheet in Google Apps Script using openByID() [duplicate]如何使用 openByID() 获得访问 Google Apps 脚本中外部电子表格的权限 [重复]
【发布时间】: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 表格电子表格的数据?

【问题讨论】:

标签: google-apps-script google-sheets triggers


【解决方案1】:
/*
 * The trigger function to call
 */
function updateOtherSheet(e) {
  var ss1 = SpreadsheetApp
  .openById("123456789")
  .getSheetByName('Sheet1');

  var sheet = e.source.getActiveSheet();
  sheet.getRange("C4").setValue(ss1.getUrl());

}

/*
 * Install the trigger by script `Run once`
 * or use the edit menu 'current project triggers'
 */
function createTrigger() {
  ScriptApp
  .newTrigger('updateOtherSheet')
  .forSpreadsheet(ss) // <- spreadsheet object var goes here !not string
  .onEdit()
  .create()
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    相关资源
    最近更新 更多