Получить последнее вложение Gmail из помеченной темы - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь получить последнее вложение последнего сообщения в ветке gmail через скрипт приложений Google.Вот что у меня есть:

  //gets first(latest) message with set label
  var label = GmailApp.getUserLabelByName('SpecificLabel');
  var threads = label.getThreads();     
  var message = threads[0].getMessages();
  //message.reverse

  var attachment = message[threads[0].getMessageCount()-1].getAttachments()[0];
  var ss = SpreadsheetApp.getActive();
  var summarySht = ss.getSheetByName('Summary');
  var dbPullSht = ss.getSheetByName('Database Pull');

  Browser.msgBox(attachment.getContentType());
  // Is the attachment a CSV file
  if (attachment.getContentType() === 'text/csv') { 
     //do something
  }

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

Вот как это работает.Я отправляю файл xls кому-то.Они отправляют обратно файл CSV.Мне нужен этот файл CSV.

1 Ответ

0 голосов
/ 14 сентября 2018

Я создал цикл for, чтобы получить вложение с правильным именем. Предполагается, что имя файла будет таким же.

//gets first(latest) message with set label
var label = GmailApp.getUserLabelByName('SpecificLabel');
var threads = label.getThreads(0, 1);
var message = threads[0].getMessages();
message = message[message.length - 1];
var attachments = message.getAttachments();
for (var i = 0; i < attachments.length; i++) {
  if (attachments[i].getName() === 'filename.csv') {
    var attachment = attachments[i];
  }
}
var ss = SpreadsheetApp.getActive();
var summarySht = ss.getSheetByName('Summary');
var dbPullSht = ss.getSheetByName('Database Pull');

Browser.msgBox(attachment.getContentType());
Browser.msgBox(attachment.getName());
// Does the attachment name match?
if (attachment.getName() === 'filename.csv') {
  //do something
}

Это также выполнит проверку имени файла вместо типа файла перед продолжением работы с кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...