यह पहली स्क्रिप्ट है जिसे मैं स्क्रैच से लिखने का प्रयास करता हूं। अब तक कोई अच्छा नहीं रहा है इसलिए मैं कुछ मदद मांगने जा रहा हूं।Google Apps स्क्रिप्ट्स - जीमेल से स्प्रेडशीट में डेटा निकालें
केस: मैं ई-कॉमर्स साइट्स से ई-कॉमर्स पुष्टिकरण ईमेल प्राप्त करता हूं, कोई जवाब ईमेल पता नहीं। ईमेल के शरीर में वे खरीदारों से ईमेल पता भेजते हैं। मैं शरीर के ईमेल पते पर एक स्वचालित मेल भेजना चाहता हूं।
मैं यह कैसे करने की योजना बना रहा हूं (चरणों को खत्म करने के लिए कोई भी शर्करा धन्यवाद दिया जाएगा)।
आने वाले ईमेल को एक अद्वितीय टैग के साथ टैग करने के लिए नियम का उपयोग करें।
किसी टैग के साथ जीमेल में ईमेल की पहचान करने के लिए उस टैग का उपयोग करें, एक-एक करके जाएं और मुझे आवश्यक जानकारी निकालें। स्वचालित ईमेल भेजने के लिए आवश्यक ईमेल पते निकालने के लिए ईमेल बॉडी सामग्री के साथ रेगेक्स का उपयोग करें। योजना प्राप्त करना है: विषय, तिथि, शरीर से ईमेल।
वह जानकारी स्प्रेडशीट पर लिखें।
डुप्लिकेट रन को रोकने के लिए अद्वितीय टैग जानकारी से छुटकारा पाएं।
फिर स्प्रेडशीट से ईमेल भेजने के लिए फॉर्म mule addon का उपयोग करें।
अब तक, मैं चरण 1 (आसान) के साथ पेश किया है, और चरण 2 और 3 (आईएम नहीं एक सांकेतिक शब्दों में बदलनेवाला के साथ stuggling दिया, मैं पढ़ सकते हैं, undestrand और हैक। खरोंच से लेखन एक पूरी तरह से अलग है चीज़)। इससे पहले कि मुझे लगता है कि इससे निपटने का यह सबसे अच्छा तरीका है, मैंने 4 से निपटाया।
स्क्रिप्ट के साथ मैं स्प्रेडशीट को जानकारी निकालता हूं, एडन के साथ मैं ईमेल भेजने के लिए स्प्रेडशीट से जानकारी का उपयोग करता हूं।
यह अब तक लिखा गया कोड ive है। मैंने बाद में कारण के लिए रेगेक्स भाग छोड़ा है, मैं अभी तक स्प्रेडशीट में कुछ भी लिख नहीं सकता हूं। एक बार जब मैं यह काम करता हूं, बीमार रेगेक्स में काम करना शुरू कर देता है और स्क्रिप्ट के पहलुओं को "लेबल हटा दें"।
function myFunction() {
function getemails() {
var label = GmailApp.getUserLabelByName("Main tag/subtag");
var threads = label.getThreads();
for (var i = 0; i < threads.length; i++) {
var messages=threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var message=messages[j];
var subject=message.getSubject();
tosp(message);
}
}
}
function tosp(message){
var body=message.getBody()
var date=message.getDate();
var subject=message.getSubject();
var id= "my spreasheet id";
var ss = SpreadsheetApp.openById(id);
var sheet = ss.getActiveSheet();
sheet.appendRow(subject,date,body);
}
}
किसी भी मदद की सराहना की जाएगी।
धन्यवाद सेबस्टियन
इस तरह की एक अच्छी और विस्तृत व्याख्या! मैं बस 'प्वाइंट एनक्लिक' तक अंगूठे दिए बिना पास नहीं कर सका! – Zongjun
@pointNclick, क्षमा करें पुराना धागा। लेकिन जवाब देने में मदद नहीं कर सका .... मेरे पास जीमेल में एक लेबल में 5000+ संदेश (धागे) हैं। लेकिन उपर्युक्त कोड केवल Google स्प्रेडशीट में 524 संदेशों को सूचीबद्ध करता है। डीबग मोड के तहत थ्रेड। लम्बाई केवल 500 दिखाता है। कारण क्या हो सकता है? – sifar786