Google скрипт, чтобы вытащить получателя письма в метке - PullRequest
0 голосов
/ 30 мая 2018

У меня есть автоматические оповещения по электронной почте, которые помещаются в ярлык в моем почтовом ящике (через ответ на) и также отправляются пользователям (через часть сообщения:):

Я ищудобавить в мой сценарий, который извлекает информацию в теле письма.В конечном итоге я хочу получить получателя письма (в части to: part) и поместить его в столбец B листа Google.Любое понимание будет с благодарностью.

Сценарий:

// Modified from http://pipetree.com/qmacro/blog/2011/10/automated-email-to-task-mechanism-with-google-apps-script/

// Globals, constants
var LABEL_PENDING = "Example label/PENDING";
var LABEL_DONE = "Example label/DONE";

// processPending(sheet)
// Process any pending emails and then move them to done
function processPending_(sheet) {
  // Date format
  var d = new Date();
  var date = d.toLocaleDateString();

  // Get out labels by name
  var label_pending = GmailApp.getUserLabelByName(LABEL_PENDING);
  var label_done = GmailApp.getUserLabelByName(LABEL_DONE);

  // The threads currently assigned to the 'pending' label
  var threads = label_pending.getThreads();

  // Process each one in turn, assuming there's only a single
  // message in each thread
  for (var t in threads) {
    var thread = threads[t];

    // Gets the message body
    var message = thread.getMessages()[0].getBody();

    // Processes the messages here
    orderinfo = message.split("example split");
    rowdata = orderinfo[1].split(" ");

    // Add message to sheet
    sheet.appendRow([rowdata[1]]);

    // Set to 'done' by exchanging labels
    thread.removeLabel(label_pending);
    thread.addLabel(label_done);
  }
}

// main()
// Starter function; to be scheduled regularly
function main_emailDataToSpreadsheet() {
  // Get the active spreadsheet and make sure the first
  // sheet is the active one
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.setActiveSheet(ss.getSheets()[0]);

  // Process the pending emails
  processPending_(sh);
}

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете получить доступ к данным получателя с помощью функции getTo() сообщения.Вы можете просто добавить строку, которая сохраняет его в столбце

//Gets the message body and recipent
var message = thread.getMessages()[0].getBody();
var recipient = thread.getMessages()[0].getTo();

//...

// Add message and recipient to sheet
sheet.appendRow([rowdata[1], recipient]);

Дополнительная информация о функции класса gmailMessage -> https://developers.google.com/apps-script/reference/gmail/gmail-message

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