【问题标题】:Google script cannot find getRange nor does it have permission to run谷歌脚本找不到 getRange 也没有运行权限
【发布时间】:2015-08-03 03:02:24
【问题描述】:

我正在尝试让 Google 工作表从另一个工作表中获取精算数据;另一张表本质上是一个查找表。代码(删除了电子表格 id):

function deathProb(age,sex) {
    return SpreadsheetApp.openById("<spreadsheet id>").getActiveSheet().getRange(age,sex,1,1).getValue();
};

它应该很简单,今年早些时候它工作了,但大约一个月前它停止工作,现在当我调试时它给出了错误:

找不到方法 getRange((class),(class),number,number)。 (第 3 行,文件“”)。

在工作表本身中,它会给出错误“您无权执行该操作(第 3 行)”。

如果我将代码更改为“...getRange(5,5,1,1)...”,这样它就不会使用变量“age”和“sex”,那么它就不会在调试器中给出错误,但在工作表本身中它仍然给出“您没有权限”错误。环顾四周,发现触发器会导致这个问题,所以我添加了一个这样的触发器:

[X] deathProb   From spreadsheet  On edit"

并授权脚本访问另一个电子表格,但这并没有解决任何一个问题。有什么想法吗?

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-sheets-custom-function


    【解决方案1】:

    您可能将此脚本用作自定义函数? 如果是这样,则此错误是由于 Google 最近推出的一项更改,禁止在自定义函数中使用 SpreadsheetApp.openByUrl()、SpreadsheetApp.openById() 等。 您仍然可以在菜单项、触发器等其他上下文中使用此方法。出于安全原因,Google 不得不推出此更改,他们将无法恢复到旧行为。

    问题已在问题跟踪器中列出:see here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 2021-06-16
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多