2012-08-08 7 views
11

का उपयोग करके Google स्प्रेडशीट के मानदंडों को फिट करने वाले ईमेल आयात करें, मुझे आश्चर्य है कि क्या मेरे ऐपबॉक्स या जीमेल में एक निश्चित लेबल पर नज़र रखने वाले ऐप्स स्क्रिप्ट बनाना संभव होगा, और जब कोई ईमेल प्राप्त होता है, तो उसे आयात करें Google स्प्रैडशीटऐप स्क्रिप्ट

दो की सरल सभी ईमेल कि एक निश्चित लेबल है, जो आसानी से जीमेल अपने आप में फिल्टर का उपयोग किया जाता में फंस गए हैं आयात करने के लिए होगा, इसलिए मैं इस मान होता आसान विकल्प

होगा यदि यह संभव है, तो क्या कोई मुझे एक ऐप स्क्रिप्ट से लिंक कर सकता है जो पहले से ही ऐसा करता है या मुझे शुरू करने के लिए सही दिशा में इंगित करता है? मुझे कुछ मिल गया है, यद्यपि ऐप्स स्क्रिप्ट के साथ न्यूनतम अनुभव है, इसलिए मेरे लिए आसान हो जाएं :)

उत्तर

3

हां, आपके द्वारा उल्लिखित कार्य करने के लिए एक स्क्रिप्ट लिखना संभव है। उन तरीकों के लिए ऐप्स स्क्रिप्ट के GmailApp documentation देखें जिन्हें आप ऐसा करने के लिए उपयोग कर सकते हैं।

+1

प्रतिक्रिया के लिए धन्यवाद :) क्या कोई मुझे लेबल एक्स में ईमेल की वास्तविक सामग्री आयात करने के माध्यम से मार्गदर्शन कर सकता है ताकि मैं शुरू कर सकूं? जब मैं इस सामान की बात करता हूं तो मैं निराश हूं :( –

+1

आप GmailApp.getInboxThreads() का उपयोग कर सकते हैं और उसके बाद किसी लेबल से संबंधित सभी मेल देखने के लिए GmailThread.getLabels() का उपयोग कर सकते हैं। ऐसा कहकर, Stackoverflow उत्तर मांगने के लिए एक मंच है आप अटक गए हैं और रेडीमेड कोड के लिए नहीं हैं। इसलिए, आपको निश्चित रूप से चीजों को आजमाएं और जब आपको आगे बढ़ने में कठिनाई हो तो सहायता मांगनी चाहिए। – Srik

9

यहां से शुरू करने के लिए एक छोटा कोड है, मैंने इसे कम करने के लिए पहले 10 धागे के अनुरोध को सीमित कर दिया था और मेरे पास एक लेबल का उपयोग किया था ... परीक्षण करने से पहले इसका नाम बदलना न भूलें; -)

function getMessagesWithLabel() { 
    var destArray = new Array(); 
     var threads = GmailApp.getUserLabelByName('Facebook').getThreads(1,10); 

     for(var n in threads){ 
      var msg = threads[n].getMessages(); 
      var destArrayRow = new Array(); 
      destArrayRow.push('thread has '+threads[n].getMessageCount()+' messages'); 
       for(var m in msg){ 
         destArrayRow.push(msg[m].getSubject()); 
       } 
     destArray.push(destArrayRow);   
      } 
    Logger.log(destArray); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sh = ss.getActiveSheet(); 
    if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel() RESULTS')}; 
    sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray) 
    } 
संबंधित मुद्दे