如果我在错误的地方张贴了,请原谅。我是一个完全无知的业余爱好者,但是大约一年前,在读完一本菜谱之后,我设法在G Suite开发人员中心安装了3个Google Apps脚本,以在x天后删除我的gmail帐户中的带标签的电子邮件。
脚本运行正常,但是现在我收到一条失败消息:“执行此操作需要授权。”
我2天前更改了密码,我认为这是问题所在。我看不到OAuth授权如何应用于我的脚本,这些脚本仅在我的Google帐户中运行,而不在任何网站上运行。
关于授权的Google递归文档完全让我迷失了。
该如何解决?如何清除此错误?
仅供参考,这是脚本之一:
function cleanUp() {
var delayDays = 2 // Enter # of days before messages are moved to trash
var maxDate = new Date();
maxDate.setDate(maxDate.getDate()-delayDays);
var label = GmailApp.getUserLabelByName("TBD2");
var threads = label.getThreads();
for (var i = 0; i < threads.length; i++) {
if (threads[i].getLastMessageDate()<maxDate)
{
threads[i].moveToTrash();
}
}
}
答案 0 :(得分:0)
您遇到的错误表明脚本为lacking the authorization needed to run。在脚本编辑器中或从自定义菜单项中运行脚本时,将向用户显示授权对话框。但是,如果从触发器运行脚本,将脚本嵌入Google网站页面或作为服务运行,则无法显示对话框,并显示此错误。
此错误通常是由用户授权之前触发的触发器引起的。 如果触发器继续触发并导致此错误,则可以通过执行以下操作来访问触发器:
在Apps脚本编辑器中
- 选择E dit>所有触发器。出现的对话框显示了您帐户上正在运行的所有活动触发器。
- 在列表中找到有问题的触发器。
- 单击触发器名称旁边的清除图标将其删除。
- 点击保存以记录删除。
您还可以通过uninstalling the add-on删除有问题的附加触发器。