Google apps script 使用谷歌脚本从一个线程中永久删除一条gmail消息

Google apps script 使用谷歌脚本从一个线程中永久删除一条gmail消息,google-apps-script,gmail,gmail-api,Google Apps Script,Gmail,Gmail Api,我想永久删除垃圾桶中已存在的线程中的Gmail邮件 我在那里合并了一些脚本,所以我可以延迟和跟踪电子邮件。它的工作原理是保存草稿,然后脚本将草稿复制到新的电子邮件中,在指定的时间发送,然后将原始草稿发送到垃圾箱。问题是,偶尔会再次发送垃圾箱中的草稿(我还不知道为什么) 作为解决方法,我使用了最初发布在此处的以下代码: 这不会得到任何错误,但如果草稿位于包含多条消息的线程中,则整个线程将被删除,而不仅仅是草稿 那么,有没有办法只删除草稿 我尝试在线程内调用草稿的消息id,并使用原始的第6行: fu

我想永久删除垃圾桶中已存在的线程中的Gmail邮件

我在那里合并了一些脚本,所以我可以延迟和跟踪电子邮件。它的工作原理是保存草稿,然后脚本将草稿复制到新的电子邮件中,在指定的时间发送,然后将原始草稿发送到垃圾箱。问题是,偶尔会再次发送垃圾箱中的草稿(我还不知道为什么)

作为解决方法,我使用了最初发布在此处的以下代码:

这不会得到任何错误,但如果草稿位于包含多条消息的线程中,则整个线程将被删除,而不仅仅是草稿

那么,有没有办法只删除草稿

我尝试在线程内调用草稿的消息id,并使用原始的第6行:

function cleanUp2() {
  var threads = GmailApp.search("in:trash is:draft");
  Logger.log(threads.length);      
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    Logger.log(messages.length);        
    for (var j = 0; j < messages.length; j++){
      if (messages[j].isDraft()){
        Logger.log('id msg: ' + messages[j].getId());
        Gmail.Users.Message.remove('me',messages[j].getId());        
      }    
    }
  }
}
您可以在google的开发者页面中找到:。在“trythisapi”部分,它是有效的,但在我的实现中,我在第2行遇到了一个错误,它说(从西班牙语翻译过来,所以我不知道它是否准确):“操作符后面(后面?)缺少一个名称(?)”,“如果我在一个单独的选项卡中复制函数,我可以保存它并显示相同的错误

任何帮助都将不胜感激


关于,

我终于通过http请求实现了:

function cleanUp2() {
  var threads = GmailApp.search("in:trash is:draft");
  Logger.log(threads.length);

  var userId = 'xxxxx@gmail.com';
  var options = {
   'method' : 'delete',
   'muteHttpExceptions': true
 };

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    Logger.log(messages.length);

    for (var j = 0; j < messages.length; j++){
      if (messages[j].isDraft()){
        Logger.log('id msg: ' + messages[j].getId());
        var url = 'https://www.googleapis.com/gmail/v1/users/' + userId + '/messages/' + messages[j].getId();
        var response = UrlFetchApp.fetch(url,options);
        Logger.log(response);            
      }    
    }
  }
}
函数cleanUp2(){
var threads=GmailApp.search(“in:trash是:draft”);
Logger.log(线程.长度);
var userId='1〕xxxxx@gmail.com';
变量选项={
'方法':'删除',
“muteHttpExceptions”:true
};
对于(var i=0;i
function cleanUp2() {
  var threads = GmailApp.search("in:trash is:draft");
  Logger.log(threads.length);      
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    Logger.log(messages.length);        
    for (var j = 0; j < messages.length; j++){
      if (messages[j].isDraft()){
        Logger.log('id msg: ' + messages[j].getId());
        Gmail.Users.Message.remove('me',messages[j].getId());        
      }    
    }
  }
}
function deleteMessage(userId, messageId) {
  var request = gapi.client.gmail.users.messages.delete({
    'userId': userId,
    'id': messageId
  });
  request.execute(
    function(resp) { });
}
function cleanUp2() {
  var threads = GmailApp.search("in:trash is:draft");
  Logger.log(threads.length);

  var userId = 'xxxxx@gmail.com';
  var options = {
   'method' : 'delete',
   'muteHttpExceptions': true
 };

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    Logger.log(messages.length);

    for (var j = 0; j < messages.length; j++){
      if (messages[j].isDraft()){
        Logger.log('id msg: ' + messages[j].getId());
        var url = 'https://www.googleapis.com/gmail/v1/users/' + userId + '/messages/' + messages[j].getId();
        var response = UrlFetchApp.fetch(url,options);
        Logger.log(response);            
      }    
    }
  }
}