Apps Script में उपलब्ध ऐडवांस सेवाओं की मदद से, कुछ सार्वजनिक Google API से कनेक्ट किया जा सकता है. इसके लिए, आपको उनके एचटीटीपी इंटरफ़ेस का इस्तेमाल करने की तुलना में कम सेटअप करना पड़ता है. ऐडवांस सेवाएं, Google API के चारों ओर पतले रैपर होती हैं. ये Apps Script की बिल्ट-इन सेवाओं की तरह काम करती हैं. उदाहरण के लिए, ये अपने-आप पूरा होने वाली सुविधा देती हैं. साथ ही, Apps Script अनुमति देने की प्रोसेस को अपने-आप मैनेज करती है. हालांकि, स्क्रिप्ट में इसका इस्तेमाल करने से पहले, आपको ऐडवांस सेवा चालू करनी होगी.
ऐडवांस सेवाएं चालू करना
Google की ऐडवांस सेवा का इस्तेमाल करने के लिए, इन निर्देशों का पालन करें:
पहला चरण: ऐडवांस सेवा चालू करना
Apps Script एडिटर का इस्तेमाल करके या मेनिफ़ेस्ट में बदलाव करके, ऐडवांस सेवा चालू की जा सकती है.
पहला तरीका: एडिटर का इस्तेमाल करना
- Apps Script प्रोजेक्ट खोलें.
- बाईं ओर, एडिटर पर क्लिक करें.
- बाईं ओर, सेवाएं के बगल में मौजूद, कोई सेवा जोड़ें पर क्लिक करें.
- Google की कोई ऐडवांस सेवा चुनें और जोड़ें पर क्लिक करें.
दूसरा तरीका: मेनिफ़ेस्ट का इस्तेमाल करना
मेनिफ़ेस्ट फ़ाइल में बदलाव करके, ऐडवांस सेवाएं चालू की जा सकती हैं. उदाहरण के लिए, Google Drive की ऐडवांस सेवा चालू करने के लिए, dependencies ऑब्जेक्ट में enabledAdvancedServices फ़ील्ड जोड़ें:
{
"timeZone": "America/Denver",
"dependencies": {
"enabledAdvancedServices": [
{
"userSymbol": "Drive",
"version": "v3",
"serviceId": "drive"
}
]
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
ऐडवांस सेवा चालू करने के बाद, यह ऑटोकंप्लीट में उपलब्ध होती है.
दूसरा चरण: Google Cloud API चालू करना (सिर्फ़ स्टैंडर्ड Google Cloud प्रोजेक्ट के लिए)
अगर डिफ़ॉल्ट Google Cloud प्रोजेक्ट का इस्तेमाल किया जा रहा है (Apps Script से अपने-आप बनाया गया), तो इस चरण को छोड़ दें. पहले चरण में सेवा जोड़ने पर, यह एपीआई अपने-आप चालू हो जाता है.
अगर स्टैंडर्ड Google Cloud प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो आपको बेहतर सेवा से जुड़े एपीआई को मैन्युअल तरीके से भी चालू करना होगा. एपीआई को मैन्युअल तरीके से चालू करने के लिए:
** Google Cloud Console** में, अपनी स्क्रिप्ट से जुड़ा Cloud प्रोजेक्ट खोलें
कंसोल में सबसे ऊपर, खोज बार पर क्लिक करें और एपीआई के नाम का कुछ हिस्सा टाइप करें. उदाहरण के लिए, "Calendar". इसके बाद, नाम दिखने पर उस पर क्लिक करें.
एपीआई चालू करें पर क्लिक करें.
Google Cloud Console को बंद करें और स्क्रिप्ट एडिटर पर वापस जाएं.
तरीके के सिग्नेचर कैसे तय किए जाते हैं
आम तौर पर, ऐडवांस सेवाओं में वही ऑब्जेक्ट, तरीके के नाम, और पैरामीटर इस्तेमाल किए जाते हैं जो उनसे जुड़े सार्वजनिक एपीआई में इस्तेमाल किए जाते हैं. हालांकि, Apps Script में इस्तेमाल करने के लिए, तरीके के सिग्नेचर का अनुवाद किया जाता है. स्क्रिप्ट एडिटर का अपने-आप पूरा होने वाला फ़ंक्शन आम तौर पर शुरू करने के लिए ज़रूरी जानकारी देता है. हालांकि, यहां दिए गए नियमों में बताया गया है कि Apps Script, सार्वजनिक Google API से किसी तरीके का सिग्नेचर कैसे जनरेट करता है.
Google API के अनुरोध, अलग-अलग तरह का डेटा स्वीकार कर सकते हैं. इसमें पाथ पैरामीटर, क्वेरी पैरामीटर, अनुरोध का मुख्य हिस्सा या मीडिया अपलोड अटैचमेंट शामिल है. कुछ ऐडवांस सेवाएं, खास एचटीटीपी अनुरोध हेडर भी स्वीकार कर सकती हैं. उदाहरण के लिए, Calendar की ऐडवांस सेवा.
Google Apps Script में, इससे मिलते-जुलते तरीके के सिग्नेचर में ये आर्ग्युमेंट होते हैं:
- अनुरोध का मुख्य भाग (आम तौर पर, एक संसाधन), JavaScript ऑब्जेक्ट के तौर पर.
- पाथ या ज़रूरी पैरामीटर, अलग-अलग आर्ग्युमेंट के तौर पर. अगर इस तरीके के लिए कई पाथ पैरामीटर की ज़रूरत होती है, तो वे उसी क्रम में दिखते हैं जिस क्रम में वे एपीआई एंडपॉइंट यूआरएल में शामिल होते हैं.
- मीडिया अपलोड अटैचमेंट को
Blobआर्ग्युमेंट के तौर पर इस्तेमाल करता है. - वैकल्पिक पैरामीटर (आम तौर पर क्वेरी पैरामीटर), JavaScript ऑब्जेक्ट के तौर पर पैरामीटर के नामों को वैल्यू पर मैप करना.
- एचटीटीपी अनुरोध के हेडर, हेडर के नामों को हेडर की वैल्यू पर मैप करने वाले JavaScript ऑब्जेक्ट के तौर पर.
अगर किसी कैटगरी में कोई आइटम मौजूद नहीं है, तो सिग्नेचर के उस हिस्से को हटा दिया जाता है.
इसके कुछ खास अपवाद हैं, जिनके बारे में आपको पता होना चाहिए:
- मीडिया अपलोड करने की सुविधा देने वाले तरीकों के लिए,
uploadTypeपैरामीटर अपने-आप सेट हो जाता है. - Google API में
deleteनाम वाले तरीकों को Apps Script मेंremoveनाम दिया गया है, क्योंकिdeleteJavaScript में एक रिज़र्व शब्द है. - अगर कोई ऐडवांस सेवा, एचटीटीपी अनुरोध हेडर स्वीकार करने के लिए कॉन्फ़िगर की गई है और आपने अनुरोध हेडर JavaScript ऑब्जेक्ट सेट किया है, तो आपको वैकल्पिक पैरामीटर JavaScript ऑब्जेक्ट भी सेट करना होगा. अगर वैकल्पिक पैरामीटर का इस्तेमाल नहीं किया जा रहा है, तो इसे खाली ऑब्जेक्ट पर सेट करें.
उदाहरण: Calendar.Events.insert
मान लें कि आपको कैलेंडर इवेंट बनाना है. Google Calendar API के दस्तावेज़ में, इससे जुड़े एचटीटीपी अनुरोध का स्ट्रक्चर दिखाया गया है:
- एचटीटीपी वर्ब:
POST - अनुरोध किया गया यूआरएल:
https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events अनुरोध का मुख्य हिस्सा: Event resource.
क्वेरी पैरामीटर:
sendUpdates,supportsAttachmentsवगैरह.
Apps Script में, इनपुट के क्रम में बदलाव करके, तरीके के सिग्नेचर का पता लगाया जाता है:
- बॉडी: इवेंट रिसॉर्स (JavaScript ऑब्जेक्ट).
- पाथ:
calendarId(स्ट्रिंग). - ज़रूरी नहीं पैरामीटर: क्वेरी पैरामीटर (JavaScript ऑब्जेक्ट).
इससे मिलने वाला तरीका कुछ ऐसा दिखता है:
const event = {
summary: 'Lunch',
location: 'Deli',
start: {
dateTime: '2026-01-01T12:00:00-05:00'
},
end: {
dateTime: '2026-01-01T13:00:00-05:00'
}
};
const calendarId = 'primary';
const optionalArgs = {
sendUpdates: 'all'
};
Calendar.Events.insert(event, calendarId, optionalArgs);
ऐडवांस सेवाएं या एचटीटीपी?
Google की हर ऐडवांस सेवा, Google के एक सार्वजनिक एपीआई से जुड़ी होती है. Apps Script में, इन एपीआई को ऐडवांस सेवाओं का इस्तेमाल करके या UrlFetch का इस्तेमाल करके सीधे तौर पर एपीआई अनुरोध करके ऐक्सेस किया जा सकता है.
अगर ऐडवांस सेवा का इस्तेमाल किया जाता है, तो Apps Script, अनुमति देने की प्रोसेस को मैनेज करता है. साथ ही, यह अपने-आप पूरा होने की सुविधा देता है. हालांकि, इस सुविधा का इस्तेमाल करने से पहले, आपको ऐडवांस सेवा चालू करनी होगी.
अगर एपीआई को सीधे तौर पर ऐक्सेस करने के लिए UrlFetch तरीके का इस्तेमाल किया जाता है, तो इसका मतलब है कि Google API को बाहरी एपीआई के तौर पर इस्तेमाल किया जा रहा है. इस तरीके से, एपीआई के सभी पहलुओं का इस्तेमाल किया जा सकता है. हालांकि, इसके लिए आपको एपीआई की अनुमति को मैनेज करना होगा.
यहां दी गई टेबल में, दोनों तरीकों की तुलना की गई है:
| सुविधा | ऐडवांस सेवा | UrlFetch (HTTP) |
|---|---|---|
| अनुमति | अपने-आप मैनेज होने वाले | मैन्युअल तरीके से कार्रवाई करना ज़रूरी है |
| ऑटोकंप्लीट | उपलब्ध | उपलब्ध नहीं है |
| सुविधा का दायरा | एपीआई का सबसेट हो सकता है | एपीआई की सभी सुविधाओं का पूरा ऐक्सेस |
| जटिलता | आसान | ज़्यादा मुश्किल (इसमें हेडर बनाने और जवाबों को पार्स करने की ज़रूरत होती है) |
कोड की तुलना करना
कोड के सैंपल में, अडवांस सेवा और UrlFetchApp का इस्तेमाल करके कैलेंडर इवेंट बनाने के तरीके में अंतर दिखाया गया है.
ऐडवांस सेवा:
const event = {
summary: 'Lunch',
location: 'Deli',
start: { dateTime: '2026-01-01T12:00:00-05:00' },
end: { dateTime: '2026-01-01T13:00:00-05:00' }
};
const optionalArgs = {
sendUpdates: 'all'
};
Calendar.Events.insert(event, 'primary', optionalArgs);
UrlFetch (HTTP):
const event = {
summary: 'Lunch',
location: 'Deli',
start: { dateTime: '2026-01-01T12:00:00-05:00' },
end: { dateTime: '2026-01-01T13:00:00-05:00' }
};
const url = 'https://www.googleapis.com/calendar/v3/calendars/primary/events?sendUpdates=all';
const options = {
method: 'post',
contentType: 'application/json',
headers: {
Authorization: `Bearer ${ScriptApp.getOAuthToken()}`
},
payload: JSON.stringify(event)
};
UrlFetchApp.fetch(url, options);
हमारा सुझाव है कि जब भी मुमकिन हो, तब ऐडवांस सेवा का इस्तेमाल करें. साथ ही, UrlFetch तरीके का इस्तेमाल सिर्फ़ तब करें, जब ऐडवांस सेवा उपलब्ध न हो या वह आपकी ज़रूरत के मुताबिक काम न करती हो.
ऐडवांस सेवाओं के लिए सहायता
ऐडवांस सेवाएं, Google API के चारों ओर पतले रैपर होती हैं. इसलिए, इनका इस्तेमाल करते समय आने वाली किसी भी समस्या का मतलब आम तौर पर यह होता है कि समस्या, Apps Script में नहीं, बल्कि एपीआई में है.
अगर आपको किसी ऐडवांस सेवा का इस्तेमाल करते समय कोई समस्या आती है, तो आपको इसकी शिकायत करनी चाहिए. इसके लिए, एपीआई से जुड़ी सहायता के लिए दिए गए निर्देशों का पालन करें.