Google Apps脚本使用Google的消息ID删除Gmail消息

发布于 2025-01-30 07:02:24 字数 1176 浏览 1 评论 0原文

我有一个我想在Gmail帐户中删除的Google表格中的电子邮件ID列表。我需要一个脚本,该脚本将在运行时删除所有列出的电子邮件。以HTML模式查看Gmail时,ID号来自URL。这是一个示例,180CD026 *** 9177a是我列表中的内容,我需要用来从Gmail中删除消息。到目前为止,我拥有的代码仅在纸张中的ID列表与收件箱中的消息顺序匹配时才能起作用。无论消息在收件箱/列表中的位置,我都需要工作。有人有建议吗?

function myFunction() {
var ss = SpreadsheetApp.getActive();
var sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1CaptwI0-NCgHfOmn5dT1D2okg2vhu_______________________").getSheetByName("sheet1");
     var start = 0;
    var threads = GmailApp.getInboxThreads(start, 100);
    var range = sheet.getDataRange();
      for (var i = 0; i <threads.length; i++){
        for (var j = 0; j<6+1; j++){  // replace 4 with the total values in the google sheet
          var data = range.getValues();
          var iava_value = (data[j][0]);
          var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
         // Get its ID
          var messageId = message.getId();
         console.log(messageId);
         //get thread
         var thread = GmailApp.getInboxThreads(0,1)[0];
         if(messageId==iava_value)
          {
            thread.moveToTrash();
          }
        }
       }
    }

I have a list of email ID numbers in Google Sheets that I would like deleted in my Gmail account. I need a script that will delete all of the listed emails when it is run. The ID number comes from the URL when viewing Gmail in HTML mode. Here is a sample, the 180cd026***9177a is what I have in my list and I need to use to delete the messages from Gmail. The code that I have so far works only if the list of IDs in sheets matches the order of the messages in the inbox. I need something to work no matter where the message is located in the inbox/list. Does anyone have suggestions?

function myFunction() {
var ss = SpreadsheetApp.getActive();
var sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1CaptwI0-NCgHfOmn5dT1D2okg2vhu_______________________").getSheetByName("sheet1");
     var start = 0;
    var threads = GmailApp.getInboxThreads(start, 100);
    var range = sheet.getDataRange();
      for (var i = 0; i <threads.length; i++){
        for (var j = 0; j<6+1; j++){  // replace 4 with the total values in the google sheet
          var data = range.getValues();
          var iava_value = (data[j][0]);
          var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
         // Get its ID
          var messageId = message.getId();
         console.log(messageId);
         //get thread
         var thread = GmailApp.getInboxThreads(0,1)[0];
         if(messageId==iava_value)
          {
            thread.moveToTrash();
          }
        }
       }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九厘米的零° 2025-02-06 07:02:24

删除其ID在请求数组中的消息,

var request = { "ids": idA };
Gmail.Users.Messages.batchDelete(request, "me");

也许是这样:

function myFunction() {
  var ss = SpreadsheetApp.getActive();
  var sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1CaptwI0-NCgHfOmn5dT1D2okg2vhu_______________________").getSheetByName("sheet1");
  var start = 0;
  let idA = [];
  var threads = GmailApp.getInboxThreads(start, 100);
  var range = sheet.getDataRange();
  for (var i = 0; i < threads.length; i++) {
    for (var j = 0; j < 6 + 1; j++) {  // replace 4 with the total values in the google sheet
      var data = range.getValues();
      var iava_value = (data[j][0]);
      var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
      var messageId = message.getId();
      var thread = GmailApp.getInboxThreads(0, 1)[0];
      if (messageId == iava_value) {
        idA.push(messageId)
      }
    }
  }
  if (idA && idA.length > 0) {
    var request = { "ids": idA };
    Gmail.Users.Messages.batchDelete(request, "me");
  }
}

Deletes messages whose ids are in the request array

var request = { "ids": idA };
Gmail.Users.Messages.batchDelete(request, "me");

Maybe something like this:

function myFunction() {
  var ss = SpreadsheetApp.getActive();
  var sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1CaptwI0-NCgHfOmn5dT1D2okg2vhu_______________________").getSheetByName("sheet1");
  var start = 0;
  let idA = [];
  var threads = GmailApp.getInboxThreads(start, 100);
  var range = sheet.getDataRange();
  for (var i = 0; i < threads.length; i++) {
    for (var j = 0; j < 6 + 1; j++) {  // replace 4 with the total values in the google sheet
      var data = range.getValues();
      var iava_value = (data[j][0]);
      var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
      var messageId = message.getId();
      var thread = GmailApp.getInboxThreads(0, 1)[0];
      if (messageId == iava_value) {
        idA.push(messageId)
      }
    }
  }
  if (idA && idA.length > 0) {
    var request = { "ids": idA };
    Gmail.Users.Messages.batchDelete(request, "me");
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文