在授予 CalendarApp 授权后,脚本无权执行该操作

Posted

技术标签:

【中文标题】在授予 CalendarApp 授权后,脚本无权执行该操作【英文标题】:Script does not have permission to perform that action after authorization granted CalendarApp 【发布时间】:2019-04-22 04:32:03 【问题描述】:

我已经执行 gscript 几年了,但就在今天,当我尝试执行它时,我开始看到以下内容:

脚本无权执行该操作。必需的 权限:(https://www.googleapis.com/auth/calendar || https://www.googleapis.com/auth/calendar.readonly || https://www.google.com/calendar/feeds)

我继续从我的帐户权限页面取消授权我的脚本并重新运行脚本以强制重新验证,但我仍然看到错误。

有问题的行只是试图做:

CalendarApp.getDefaultCalendar()

知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

从您遇到的错误来看,它表明该脚本缺少运行所需的授权。在脚本编辑器中或从自定义菜单项运行脚本时,会向用户显示授权对话框。但是,当脚本从触发器运行、嵌入到 Google 协作平台页面或作为服务运行时,无法显示对话框并显示此错误。

如果脚本包含新的未经授权的服务,您必须重新授权该脚本。这是有关如何troubleshoot this type of error in Google Apps Script 的文档。

如果触发器继续触发并导致此错误,您可以通过执行以下操作来访问触发器:

    在 Apps 脚本编辑器中选择 编辑 > 所有触发器。生成的对话框会显示您帐户上运行的所有活动触发器。 在列表中找到有问题的触发器。 单击触发器名称旁边的清除图标将其删除。 点击保存记录删除。

您还可以通过uninstalling the add-on 删除有问题的附加触发器。

【讨论】:

以上是关于在授予 CalendarApp 授权后,脚本无权执行该操作的主要内容,如果未能解决你的问题,请参考以下文章

无法向 Google 应用脚本授予授权或许可

在 Apache VirtualHost 配置中“要求全部授予”,但仍然是“您无权访问此服务器上的 /test”(RewriteRule 失败)

我应该还是不应该在 Laravel Passport 中使用带有密码授予授权的刷新令牌?

无法通过Google Apps脚本显示授权对话框

获得具有授权码授予的 3-Leged Token 会给出错误 AUTH-004

Zookeeper:acl权限控制