【问题标题】:Google Script to empty emails in trash folder谷歌脚本清空垃圾文件夹中的电子邮件
【发布时间】:2020-10-24 23:57:28
【问题描述】:

我正在使用下面的谷歌应用程序脚本从我的垃圾文件夹中自动删除电子邮件。出于某种原因,这不再是删除电子邮件,但触发器仪表板显示脚本已成功执行。有人可以帮忙修改脚本吗?提前致谢。

function removeMyTest2() {
var mymail = "me";
var mylabel = "del";
var permanentlyRemoveMyLabel = true;
var pageToken;
do {
    var threadList = Gmail.Users.Threads.list('me', {
    q: 'in:trash' + mylabel,
    pageToken: pageToken
    });
    if (threadList.threads && threadList.threads.length > 0) {
        threadList.threads.forEach(function(thread) {
        Logger.log('id: %s snippet: %s', thread.id, thread.snippet);
        if (permanentlyRemoveMyLabel) {
            Gmail.Users.Threads.remove(mymail, thread.id);
            Logger.log('id: %s snippet: %s REMOVED', thread.id, thread.snippet);
        }
    });
   }
   pageToken = threadList.nextPageToken;
   } while (pageToken);
}

【问题讨论】:

  • 检查以确保它们已在您的资源/高级 Google 服务中启用
  • 这对 Gmail V1 已打开,并且权限也已授予触发器。这仍然在运行脚本,但电子邮件消息没有被删除。见下文

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


【解决方案1】:

试试这个:

我相信您缺少标签键。

function removeMyTest2() {
  var pageToken=null;
  do {
    var threadList=Gmail.Users.Threads.list('me', {q:'in:trash label:del',pageToken:pageToken});
    if (threadList.threads && threadList.threads.length>0) {
      threadList.threads.forEach(function(thread) {
        Gmail.Users.Threads.remove("me", thread.id);
      });
    }
    pageToken=threadList.nextPageToken;
  } while (pageToken);
}

我用另一个标签对此进行了测试,效果很好

我需要这个范围:https://mail.google.com/

【讨论】:

  • 非常感谢。这正在工作。感谢快速恢复!..
  • 我今天刚刚使用此代码来解决我的垃圾不能可靠删除的问题。这个效果很好。谢谢库珀!
猜你喜欢
  • 2018-12-22
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 2017-07-31
  • 2015-09-01
相关资源
最近更新 更多