Копирование вложений Gmail на Google Диск с помощью скрипта Apps - PullRequest
0 голосов
/ 05 марта 2020

Я использую Google Apps Script для автоматизации сохранения вложений из электронных писем в уникальные папки Google Диска в зависимости от метки, в которую были отфильтрованы сообщения.

До сих пор мне удавалось получить идентификатор сообщения, используя некоторый код фрагмент, который я нашел на линии. Однако я застреваю, пытаясь получить доступ к телу сообщений и сохранить вложение в папке на диске.

function getMessage(){
     var folder = DriveApp.getFolderById('xxxxxxxxxxxxx');
     var userId = "myemail@gmail.com";
     var query = "label:Global Alcohol";
     var res = Gmail.Users.Messages.list(userId, {q: query});
     var attachment = msgs.Attachments.get(userId, messageId, id);
     var ids = res.messages.map(function(e){return e.id});
     Logger.log(ids);// Message IDs with the specific labels.
     }

Заранее благодарен за помощь.

1 Ответ

1 голос
/ 05 марта 2020

Попробуйте это:

function saveAttachmentInFolder(){
  var folder = DriveApp.getFolderById('xxxxxxxxxxxxx');
  var userId = "myemail@gmail.com";
  var query = "label:Global Alcohol";
  var res = Gmail.Users.Messages.list(userId, {q: query});//I assumed that this works
  res.messages.forEach(function(m){
    var attA=GmailApp.getMessageById(m.id).getAttachments();
    attA.forEach(function(a){
      var ts=Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "yyMMddHHmmss");
      folder.createFile(a.copyBlob()).setName(a.getName()+ts);
    });
  });
}
...