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 के लिए OAuth1: यह OAuth 1.0 और 1.0a के साथ काम करता है.
- Apps Script के लिए OAuth2: यह OAuth2 के साथ काम करता है.
JSON फ़ॉर्मैट का इस्तेमाल करना
JSON ऑब्जेक्ट के साथ काम करना, एक्सएमएल के साथ काम करने जैसा ही है. हालांकि, JSON ऑब्जेक्ट को पार्स करना या कोड में बदलना काफ़ी आसान है.
अगर अनुरोध किए गए एपीआई से किसी अनुरोध के लिए रॉ JSON रिस्पॉन्स मिलता है, तो JSON स्ट्रिंग रिस्पॉन्स को HTTPResponse.getContentText()
तरीके का इस्तेमाल करके ऐक्सेस किया जा सकता है.
इस स्ट्रिंग को वापस पाने के बाद, नेटिव ऑब्जेक्ट का रेप्रज़ेंटेशन पाने के लिए, स्ट्रिंग पर 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.