开发者问题收集

onOpen() 不工作-获取权限错误

2021-04-10
793

我在此处的代码位于与 Google Sheet 文件容器绑定的 Google Apps 脚本的顶部:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Payroll')
    .addItem('Add shoot days', 'copyCallSheets')
    .addItem('Update Call Sheet/Crew List', 'updateDocs')
    .addItem('Create Daily Time Sheet', 'sendDailyTimeSheets')
    .addItem('Collect Out Times from DTS', 'collectOuttimez')
    .addItem('Process Timecards', 'processTimecardz')
    .addSeparator()
    .addItem('Report Issue', 'sendErrorReport')
    .addToUi();
}

但是,当我打开文件时, onOpen() 简单触发器失败,并且我收到此错误消息:

Exception: You do not have permission to call DriveApp.getFileById. Required permissions: ( https://www.googleapis.com/auth/drive.readonly || https://www.googleapis.com/auth/drive ) at unknown function

如果我通过在脚本中手动执行来调用我在菜单中调用的任何函数,它们都可以正常工作,但我希望能够让用户从 UI 调用它们。

这是错误的屏幕截图:

错误日志

2个回答

简单触发器无法执行需要权限的功能

简单触发器限制

Cooper
2021-04-11

通过创建可安装触发器,可以使其工作。但仍不确定为什么它停止作为简单触发器工作(它工作了一段时间)。

standalonePUP
2021-04-21