बाहरी एपीआई

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 फ़्लो पर काम करें और अपने अनुरोधों के साथ क्रेडेंशियल भेजें:

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.