बाहरी एपीआई

Google Apps Script, वेब पर मौजूद सभी एपीआई के साथ इंटरैक्ट कर सकती है. इस गाइड में बताया गया है कि अपनी स्क्रिप्ट में अलग-अलग तरह के एपीआई का इस्तेमाल कैसे किया जाता है.

सार्वजनिक एपीआई से कनेक्ट करना

UrlFetch सेवा का इस्तेमाल करके, सीधे तौर पर एपीआई अनुरोध किए जा सकते हैं.

इस उदाहरण में, GitHub API का इस्तेमाल करके, "Apps Script" का ज़िक्र करने वाली ऐसी रिपॉज़िटरी खोजी गई हैं जिन्हें 100 या इससे ज़्यादा स्टार मिले हैं. इस एपीआई अनुरोध के लिए, अनुमति या एपीआई कुंजी की ज़रूरत नहीं होती.

var query = '"Apps Script" stars:">=100"';
var url = 'https://api.github.com/search/repositories'
  + '?sort=stars'
  + '&q=' + encodeURIComponent(query);

var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
Logger.log(response);

OAuth की मदद से सेवाओं के लिए अनुरोध करना

उपयोगकर्ता की ओर से काम करने वाले एपीआई को आम तौर पर अनुमति की ज़रूरत होती है. इसके लिए, अक्सर OAuth प्रोटोकॉल का इस्तेमाल किया जाता है. Apps Script में, इस प्रोटोकॉल के लिए पहले से मौजूद सहायता उपलब्ध नहीं है. हालांकि, ओपन सोर्स लाइब्रेरी उपलब्ध हैं. इनका इस्तेमाल, OAuth फ़्लो को पूरा करने और अपने अनुरोधों के साथ क्रेडेंशियल भेजने के लिए किया जा सकता है:

सेवा खाते का इस्तेमाल करके पुष्टि करना

Apps Script से किसी एपीआई को कॉल करने के लिए, इनमें से किसी भी वजह से सेवा खाते की पुष्टि करने की सुविधा का इस्तेमाल किया जा सकता है:

  • Google Cloud API की मदद से बेहतर परफ़ॉर्मेंस
  • ऑटोमेशन और लंबे समय तक चलने वाले टास्क
  • बेहतर सुरक्षा (कम से कम ज़रूरी अनुमतियां)
  • ऐक्सेस मैनेजमेंट को एक ही जगह से मैनेज करने की सुविधा

Apps Script में सेवा खाते का इस्तेमाल करने के लिए, सेवा खातों का इस्तेमाल करके, Apps Script प्रोजेक्ट के तौर पर पुष्टि करना लेख पढ़ें.

JSON फ़ॉर्मैट में डेटा का इस्तेमाल करना

JSON ऑब्जेक्ट के साथ काम करना, XML के साथ काम करने जैसा ही होता है. हालांकि, JSON ऑब्जेक्ट को पार्स या कोड में बदलना ज़्यादा आसान होता है.

अगर अनुरोध किए गए एपीआई से, अनुरोध के लिए रॉ JSON रिस्पॉन्स मिलता है, तो HTTPResponse.getContentText() तरीके का इस्तेमाल करके JSON स्ट्रिंग रिस्पॉन्स को ऐक्सेस किया जा सकता है. इस स्ट्रिंग को वापस पाने के बाद, नेटिव ऑब्जेक्ट का प्रज़ेंटेशन पाने के लिए, स्ट्रिंग पर JSON.parse() को कॉल करें.

// Make request to API and get response before this point.
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data.title);

इसी तरह, अनुरोध करने के लिए JavaScript ऑब्जेक्ट को स्ट्रिंग के तौर पर दिखाने के लिए, JSON.stringify() का इस्तेमाल करें.

var data = {
  'entry': {
    'group': {
      'title': 'Dog Skateboarding',
      'description': 'My dog gets some serious air'
    },
    'keywords': 'dog, skateboard'
  }
}
var payload = JSON.stringify(data);
// Make request to API with payload after this point.

XML पार्स करें

अगर कोई बाहरी एपीआई, अनुरोध के लिए रॉ एक्सएमएल रिस्पॉन्स दिखाता है, तो HTTPResponse.getContentText() तरीके का इस्तेमाल करके एक्सएमएल रिस्पॉन्स को ऐक्सेस किया जा सकता है.

// Make request to API and get response before this point.
var xml = response.getContentText();
var doc = XmlService.parse(xml);

किसी एपीआई को एक्सएमएल अनुरोध भेजते समय, XmlService तरीकों का इस्तेमाल करके, भेजने के लिए एक्सएमएल बनाएं.

var root = XmlService.createElement('entry')
    .setAttribute('keywords', 'dog, skateboard');
var group = XmlService.createElement('group')
    .setAttribute('title', 'Dog Skateboarding');
    .setAttribute('description', 'My dog gets some serious air');
root.addContent(group);
var document = XmlService.createDocument(root);
var payload = XmlService.getPrettyFormat().format(document);
// Make request to API with payload after this point.