2016-04-07 39 views
0

Belirli bir konu satırı olan e-postaları bulmak ve ardından bu e-postadaki bilgileri bulmak ve bir dokümana, e-tabloya aktarmak veya kendime e-posta olarak göndermek için bir komut dosyası istiyorum.Google Apps Komut Dosyası'nı, belirli bilgileri Gmail aracılığıyla yinelenen bir e-postadan dışa aktarmak için kullanabilir miyim?

Basılı giysiler için e-posta ile sipariş alıyoruz.

Konu:
Sizin tişört sipariş

Gövde: James yazdırma
Adı: Steve yazdırma
Adı: yazdırmak için
İsim Ryan

Tüm isimleri Adobe Illustrator'a kopyalayıp yapıştırmak için kendi adlarına almak için bir yöntem isterim. onları baskı için hazırlayın.

cevap

1

Gmail iletilerini bir Google E-Tablosuna kaydetmek için, eşleşen iletilerin gönderileceği Gmail'i search query ve sheet ID belirtmeniz gerekir.

Bu örnek kodu şu koddan buldunuz tutorial.

var SEARCH_QUERY = "label:inbox is:unread to:me"; 

// Credit: https://gist.github.com/oshliaer/70e04a67f1f5fd96a708 

function getEmails_(q) { 
    var emails = []; 
    var threads = GmailApp.search(q); 
    for (var i in threads) { 
     var msgs = threads[i].getMessages(); 
     for (var j in msgs) { 
      emails.push([msgs[j].getBody().replace(/<.*?>/g, '\n') 
       .replace(/^\s*\n/gm, '').replace(/^\s*/gm, '').replace(/\s*\n/gm, '\n') 
      ]); 
     } 
    } 
    return emails; 
} 

function appendData_(sheet, array2d) { 
    sheet.getRange(sheet.getLastRow() + 1, 1, array2d.length, array2d[0].length).setValues(array2d); 
} 

function saveEmails() { 
    var array2d = getEmails_(SEARCH_QUERY); 
    if (array2d) { 
     appendData_(SpreadsheetApp.getActiveSheet(), array2d); 
    } 
} 

Ayrıca bu ilgili forum ve tutorial kontrol edebilirsiniz.