【问题标题】:Why does the spreadsheetapp.create function not work in Google Apps Script?为什么电子表格应用程序.create 函数在 Google Apps 脚本中不起作用?
【发布时间】:2019-11-14 14:48:55
【问题描述】:

我使用下面的代码并得到以下错误:

例外:您不能使用 SpreadsheetApp.create。所需权限:https://www.googleapis.com/auth/spreadsheets (Zeile 4, Datei "Makros")。 (现在可以了!)

function Auswertung2() {
  var sheet = SpreadsheetApp.getActive().getSheetByName("Evaluation");
  var newSpreadsheet = SpreadsheetApp.create("new spreadsheet");
  var newSheet = newSpreadsheet.getSheets()[0];
  var chart = sheet.getCharts()[0];
  chart = chart.modify().addRange(sheet.getRange("A1:AX80")).setPosition(7, 7, 0, 0).build();
  newSheet.insertChart(chart); 
};

【问题讨论】:

  • 你是如何运行这个函数的?通过触发器?菜单按钮?
  • 您是想仅在您的 google 驱动器中创建电子表格,还是想在每个运行您的代码的个人 google 驱动器中创建电子表格?
  • 我想在每个人的个人驱动器中创建一个电子表格,它是如何工作的?
  • 我通过一个按钮运行这个函数,当你点击它时运行这个宏。

标签: google-apps-script google-sheets error-handling permissions google-sheets-formula


【解决方案1】:

当他们导致脚本运行时,SpreadsheetApp 将从登录 gmail 的任何人运行。由他们来点击授权弹出框。即使他们这样做了,它也不会在您的 Google Drive 中创建,而是在他们的 Google Drive 中创建。如果您希望将这些工作表安装在您的 Google 云端硬盘中,您需要在您的帐户下“安装”该功能。

https://developers.google.com/apps-script/guides/triggers/installable

在脚本编辑器中,运行按钮左侧和保存按钮右侧是一个小时钟图标,单击该图标以在屏幕底部中部安装触发器,您将看到“创建新触发器”这将使无论他们使用什么 gmail,它都会访问您的 gmail google 驱动器。警告虽然它会让他们无限制地访问您的电子表格应用程序...例如,任何对您的电子表格有写入权限的人现在都可以删除您的所有电子表格,这就是他们进行授权这样一个过程的原因。

【讨论】:

  • 您现在有解决方案如何避免此错误吗?也许编辑代码?
  • 有什么触发器可以解决这个问题?我不明白你说的触发器是什么意思?
  • @greenster10 单击提供的链接以阅读有关可安装触发器的信息,如果您按照我的指示从可安装触发器运行代码,那么代码将始终从您的 gmail 运行,如果您运行它它会以任何其他方式从电子表格中的人的 gmail 运行,这可能是您的意图,也可能不是。您是要在别人的 Google Drive 中创建电子表格还是只在您的 Google Drive 中创建电子表格?
  • @greenster10 每个用户都需要手动授予您的应用权限,您不能只获得世界上每个人的权限,您可以随时更改代码以删除他们谷歌驱动器中的所有文件例如。
  • @greenster10 你想修改你原来的问题,addRange 函数是什么意思?你想完成什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多