Skip to content

Instantly share code, notes, and snippets.

@daudrain
Forked from siygle/gist:9678772
Last active July 17, 2020 14:56
Show Gist options
  • Select an option

  • Save daudrain/fdfb7536f79a55a37b19b44e5f0b96fe to your computer and use it in GitHub Desktop.

Select an option

Save daudrain/fdfb7536f79a55a37b19b44e5f0b96fe to your computer and use it in GitHub Desktop.

Revisions

  1. daudrain revised this gist Dec 20, 2016. 1 changed file with 36 additions and 20 deletions.
    56 changes: 36 additions & 20 deletions gistfile1.js
    Original file line number Diff line number Diff line change
    @@ -2,33 +2,49 @@ function processInboxToSheet() {
    //var threads = GmailApp.getInboxThreads();
    // Have to get data separate to avoid google app script limit!
    var start = 0;
    var threads = GmailApp.getInboxThreads(start, 100);
    var threads = GmailApp.search('in:unread', 0, 100);
    var sheet = SpreadsheetApp.getActiveSheet();
    var result = [];

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

    var content = messages[0].getPlainBody();

    // implement your own parsing rule inside
    if (content) {
    var tmp;
    tmp = content.match(/Name:\s*([A-Za-z0-9\s]+)(\r?\n)/);
    var username = (tmp && tmp[1]) ? tmp[1].trim() : 'No username';

    tmp = content.match(/Email:\s*([A-Za-z0-9@.]+)/);
    var email = (tmp && tmp[1]) ? tmp[1].trim() : 'No email';

    tmp = content.match(/Subject:\s*([A-Za-z0-9\s]+)(\r?\n)/);
    var subject = (tmp && tmp[1]) ? tmp[1].trim() : 'No subject';
    var message = messages[0];
    // https://developers.google.com/apps-script/reference/gmail/gmail-message for Message API
    if (message.isUnread()) {

    tmp = content.match(/Comments:\s*([\s\S]+)/);
    var comment = (tmp && tmp[1]) ? tmp[1] : 'No comment';
    var content = message.getPlainBody();

    sheet.appendRow([username, email, subject, comment]);

    Utilities.sleep(500);
    if (content) {
    var tmp;
    /*
    * See https://regex101.com/r/H1mSmn/1 for the regex
    */
    tmp = content.match(/Firstname\s*[:]\s*[*]([A-Za-z0-9áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ\s-?@.']+)[*]/);
    if (tmp && tmp[1]) {
    var firstname = "";
    firstname = tmp[1].trim();

    tmp = content.match(/Lastname\s*[:]\s*[*]([A-Za-z0-9áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ\s-?@.']+)[*]/);
    if (tmp && tmp[1]) {
    var lastname = "";
    lastname = tmp[1].trim();

    tmp = content.match(/Company\s*[:]\s*[*]([A-Za-z0-9áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ\s]+)[*]/);
    if (tmp && tmp[1]) {
    var platform = tmp[1].trim();

    var from = message.getFrom();

    sheet.appendRow([from, firstname, lastname, platform]);

    Utilities.sleep(200);
    thread.markRead();
    }
    }
    }
    }
    }
    }
    };
  2. @siygle siygle revised this gist Mar 21, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions gistfile1.js
    Original file line number Diff line number Diff line change
    @@ -11,6 +11,7 @@ function processInboxToSheet() {

    var content = messages[0].getPlainBody();

    // implement your own parsing rule inside
    if (content) {
    var tmp;
    tmp = content.match(/Name:\s*([A-Za-z0-9\s]+)(\r?\n)/);
  3. @siygle siygle created this gist Mar 21, 2014.
    33 changes: 33 additions & 0 deletions gistfile1.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    function processInboxToSheet() {
    //var threads = GmailApp.getInboxThreads();
    // Have to get data separate to avoid google app script limit!
    var start = 0;
    var threads = GmailApp.getInboxThreads(start, 100);
    var sheet = SpreadsheetApp.getActiveSheet();
    var result = [];

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

    var content = messages[0].getPlainBody();

    if (content) {
    var tmp;
    tmp = content.match(/Name:\s*([A-Za-z0-9\s]+)(\r?\n)/);
    var username = (tmp && tmp[1]) ? tmp[1].trim() : 'No username';

    tmp = content.match(/Email:\s*([A-Za-z0-9@.]+)/);
    var email = (tmp && tmp[1]) ? tmp[1].trim() : 'No email';

    tmp = content.match(/Subject:\s*([A-Za-z0-9\s]+)(\r?\n)/);
    var subject = (tmp && tmp[1]) ? tmp[1].trim() : 'No subject';

    tmp = content.match(/Comments:\s*([\s\S]+)/);
    var comment = (tmp && tmp[1]) ? tmp[1] : 'No comment';

    sheet.appendRow([username, email, subject, comment]);

    Utilities.sleep(500);
    }
    }
    };