Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Google脚本永久删除我的电子邮件的脚本_Javascript_Java_Gmail_Gmail Api - Fatal编程技术网

Javascript 使用Google脚本永久删除我的电子邮件的脚本

Javascript 使用Google脚本永久删除我的电子邮件的脚本,javascript,java,gmail,gmail-api,Javascript,Java,Gmail,Gmail Api,这个Gmail.Users.Messages.remove(userId,id)是如何工作的?电子邮件的ID是什么?永久删除电子邮件的功能是否正确 在我的情况下,我想删除我所有发送的电子邮件立即和明确。以下是我从某人那里获取的代码,只是标签不同: function myFunction() { var threads = GmailApp.search("in:sent label:Inbox"); var me = Session.getActiveUser().getEmail();

这个Gmail.Users.Messages.remove(userId,id)是如何工作的?电子邮件的ID是什么?永久删除电子邮件的功能是否正确

在我的情况下,我想删除我所有发送的电子邮件立即和明确。以下是我从某人那里获取的代码,只是标签不同:

function myFunction() {
  var threads = GmailApp.search("in:sent label:Inbox");
  var me = Session.getActiveUser().getEmail();
    for (var i = 0; i < threads.length; i++) {
      Gmail.Users.Messages.remove(me, threads[i]);
    }

}
函数myFunction(){
var threads=GmailApp.search(“in:sent-label:Inbox”);
var me=Session.getActiveUser().getEmail();
对于(var i=0;i
这是正确的吗?有人能帮我吗

编辑:我修改了我的代码,但它仍然不起作用,我仍然不知道如何使用函数remove,如下所示:

function myFunction() {

  var me = Session.getActiveUser().getEmail();
  var thread = Gmail.Users.Threads.list(me);
  for (var i = 0; i < 1000; i++) {
        Gmail.Users.Threads.remove(me, thread);
        thread = Gmail.Users.Threads.list(me).nextPageToken;

  }

}
函数myFunction(){
var me=Session.getActiveUser().getEmail();
var-thread=Gmail.Users.Threads.list(me);
对于(变量i=0;i<1000;i++){
Gmail.Users.Threads.remove(me,thread);
线程=Gmail.Users.Threads.list(me).nextpGetOken;
}
}
一旦代码开始工作,我将每分钟触发一次运行函数。因此,我发送的文件夹始终为空


有什么建议吗?

在我这方面,我用的是这个

 thread.moveToTrash();
(同意垃圾可能不是你所期望的……)

谷歌文件(英文):

职位(fr):

完整示例脚本(英文):


编辑:这里有一个永久删除线程的解决方案

使用
Gmail.Users.Threads.remove(mymail,thread.id)如下面的示例中所示

如何使用样本:

  • 更新您的gmail地址(在第一次执行时,您将被要求获得相关授权)
  • 我强烈建议您第一次使用
    permanentlyremoveylabel=false
    播放。在这种情况下,此示例将显示(并保留)带有
    标签的消息:mytest
  • 完成后,将
    permanentryRemoveMyLabel
    设置为
    true
    。在这种情况下,此示例将显示并永久删除带有
    标签的消息:mytest
样本:


在我这边,我用的是这个

 thread.moveToTrash();
(同意垃圾可能不是你所期望的……)

谷歌文件(英文):

职位(fr):

完整示例脚本(英文):


编辑:这里有一个永久删除线程的解决方案

使用
Gmail.Users.Threads.remove(mymail,thread.id)如下面的示例中所示

如何使用样本:

  • 更新您的gmail地址(在第一次执行时,您将被要求获得相关授权)
  • 我强烈建议您第一次使用
    permanentlyremoveylabel=false
    播放。在这种情况下,此示例将显示(并保留)带有
    标签的消息:mytest
  • 完成后,将
    permanentryRemoveMyLabel
    设置为
    true
    。在这种情况下,此示例将显示并永久删除带有
    标签的消息:mytest
样本:


我在文件里做了一些挖掘。有了你想要的结果,我想你想要的是。如文件所述:

立即永久删除指定的消息。此操作无法撤消

根据
Gmail.Users.Messages.remove()
,我对此不确定,但我认为这是一个旧的实现,因为我环顾了社区,发现它提供了永久删除电子邮件/消息的代码片段。不过,我还是坚持目前的文件所说的


希望这有帮助。祝你好运

我在文档中做了一些挖掘。有了你想要的结果,我想你想要的是。如文件所述:

立即永久删除指定的消息。此操作无法撤消

根据
Gmail.Users.Messages.remove()
,我对此不确定,但我认为这是一个旧的实现,因为我环顾了社区,发现它提供了永久删除电子邮件/消息的代码片段。不过,我还是坚持目前的文件所说的


希望这有帮助。祝你好运

这项工作一直持续到2017年2月中旬

我用这个倒垃圾

  `var threads = GmailApp.getTrashThreads(0, 100);
  for (var i = threads.length -1; i >=0; i--) {
        Logger.log("Removing thread " +i + ' of ' + threads.length + " from Trash");
    try {
    Gmail.Users.Messages.remove(me, threads[i].getId());
    } catch(err) {
    Logger.log("Error " + err.message);
    };
  }
  Logger.log("Finished removing " + threads.length + " threads from Trash.");`
它现在已停止工作,并出现以下错误:

`17-02-25 02:10:53:510 PST] Removing thread 1 of 2 from Trash
[17-02-25 02:10:53:620 PST] Error Not Found
[17-02-25 02:10:53:621 PST] Removing thread 0 of 2 from Trash
[17-02-25 02:10:53:763 PST] Error Not Found
[17-02-25 02:10:53:764 PST] Finished removing 2 threads from Trash.`

最近,该功能似乎有了变化。

该功能一直有效到2017年2月中旬

我用这个倒垃圾

  `var threads = GmailApp.getTrashThreads(0, 100);
  for (var i = threads.length -1; i >=0; i--) {
        Logger.log("Removing thread " +i + ' of ' + threads.length + " from Trash");
    try {
    Gmail.Users.Messages.remove(me, threads[i].getId());
    } catch(err) {
    Logger.log("Error " + err.message);
    };
  }
  Logger.log("Finished removing " + threads.length + " threads from Trash.");`
它现在已停止工作,并出现以下错误:

`17-02-25 02:10:53:510 PST] Removing thread 1 of 2 from Trash
[17-02-25 02:10:53:620 PST] Error Not Found
[17-02-25 02:10:53:621 PST] Removing thread 0 of 2 from Trash
[17-02-25 02:10:53:763 PST] Error Not Found
[17-02-25 02:10:53:764 PST] Finished removing 2 threads from Trash.`

最近似乎对功能进行了更改。

这将从“已发送”文件夹中删除所有对话。注意:如果有人给你发了一条信息,而你回复了,这将是同一次对话的一部分,我认为收到的信息也会被删除。这可能不是你想要的

function DeleteByLabel() {

  var label="sent"
  var threads = GmailApp.search("in:" +label);
  var me = Session.getActiveUser().getEmail();
  Logger.log("Found " + threads.length + " threads with label " + label);

  for (var i = threads.length -1; i >=0; i--) {
     var thisid=threads[i].getId();
     Logger.log("Removing thread " +i + ' of ' + threads.length + " from " + label + " with ID = " + thisid);

    try {
        Gmail.Users.Threads.remove(me, thisid);
    }
    catch(err) {
     Logger.log("Error " + err.message + " when removing thread with ID " +thisid);
    };
}

}
在我的“草稿”文件夹上试用了一下,它把那些都去掉了


注意:运行Gmail API时,您必须启用相应的Gmail API。

这将从sent文件夹中删除所有对话。注意:如果有人给你发了一条信息,而你回复了,这将是同一次对话的一部分,我认为收到的信息也会被删除。这可能不是你想要的

function DeleteByLabel() {

  var label="sent"
  var threads = GmailApp.search("in:" +label);
  var me = Session.getActiveUser().getEmail();
  Logger.log("Found " + threads.length + " threads with label " + label);

  for (var i = threads.length -1; i >=0; i--) {
     var thisid=threads[i].getId();
     Logger.log("Removing thread " +i + ' of ' + threads.length + " from " + label + " with ID = " + thisid);

    try {
        Gmail.Users.Threads.remove(me, thisid);
    }
    catch(err) {
     Logger.log("Error " + err.message + " when removing thread with ID " +thisid);
    };
}

}
在我的“草稿”文件夹上试用了一下,它把那些都去掉了


注意:运行Gmail API时,您必须启用相应的Gmail API。

将其添加到google脚本中

function Intialize() {
  return;
}

function Install() {
  ScriptApp.newTrigger("purgeGmail")
           .timeBased().everyMinutes(1).create();
}

function Uninstall() {
  var triggers = ScriptApp.getScriptTriggers();
  for (var i=0; i<triggers.length; i++) {
    ScriptApp.deleteTrigger(triggers[i]);
  }
}
function purgeGmail() {
  var search = "category:forums";
  var threads = GmailApp.search(search, 0, 500);
  GmailApp.moveThreadsToTrash(threads);
}
函数初始化(){
返回;
}
函数安装(){
ScriptApp.newTrigger(“purgeGmail”)
.timeBased().everyMinutes(1.create();
}
函数卸载(){
var triggers=ScriptApp.getScriptTriggers();

对于(var i=0;i将其添加到google脚本

function Intialize() {
  return;
}

function Install() {
  ScriptApp.newTrigger("purgeGmail")
           .timeBased().everyMinutes(1).create();
}

function Uninstall() {
  var triggers = ScriptApp.getScriptTriggers();
  for (var i=0; i<triggers.length; i++) {
    ScriptApp.deleteTrigger(triggers[i]);
  }
}
function purgeGmail() {
  var search = "category:forums";
  var threads = GmailApp.search(search, 0, 500);
  GmailApp.moveThreadsToTrash(threads);
}
函数初始化(){
返回;
}
函数安装(){
ScriptApp.newTrigger(“purgeGmail”)
.timeBased().everyMinutes(1.create();
}
函数卸载(){
var triggers=ScriptApp.getSc