Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 应用程序脚本库权限_Google Apps Script - Fatal编程技术网

Google apps script 应用程序脚本库权限

Google apps script 应用程序脚本库权限,google-apps-script,Google Apps Script,当我创建一个访问电子表格并在脚本中使用它的应用程序脚本库时,我会得到一个权限错误(下面示例中的setValue)。 如果我在脚本中调用同一个电子表格函数一次(然后将其删除),然后调用库函数,我将永远不会再得到权限错误(它是可复制的) 你有没有经历过这种行为?如果有,你是如何解决这个问题的 谢谢 图书馆 剧本 错误消息 “您没有调用setValue所需的权限”您的脚本必须具有与库所需的权限相同的权限:如果您知道库读取/写入电子表格或日历(或其他内容),则必须为这些服务授权脚本。 通过一些(甚至是虚

当我创建一个访问电子表格并在脚本中使用它的应用程序脚本库时,我会得到一个权限错误(下面示例中的setValue)。 如果我在脚本中调用同一个电子表格函数一次(然后将其删除),然后调用库函数,我将永远不会再得到权限错误(它是可复制的)

你有没有经历过这种行为?如果有,你是如何解决这个问题的

谢谢

图书馆

剧本

错误消息

“您没有调用setValue所需的权限”

您的脚本必须具有与库所需的权限相同的权限:如果您知道库读取/写入电子表格或日历(或其他内容),则必须为这些服务授权脚本。 通过一些(甚至是虚拟的)函数,您可以很容易地做到这一点,这些函数将告诉系统调用所需服务的授权流程。根据您的描述,我猜当您保存脚本时,系统不会检查库中的内容,因此脚本在未经授权的情况下写入电子表格有点“意外”。如果您包括我前面提到的(虚拟)调用,脚本将知道您将要做什么,并在第一次尝试运行时请求授权


希望我足够清楚。

为了结束这一点,Stefan报告的问题已被确认为一个问题。我们正在调查此事。库未正确吸收传入电子表格的权限


Stefan-如果您愿意,请随时创建报告

调用库中包含的每个服务可能会解决问题,但我认为从长远来看,这并不是一个真正的选择。假设您忘记“初始化”服务并部署库。如果用户随后调用您的脚本,它只会因未指定的权限错误而停止。
function addRecord(ss, sheetName) {
  var sheet = ss.getSheetByName(sheetName);
  sheet.getRange("A1:A1").setValue("Hello World!");
}
function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  MyLib.addRecord(ss, "Sheet1");
}