Apps Script की बेहतर सेवाओं की मदद से, अनुभवी डेवलपर, एचटीटीपी इंटरफ़ेस का इस्तेमाल करने के बजाय, कम सेट-अप के साथ कुछ सार्वजनिक Google एपीआई से कनेक्ट कर सकते हैं. बेहतर सेवाएं, उन Google API के चारों ओर बहुत कम रैपर होती हैं. ये Apps Script की पहले से मौजूद सेवाओं की तरह ही काम करती हैं. उदाहरण के लिए, ये अपने-आप पूरा होने की सुविधा देते हैं. साथ ही, Apps Script अनुमति के फ़्लो को अपने-आप मैनेज करता है. हालांकि, स्क्रिप्ट में इस्तेमाल करने से पहले आपको बेहतर सेवा चालू करनी होगी.
यह देखने के लिए कि कौनसे Google API, बेहतर सेवाओं के तौर पर उपलब्ध हैं, रेफ़रंस में Google की बेहतर सेवाएं सेक्शन देखें. अगर आपको किसी ऐसे Google API का इस्तेमाल करना है जो बेहतर सेवा के तौर पर उपलब्ध नहीं है, तो उसे किसी भी अन्य बाहरी एपीआई की तरह कनेक्ट करें.
बेहतर सेवाएं या एचटीटीपी?
Google की हर बेहतर सेवा, किसी सार्वजनिक Google API से जुड़ी होती है.
Apps Script में, बेहतर सेवाओं की मदद से या सीधे UrlFetch
का इस्तेमाल करके, इन एपीआई को ऐक्सेस किया जा सकता है.
ऐडवांस सेवा के तरीके का इस्तेमाल करने पर, Apps Script अनुमति फ़्लो को मैनेज करता है और ऑटोमैटिक भरने की सुविधा देता है. हालांकि, इसका इस्तेमाल करने से पहले, आपको बेहतर सेवा चालू करनी होगी. इसके अलावा, कुछ बेहतर सेवाएं एपीआई में उपलब्ध फ़ंक्शन का सिर्फ़ एक सबसेट उपलब्ध कराती हैं.
अगर एपीआई को सीधे ऐक्सेस करने के लिए UrlFetch
तरीके का इस्तेमाल किया जाता है, तो इसका मतलब है कि Google API को बाहरी एपीआई के तौर पर इस्तेमाल किया जा रहा है. इस तरीके से, एपीआई के सभी पहलुओं का इस्तेमाल किया जा सकता है. हालांकि, इसके लिए आपको एपीआई की अनुमति खुद ही मैनेज करनी होगी. आपको ज़रूरी हेडर भी बनाने होंगे और एपीआई के रिस्पॉन्स को पार्स करना होगा.
आम तौर पर, जहां भी हो सके वहां बेहतर सेवा का इस्तेमाल करना आसान होता है. UrlFetch
तरीके का इस्तेमाल सिर्फ़ तब करें, जब बेहतर सेवा से आपको ज़रूरी सुविधाएं न मिल रही हों.
ज़रूरी शर्तें
बेहतर सेवा का इस्तेमाल करने से पहले, आपको ये ज़रूरी शर्तें पूरी करनी होंगी:
- आपको अपने स्क्रिप्ट प्रोजेक्ट में, बेहतर सेवा चालू करनी होगी.
आपको यह पक्का करना होगा कि बेहतर सेवा से जुड़ा एपीआई, आपकी स्क्रिप्ट में इस्तेमाल किए जाने वाले Cloud Platform (GCP) प्रोजेक्ट में चालू हो.
अगर आपका स्क्रिप्ट प्रोजेक्ट, 8 अप्रैल, 2019 को या उसके बाद बनाए गए डिफ़ॉल्ट GCP प्रोजेक्ट का इस्तेमाल करता है, तो बेहतर सेवा चालू करने और स्क्रिप्ट प्रोजेक्ट सेव करने के बाद, एपीआई अपने-आप चालू हो जाता है. अगर आपने अब तक ऐसा नहीं किया है, तो आपसे Google Cloud और Google API की सेवा की शर्तों से भी सहमत होने के लिए कहा जा सकता है.
अगर आपके स्क्रिप्ट प्रोजेक्ट में स्टैंडर्ड GCP प्रोजेक्ट या पुराना डिफ़ॉल्ट GCP प्रोजेक्ट इस्तेमाल किया गया है, तो आपको GCP प्रोजेक्ट में ऐडवांस सेवा से जुड़े एपीआई को चालू करना होगा. यह बदलाव करने के लिए, आपके पास GCP प्रोजेक्ट में बदलाव करने का ऐक्सेस होना चाहिए.
ज़्यादा जानकारी के लिए, Cloud Platform प्रोजेक्ट देखें.
बेहतर सेवाएं चालू करना
Google की बेहतर सेवा का इस्तेमाल करने के लिए, इन निर्देशों का पालन करें:
- Apps Script प्रोजेक्ट खोलें.
- बाईं ओर, एडिटर पर क्लिक करें.
- बाईं ओर, सेवाएं के बगल में मौजूद, सेवा जोड़ें पर क्लिक करें .
- Google की कोई बेहतर सेवा चुनें और जोड़ें पर क्लिक करें.
बेहतर सेवा चालू करने के बाद, वह ऑटोकंप्लीट में उपलब्ध होती है.
मेथड सिग्नेचर तय करने का तरीका
ऐडवांस सेवाएं आम तौर पर, उन पब्लिक एपीआई के जैसे ही ऑब्जेक्ट, तरीकों के नाम, और पैरामीटर का इस्तेमाल करती हैं. हालांकि, Apps Script में इस्तेमाल करने के लिए, तरीकों के हस्ताक्षर का अनुवाद किया जाता है. स्क्रिप्ट एडिटर के ऑटोकंप्लीट फ़ंक्शन से, आम तौर पर शुरू करने के लिए ज़रूरी जानकारी मिल जाती है. हालांकि, यहां दिए गए नियमों से पता चलता है कि Apps Script, सार्वजनिक Google API से मेथड हस्ताक्षर कैसे जनरेट करता है.
Google API के लिए किए गए अनुरोधों में कई तरह का डेटा स्वीकार किया जा सकता है. इसमें पाथ पैरामीटर, क्वेरी पैरामीटर, अनुरोध का मुख्य हिस्सा, और/या मीडिया अपलोड करने से जुड़ा अटैचमेंट शामिल है. कुछ ऐडवांस सेवाएं, एचटीटीपी अनुरोध के लिए खास हेडर भी स्वीकार कर सकती हैं. उदाहरण के लिए, Calendar की ऐडवांस सेवा.
Google Apps Script में संबंधित तरीके के हस्ताक्षर में ये तर्क दिए गए हैं:
- अनुरोध का मुख्य हिस्सा (आम तौर पर कोई रिसॉर्स), JavaScript ऑब्जेक्ट के तौर पर.
- अलग-अलग आर्ग्युमेंट के तौर पर, पाथ या ज़रूरी पैरामीटर.
- मीडिया अपलोड करने के लिए अटैचमेंट,
Blob
के तौर पर आर्ग्युमेंट. - वैकल्पिक पैरामीटर, जो JavaScript ऑब्जेक्ट के तौर पर पैरामीटर के नामों को वैल्यू पर मैप करते हैं.
- एचटीटीपी अनुरोध के हेडर, JavaScript ऑब्जेक्ट के हेडर के नामों को हेडर की वैल्यू के साथ मैप करने के लिए इस्तेमाल किए जाते हैं.
अगर किसी कैटगरी में, उस तरीके से कोई आइटम नहीं चुना गया है, तो हस्ताक्षर के उस हिस्से को हटा दिया जाता है.
हालांकि, इसके कुछ अपवाद भी हैं:
- मीडिया अपलोड करने की सुविधा देने वाले तरीकों के लिए, पैरामीटर
uploadType
अपने-आप सेट हो जाता है. - Google API में
delete
नाम वाले तरीकों को Apps Script मेंremove
नाम दिया गया है, क्योंकिdelete
, JavaScript में एक रिज़र्व शब्द है. - अगर किसी बेहतर सेवा को एचटीटीपी अनुरोध हेडर स्वीकार करने के लिए कॉन्फ़िगर किया गया है और आपने अनुरोध हेडर JavaScript ऑब्जेक्ट सेट किया है, तो आपको वैकल्पिक पैरामीटर JavaScript ऑब्जेक्ट भी सेट करना होगा. अगर वैकल्पिक पैरामीटर का इस्तेमाल नहीं किया जा रहा है, तो इसे खाली ऑब्जेक्ट पर सेट करें.
बेहतर सेवाओं के लिए सहायता
ऐडवांस सेवाएं, सिर्फ़ थिन रैपर होती हैं. इनकी मदद से, Apps Script में Google के एपीआई का इस्तेमाल किया जा सकता है. इसलिए, इनका इस्तेमाल करते समय अगर कोई समस्या आती है, तो यह आम तौर पर एपीआई में मौजूद समस्या होती है, न कि Apps Script में.
अगर आपको किसी बेहतर सेवा का इस्तेमाल करते समय कोई समस्या आती है, तो उस एपीआई के लिए सहायता से जुड़े निर्देशों का इस्तेमाल करके, इसकी शिकायत की जानी चाहिए. सहायता से जुड़े इन निर्देशों के लिंक, Apps Script के रेफ़रंस सेक्शन में मौजूद, बेहतर सेवा से जुड़ी हर गाइड में दिए गए हैं.