बेहतर Google सेवाएं

Google Apps Script में मौजूद ऐडवांस सेवाओं की मदद से, कुछ सार्वजनिक Google API से कनेक्ट किया जा सकता है. इसके लिए, आपको उनके एचटीटीपी इंटरफ़ेस का इस्तेमाल करने की तुलना में कम सेटअप करना पड़ता है. ऐडवांस सेवाएं, उन Google API के चारों ओर पतले रैपर होती हैं. ये Apps Script की बिल्ट-इन सेवाओं की तरह काम करती हैं. उदाहरण के लिए, ये अपने-आप पूरे होने की सुविधा देती हैं. साथ ही, Apps Script अनुमति देने की प्रोसेस को अपने-आप मैनेज करती है. किसी स्क्रिप्ट में ऐडवांस सेवा का इस्तेमाल करने से पहले, उसे चालू करें.

ऐडवांस सेवाएं चालू करना

Google की ऐडवांस सेवा का इस्तेमाल करने के लिए, इन निर्देशों का पालन करें:

पहला चरण: ऐडवांस सेवा चालू करना

Apps Script एडिटर का इस्तेमाल करके या मेनिफ़ेस्ट में बदलाव करके, ऐडवांस सेवा चालू करें.

पहला तरीका: एडिटर का इस्तेमाल करना

  1. Apps Script प्रोजेक्ट खोलें.
  2. बाईं ओर, एडिटर पर क्लिक करें.
  3. बाईं ओर, सेवाएं के बगल में मौजूद, कोई सेवा जोड़ें पर क्लिक करें.
  4. 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 प्रोजेक्ट के लिए)

अगर Apps Script से अपने-आप बनाए गए डिफ़ॉल्ट Google Cloud प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो यह चरण छोड़ दें. पहले चरण में सेवा जोड़ने पर, यह एपीआई अपने-आप चालू हो जाता है.

अगर स्टैंडर्ड Google Cloud प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो बेहतर सेवा से जुड़े एपीआई को मैन्युअल तरीके से चालू करें. एपीआई को मैन्युअल तरीके से चालू करने के लिए:

  1. ** Google Cloud Console** में, अपनी स्क्रिप्ट से जुड़ा Cloud प्रोजेक्ट खोलें

  2. कंसोल में सबसे ऊपर, खोज बार पर क्लिक करें और एपीआई के नाम का कुछ हिस्सा टाइप करें. उदाहरण के लिए, "Calendar". इसके बाद, नाम दिखने पर उस पर क्लिक करें.

  3. एपीआई चालू करें पर क्लिक करें.

  4. Google Cloud Console को बंद करें और स्क्रिप्ट एडिटर पर वापस जाएं.

तरीके के सिग्नेचर कैसे तय किए जाते हैं

आम तौर पर, ऐडवांस सेवाओं में वही ऑब्जेक्ट, तरीके के नाम, और पैरामीटर इस्तेमाल किए जाते हैं जो उनसे जुड़े सार्वजनिक एपीआई में इस्तेमाल किए जाते हैं. हालांकि, Apps Script में इस्तेमाल करने के लिए, तरीके के सिग्नेचर का अनुवाद किया जाता है. स्क्रिप्ट एडिटर में मौजूद अपने-आप पूरा होने वाले फ़ंक्शन से, आम तौर पर शुरू करने के लिए ज़रूरी जानकारी मिल जाती है. यहां दिए गए नियमों में बताया गया है कि Apps Script, सार्वजनिक Google API से किसी तरीके का सिग्नेचर कैसे जनरेट करता है.

Google API को किए गए अनुरोधों में, अलग-अलग तरह का डेटा शामिल किया जा सकता है. जैसे, पाथ पैरामीटर, क्वेरी पैरामीटर, अनुरोध का मुख्य हिस्सा या मीडिया अपलोड अटैचमेंट. कुछ ऐडवांस सेवाएं, खास एचटीटीपी अनुरोध हेडर भी स्वीकार कर सकती हैं. उदाहरण के लिए, Calendar की ऐडवांस सेवा.

