【问题标题】:Apps Script GmailApp archiving not workingApps 脚本 GmailApp 归档不起作用
【发布时间】:2015-08-12 09:08:08
【问题描述】:

我有一个函数,我希望将其绑定到 Google Apps 脚本中的每日时间触发器。该功能应该将我的收件箱中标记为已读超过 14 天的所有电子邮件归档。这是我从here得到的代码

function batchArchiveA() {
  var batchSize = 100 // Process up to 100 threads at once

  var threads = GmailApp.search('label:"inbox" is:read older_than:14d -label:"Delete me"');
  for (j = 0; j < threads.length; j+=batchSize) {
    Logger.log("Thread " + j);
    GmailApp.moveThreadsToArchive(threads.slice(j, j+batchSize));
  }
}

我已经手动运行了这个函数来测试它几次。但是,当我在 Gmail 中打开收件箱时,似乎没有任何更改反映。自 2012 年以来,我的收件箱中仍有 890 多封电子邮件(在促销、更新等子标签下还有更多)

事情是,执行输出最初没有报告错误,我可以看到很多线程正在被加载,然后在循环中处理。但是,现在当我运行脚本时,没有加载任何线程。搜索只返回一个空数组,然后函数退出。

我只是好奇我做错了什么。我已经查看了 GmailApp 的 Google Developers 参考资料,但就调试而言,我可以做的并不多。据推测,由于搜索不再返回任何内容,因此之前的运行确实有效......因为如果他们确实归档了所有 14 岁以上的线程,那么搜索确实将不再找到它们。

您知道为什么我在加载 Gmail 时没有看到收件箱中的电子邮件吗?

【问题讨论】:

    标签: google-apps-script gmail gmail-api


    【解决方案1】:

    好的,事实证明它可以工作,但是我的收件箱太堵塞了,以至于我认为搜索一次只能抓取最大数量的线程(必须是 400-500 之类的),所以我没有并没有真正注意到差异。

    我将它设置在一个循环中,只要搜索返回一个大于 0 的数组,它就会一直运行。这意味着它将运行它可以运行的所有线程(或者,目前,直到达到最大执行时间限制!) .我将功能设置为定期运行,我的收件箱已经缩小到几乎没有!

    【讨论】:

      猜你喜欢
      • 2019-06-12
      • 2020-08-21
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多