1. Google Apps Script का परिचय
इस कोडलैब में, हम आपको Google की डेवलपर टेक्नोलॉजी को ऐक्सेस करने वाले कोड लिखने के सबसे आसान तरीकों के बारे में बताएंगे. ये सारे काम JavaScript लागू करके किए जाते हैं, जो कि वेब डेवलपमेंट की मेनस्ट्रीम भाषा है. Google Apps Script का इस्तेमाल करके, Google शीट में किसी सेल से मोहल्ले का पता निकालने के लिए कोड लिखेंगे, पते के आधार पर Google मैप जनरेट करेंगे, और फिर Gmail का इस्तेमाल करके मैप को अटैचमेंट के तौर पर भेजेंगे. सबसे अच्छी बात क्या है? इसमें कोड की सिर्फ़ चार लाइनें होंगी.
आप इन चीज़ों के बारे में जानेंगे
- Google Apps Script को Google की कई सेवाओं, जैसे कि Google Sheets, Google Maps, और Gmail के साथ इस्तेमाल करने का तरीका.
- Apps Script के लिए, ब्राउज़र में मौजूद एडिटर का इस्तेमाल करके कोड डेवलप करें.
आपको इनकी ज़रूरत होगी
- इंटरनेट ऐक्सेस करने वाला वेब ब्राउज़र
- Google खाता (Google Workspace खातों के लिए एडमिन की अनुमति ज़रूरी हो सकती है)
- Google Sheets के बारे में बुनियादी जानकारी
- Sheets A1 नोटेशन पढ़ने की सुविधा
2. सर्वे
इस कोडलैब/ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?
Google Workspace के डेवलपर टूल इस्तेमाल करने के अपने अनुभव को आप कितनी रेटिंग देंगे और API?
3. खास जानकारी
अब आपको पता है कि यह कोडलैब किस बारे में है, तो आपको बताएं कि आपको क्या करना है?
- JavaScript पर आधारित Apps Script के बारे में कुछ जानें.
- Google Sheets स्प्रेडशीट बनाएं.
- स्प्रेडशीट के सबसे ऊपर बाएं सेल (A1) में, मोहल्ले का पता डालें.
- किसी भी दस्तावेज़ के लिए Apps Script एडिटर खोलने का तरीका जानें.
- Apps Script कोड में बदलाव करें, उसे सेव करें, और चलाएं.
- नतीजा देखने के लिए Gmail का इस्तेमाल करें.
चलिए, शुरू करते हैं।
Google Apps Script क्या है?
Google Apps Script एक डेवलपमेंट प्लैटफ़ॉर्म है. इसकी मदद से, Google Workspace के साथ इंटिग्रेट किए जाने वाले छोटे ऐप्लिकेशन और स्क्रिप्ट तेज़ी और आसानी से बनाई जा सकती हैं. Apps Script की मदद से:
- JavaScript में कोड लिखें और Gmail, Calendar, Drive वगैरह जैसे Google Workspace ऐप्लिकेशन में पहले से मौजूद लाइब्रेरी ऐक्सेस करें.
- इंस्टॉल करने के लिए कुछ भी नहीं होता—हम सीधे आपके ब्राउज़र में आपको एक कोड एडिटर देते हैं और आपकी स्क्रिप्ट Google के सर्वर पर चलती हैं.
- आपको सुरक्षा और डेटा ऐक्सेस करने की अनुमतियों जैसे मुश्किल विषयों के बारे में चिंता करने की ज़रूरत नहीं है, क्योंकि यह प्लैटफ़ॉर्म आपके लिए इसे मैनेज करता है.
Apps Script का इस्तेमाल करके, चैट बॉट से लेकर वेब ऐप्लिकेशन जैसे कई ऐप्लिकेशन बनाए जा सकते हैं. Google Sheets स्प्रेडशीट की सुविधाओं को बढ़ाना, इसका सबसे लोकप्रिय इस्तेमाल है. इस कोडलैब के बाकी हिस्से में, आपको स्प्रेडशीट से डेटा लेने और उसे Google की अन्य सेवाओं से कनेक्ट करने के लिए, Apps Script का इस्तेमाल करने का तरीका बताया जाएगा.
4. Google शीट बनाना और मोहल्ले का पता दर्ज करें
नई Google शीट में, इन निर्देशों का पालन करके मोहल्ले का मान्य पता डालें:
- इस सुविधा लिंक (sheets.google.com/create) का इस्तेमाल करके Google शीट बनाएं. इसके अलावा, अपनी Google Drive (drive.google.com) पर जाएं और नया > Google Sheets > खाली स्प्रेडशीट
- खाली स्प्रेडशीट में, सबसे ऊपर बाएं कोने में पहले सेल पर जाएं (A1). यह कॉलम A और लाइन 1 में होगा. अगर आपको अपने बारे में फिर से जानना है, तो A1 नोटेशन का यह ब्यौरा देखें.
- सेल में मोहल्ले का मान्य पता डालें. दुनिया में किसी भी जगह का सटीक पता डालें. इसके लिए मोहल्ले का पता, पिन कोड या शहर और राज्य/प्रांत के नाम का इस्तेमाल करें. यहां न्यूयॉर्क के एक पते का उदाहरण दिया गया है:
शीट में आपको बस इतना ही करना है. एडिटर खोलें और कुछ कोड लिखें.
5. Apps Script कोड में बदलाव करें
अब आपके पास एक नई Google शीट है, उसकी बाउंड स्क्रिप्ट में बदलाव करें. ऐसा करने के लिए, यह तरीका अपनाएं:
स्क्रिप्ट एडिटर खोलें
मेन्यू बार पर, एक्सटेंशन > चुनें Apps Script में, Apps Script के लिए ब्राउज़र कोड एडिटर खोलने के लिए.
कोड एडिटर, नए ब्राउज़र टैब में, शीट के लिए डिफ़ॉल्ट कंटेनर-बाउंड स्क्रिप्ट दिखाता है. myFunction()
नाम का डिफ़ॉल्ट फ़ंक्शन अपने-आप बन जाता है और आपका कर्सर फ़ंक्शन के अंदर रखा जाता है, ताकि आप शुरू कर सकें.
पते का एक Google मैप ईमेल करें
"टेंप्लेट" आपको दिया गया कोड खाली है, तो आइए इसे अपने ऐप्लिकेशन से बदल देते हैं.
- स्क्रिप्ट एडिटर में, डिफ़ॉल्ट
myFunction()
कोड ब्लॉक को इस कोड से बदलें:
/** @OnlyCurrentDoc */
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange('A1').getValue();
var map = Maps.newStaticMap().addMarker(address);
GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
- प्लेसहोल्डर वाले ईमेल पते (
'YOUR_EMAIL_ADDR'
) की जगह कोई मान्य ईमेल पता डालें. उदाहरण के लिए, friend@example.com. - अपनी स्क्रिप्ट सेव करने के लिए, सेव करें पर क्लिक करें.
- अपने Apps Script प्रोजेक्ट का नाम बदलने के लिए, बिना टाइटल वाले प्रोजेक्ट पर क्लिक करें. इसके बाद, अपने प्रोजेक्ट का टाइटल डालें और नाम बदलें पर क्लिक करें.
कोड की समीक्षा करें
चलिए, sendMap()
फ़ंक्शन की उन चार लाइनों की समीक्षा करते हैं जो पूरा ऐप्लिकेशन बनाती हैं. दिलचस्प बात यह है कि कोड में तीन अलग-अलग Google प्रॉडक्ट के बारे में जानकारी दी गई है.
पहली लाइन, एनोटेशन पर की गई एक टिप्पणी है, जिसका असर अनुमति देने की अनुमति पर पड़ता है:
/** @OnlyCurrentDoc */
ज़्यादातर स्क्रिप्ट चलाने से पहले, उपयोगकर्ता से कुछ अनुमतियां मांगती हैं. ये अनुमतियां नियंत्रित करती हैं कि उपयोगकर्ता, स्क्रिप्ट को क्या करने दे रहा है. पहली लाइन, एक टिप्पणी है. इसमें ज़रूरी नहीं है की जानकारी दी गई है. यह Apps Script में, मौजूदा स्प्रेडशीट के ऐक्सेस को सीमित करने के लिए निर्देश दे रही है. वहीं, सभी स्प्रेडशीट के लिए नहीं. जब सिर्फ़ एक फ़ाइल पर काम किया जा रहा हो, तो इस एनोटेशन को शामिल करना सबसे सही तरीका होता है.
यह कोड, sendMap()
के लिए, सामान्य JavaScript फ़ंक्शन का इस्तेमाल करता है:
function sendMap() {
अगली लाइन, उस स्प्रेडशीट सेवा को कॉल करती है जिसे Apps Script से SpreadsheetApp
ऑब्जेक्ट के ज़रिए ऐक्सेस किया जा सकता है. वापस मिली शीट को उसी नाम के वैरिएबल के लिए असाइन किया गया है. getActiveSheet()
तरीके को मौजूदा शीट ऑब्जेक्ट का रेफ़रंस मिलता है और उसे sheet
वैरिएबल में सेव किया जाता है.
var sheet = SpreadsheetApp.getActiveSheet();
sheet
ऑब्जेक्ट के साथ, हम A1 नोटेशन में getRange()
वाले सेल की रेंज (एक सेल की) का रेफ़रंस देते हैं. "रेंज" सेल का एक ग्रुप है. इसमें सेल A1
(वह सेल जिसमें हमने पता डाला है) जैसा सिंगल शामिल है. रेंज के अंदर मौजूद डेटा को फ़ेच करने के लिए, getValue()
तरीका, रेंज में सबसे ऊपर बाईं ओर मौजूद सेल की वैल्यू दिखाता है और वैरिएबल address
को वैल्यू असाइन करता है. आप और पते जोड़ने और अलग-अलग सेल से पढ़ने की कोशिश भी कर सकते हैं.
var address = sheet.getRange('A1').getValue();
कोड की तीसरी लाइन, Maps
ऑब्जेक्ट का इस्तेमाल करके Google Maps की सेवा से कनेक्ट होती है. newStaticMap()
, स्टैटिक मैप ऑब्जेक्ट बनाता है और addMarker()
तरीका "पिन" जोड़ता है शीट में दिए गए पते का इस्तेमाल करके मैप पर जोड़ दें.
var map = Maps.newStaticMap().addMarker(address);
आखिर में, MailApp
ऑब्जेक्ट से Gmail सेवा, sendEmail()
तरीके को ऐसे ईमेल भेजने के लिए कॉल करती है जिसमें "नीचे देखें" टेक्स्ट दोनों शामिल हों. और मैप की इमेज को अटैचमेंट के तौर पर जोड़ सकते हैं.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. Google Sheets, Maps, और Gmail ऐप्लिकेशन का इस्तेमाल करना
नाम रखने और सेव करने के बाद, फ़ंक्शन को चलाने का समय होता है. एडिटर में सबसे ऊपर, पक्का करें कि फ़ंक्शन सूची में से sendMap()
को चुना गया है. इसके बाद, Run पर क्लिक करें.
Apps Script सुविधा के डेवलपर, इस बात की सराहना करते हैं कि आपको ऐसा ऑथराइज़ेशन कोड लिखने की ज़रूरत नहीं है जो प्रोग्राम को उपयोगकर्ता के डेटा का ऐक्सेस देता हो. हालांकि Apps Script में इसे मैनेज किया जाता है, लेकिन आपके ऐप्लिकेशन के उपयोगकर्ताओं को अब भी स्क्रिप्ट को अपनी स्प्रेडशीट ऐक्सेस करने और Gmail से ईमेल भेजने की अनुमति देनी होगी. अनुमति देने वाला पहला डायलॉग बॉक्स कुछ ऐसा दिखता है:
जारी रखने के लिए, अनुमतियां देखें पर क्लिक करें.
इसके बाद आपको OAuth2 डायलॉग विंडो दिखेगी, जिसमें आपकी शीट को ऐक्सेस करने और आपकी ओर से ईमेल भेजने की अनुमति मांगी जाएगी:
आपके अनुमति देने के बाद, स्क्रिप्ट पूरी तरह चलती है.
वह ईमेल खाता देखें जहां आपने अपना मैसेज भेजा था. आपको "मैप" वाला ईमेल दिखना चाहिए और मैसेज लिखें, जो इस तरह दिखेगा:
ईमेल में मौजूद अटैचमेंट को खोलने पर, आपको शीट में डाले गए पते पर पिन के साथ एक Google मैप दिखेगा:
कोड की सिर्फ़ चार लाइनों से, आपने Google के तीन अलग-अलग प्रॉडक्ट को बेहतर तरीके से ऐक्सेस किया.
7. अन्य संसाधन
इस कोडलैब में दिखाया गया कोड, github.com/googleworkspace/apps-script-intro-codelab पर GitHub रेपो में भी उपलब्ध है. यहां कुछ और संसाधन दिए गए हैं. इनकी मदद से, कोडलैब के इस मॉड्यूल में इस्तेमाल किए गए कॉन्टेंट को अच्छी तरह से समझा जा सकता है. साथ ही, Google डेवलपर टूल को प्रोग्राम के हिसाब से ऐक्सेस करने के अन्य तरीकों के बारे में भी जाना जा सकता है.
दस्तावेज़
- Google Apps Script के दस्तावेज़ की साइट
- Apps Script: Gmail सेवा
- Apps Script: स्प्रेडशीट सेवा
- Apps Script: Maps सेवा
वीडियो
समाचार और अपडेट
- Google Workspace Developers ब्लॉग
- Twitter: Google Workspace Developers (@workspacedevs)
अन्य कोडलैब
आसान लेवल
- [Google Sheets] Google Sheets के साथ Apps Script की बुनियादी बातें
- [REST API] Google Workspace और Google Workspace का इस्तेमाल करें फ़ाइलें और ऐक्सेस करने के लिए Google API Google Drive में मौजूद फ़ोल्डर
इंटरमीडिएट लेवल
- [Apps Script] Gmail के लिए Google Workspace ऐड-ऑन
- [ऐप्लिकेशन स्क्रिप्ट] Hangouts Chat के लिए पसंद के मुताबिक बॉट
- [REST API] अपने ऐप्लिकेशन के रिपोर्टिंग टूल के तौर पर Google Sheets का इस्तेमाल करें
- [REST API] BigQuery API का इस्तेमाल करके, Google Slides प्रज़ेंटेशन बनाएं