Apps Script में, इससे मिलते-जुलते तरीके के सिग्नेचर में ये आर्ग्युमेंट होते हैं:

  1. अनुरोध का मुख्य भाग (आम तौर पर, एक संसाधन), JavaScript ऑब्जेक्ट के तौर पर.
  2. पाथ या ज़रूरी पैरामीटर, अलग-अलग आर्ग्युमेंट के तौर पर. अगर किसी तरीके के लिए कई पाथ पैरामीटर की ज़रूरत होती है, तो वे उसी क्रम में दिखते हैं जिस क्रम में वे एपीआई एंडपॉइंट यूआरएल में शामिल होते हैं.
  3. मीडिया अपलोड अटैचमेंट को Blob आर्ग्युमेंट के तौर पर इस्तेमाल करें.
  4. वैकल्पिक पैरामीटर (आम तौर पर क्वेरी पैरामीटर), JavaScript ऑब्जेक्ट के तौर पर पैरामीटर के नामों को वैल्यू पर मैप करना.
  5. एचटीटीपी अनुरोध के हेडर, हेडर के नामों को हेडर की वैल्यू पर मैप करने वाले JavaScript ऑब्जेक्ट के तौर पर.

अगर किसी कैटगरी में कोई आइटम नहीं है, तो हस्ताक्षर के उस हिस्से को हटा दिया जाता है.

इन अपवादों के बारे में जानें:

  • मीडिया अपलोड करने की सुविधा देने वाले तरीकों के लिए, uploadType पैरामीटर अपने-आप सेट हो जाता है.
  • Google API में delete नाम वाले तरीकों को Apps Script में remove नाम दिया गया है, क्योंकि delete JavaScript में एक रिज़र्व शब्द है.
  • अगर कोई ऐडवांस सेवा, एचटीटीपी अनुरोध हेडर स्वीकार करने के लिए कॉन्फ़िगर की गई है और आपने अनुरोध हेडर JavaScript ऑब्जेक्ट सेट किया है, तो आपको वैकल्पिक पैरामीटर JavaScript ऑब्जेक्ट भी सेट करना होगा. अगर वैकल्पिक पैरामीटर का इस्तेमाल नहीं किया जा रहा है, तो इसे खाली ऑब्जेक्ट पर सेट करें.

उदाहरण: Calendar.Events.insert

Calendar इवेंट बनाने के लिए:

Google Calendar API के दस्तावेज़ में, इससे जुड़े एचटीटीपी अनुरोध का स्ट्रक्चर दिखाया गया है:

  • एचटीटीपी वर्ब: POST
  • अनुरोध किया गया यूआरएल: https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events
  • अनुरोध का मुख्य हिस्सा: Event resource.

  • क्वेरी पैरामीटर: sendUpdates, supportsAttachments वगैरह.

Apps Script में, इनपुट के क्रम में बदलाव करके, मेथड सिग्नेचर तय किया जाता है:

  1. बॉडी: इवेंट रिसॉर्स (JavaScript ऑब्जेक्ट).
  2. पाथ: यह calendarId (स्ट्रिंग) है.
  3. ज़रूरी नहीं पैरामीटर: क्वेरी पैरामीटर (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 API से जुड़ी होती है. 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);

UrlFetchApp तरीके के लिए, स्क्रिप्ट की मेनिफ़ेस्ट फ़ाइल में ज़रूरी OAuth स्कोप को मैन्युअल तरीके से तय करें.

जब भी हो सके, बेहतर सेवा का इस्तेमाल करें. UrlFetch तरीके का इस्तेमाल सिर्फ़ तब करें, जब बेहतर सेवा उपलब्ध न हो या आपकी ज़रूरत के मुताबिक काम न करती हो.

ऐडवांस सेवाओं के लिए सहायता

ऐडवांस सेवाएं, Google API के चारों ओर पतले रैपर होती हैं. इसलिए, इनका इस्तेमाल करते समय आने वाली किसी भी समस्या का मतलब आम तौर पर यह होता है कि समस्या, Apps Script में नहीं, बल्कि एपीआई में है.

अगर आपको किसी ऐडवांस सेवा का इस्तेमाल करते समय कोई समस्या आती है, तो समस्या की शिकायत करने के लिए, एपीआई से जुड़ी सहायता के लिए दिए गए निर्देशों का पालन करें.