下面的deleteOldGmail()函数每周运行一次。它在几年内没有问题,然后在2016年的某个时候(10月我认为)我开始收到如下所示的失败消息,即使我对脚本进行了零更改。失败通知表明'执行该操作需要'deleteOldGmail授权';但是,我已经在脚本中执行了每个函数来检查/重新建立授权权限,当我运行每个函数时,我得到零错误。
失败通知:
Google Apps脚本失败摘要:deleteOldGmail< - 这位于“主题”字段中。
错误讯息: 您的脚本deleteOldGmail最近未能成功完成。故障摘要如下所示。要配置此脚本的触发器,或更改接收未来失败通知的设置,请单击此处。
启动功能错误消息触发结束 2/27/17 12:20 AM deleteOldGmail授权是执行该操作所必需的。基于时间的2/27/17 12:20 AM 此致 Google Apps脚本
根据此论坛中的建议,我已单独执行每项功能,以解决与脚本授权权限相关的可能问题。我得到零运行时错误;一切似乎都运行正常。
功能描述: 1)deleteOldGmail调用另外两个函数:deleteOldInboxMsgs和deleteOldPromotionMsgs。简而言之,这些脚本是为了删除旧电子邮件而编写的。 “mySearch”中的过滤器用于确保我不会删除旧电子邮件,如果我将其发送给自己,或者邮件中包含关键字,如“许可”,“注册”,“确认”等。
2)当每个函数完成时,它的最后一个动作是发送一条消息,指示'函数已执行'。我得到所有这些消息没有错误。这些脚本似乎在每个星期一午夜后成功运行;但是,错误摘要会在每个星期一晚上7:28到达。
完整脚本如下所示。 abc.xyz.com取代了脚本中使用的真实电子邮件地址。
function deleteOldGmail() {
deleteOldInboxMsgs();
deleteOldPromotionMsgs();
GmailApp.sendEmail("abc@xyz.com", "deleteOldGmail function completed...", "...the code for this function is in the googleScripts folder of your Google Drive");
}
function deleteOldInboxMsgs() {
var mySearch = "is:inbox is:unread older_than:700d -from:me -confirmation -account -license -registrar -registration -'serial number'";
var batchSize = 100; // Process up to 100 threads at once
GmailApp.sendEmail("abc@xyz.com", "deleteOldInboxMsgs function executed", " ");
while (GmailApp.search(mySearch, 0, 1).length == 1)
{
GmailApp.moveThreadsToTrash(GmailApp.search(mySearch, 0, batchSize));
}
}
function deleteOldPromotionMsgs() {
var mySearch = "older_than:180d category:promotions -from:me -confirmation -account -license -registrar -registration -'serial number'";// add promotion msgs to the list
var batchSize = 100; // Process up to 100 threads at once
while (GmailApp.search(mySearch, 0, 1).length == 1)
{
GmailApp.moveThreadsToTrash(GmailApp.search(mySearch, 0, batchSize));
}
GmailApp.sendEmail("abc@xyz.com", "deleteOldPromotionMsgs function executed", " ");
我很难找到实际上失败的东西。除了运行每个功能之外,还有其他方法可以重新建立或验证“授权”吗?有什么建议?
谢谢,
迈克答案 0 :(得分:2)
上周来自Google Cloud Status Dashboard:
"上次更新报告无变化。我们仍在积极努力解决身份/身份验证问题。当报告取得重大进展时,将会有未来的更新。
总结;一些长期存在的OAuth令牌无意中被无效。 "
我自己不得不重新授权我的几个长期运行的脚本。