我如何知道Google脚本是否实际运行?

时间:2013-08-15 14:10:15

标签: javascript google-apps-script gmail

这是一个新来的人。请多多包涵。我希望我提出聪明的问题。如果没有,请协助,以便我可以利用你的集体智慧。

我的Google Gmail帐户中有不需要的电子邮件 很多都是营销相关的,7天后肯定是不必要的 浏览器Google或Firefox
OS WIN 7 Pro。

因此,我希望删除分配了删除我文件夹的7天内的电子邮件,并归档其他非删除我的分配。

建议搜索简单解决方案的小样本脚本的代码是:

function cleanUp() {
  var delayDays = 7 // Enter # of days before messages are moved to trash

  var maxDate = new Date();
  maxDate.setDate(maxDate.getDate()-delayDays);

  var label = GmailApp.getUserLabelByName("delete me");
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
    {
      threads[i].moveToTrash();
    }
  }
}

function archiveInbox() {
  // Every thread in your Inbox that is read, older than seven days, and not labeled "delete me".
  var threads = GmailApp.search('label:inbox is:read older_than:2d -label:"delete me"');
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToArchive();
  }
}

我的问题是:我怎么知道“删除我”正在运行?我点击运行然后它说它是,但没有任何反应,我的Gmail帐户中的电子邮件数量是相同的。

还运行'archive me'脚本,即使它显示它正在运行,似乎也没有发生任何事情。

1 个答案:

答案 0 :(得分:2)

如果您查看以下链接,它提供了排除/调试代码的绝佳步骤: https://developers.google.com/apps-script/troubleshooting

它还解释了Shahar和Arun正在讨论的内容,但更详细。

对于您的问题,您无法真正比​​较这两个日期。你应该这样做:

if (threads[i].getLastMessageDate()< new Date(maxDate))

干杯。