बाहरी एपीआई

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

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

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

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

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 प्रोजेक्ट के तौर पर पुष्टि करना लेख पढ़ें.

Google Cloud की सेवाओं से कनेक्ट करना

उपयोगकर्ता के लिए OpenID Connect आइडेंटिटी टोकन (JSON Web Token या JWT) पाने के लिए, ScriptApp.getIdentityToken() तरीके का इस्तेमाल किया जा सकता है. इस टोकन का इस्तेमाल, Google Cloud की उन सेवाओं के साथ पुष्टि करने के लिए किया जा सकता है जिन्हें इसे स्वीकार करने के लिए कॉन्फ़िगर किया गया है. जैसे, Cloud Run.

ज़्यादा जानकारी के लिए, Google Cloud सेवाओं से कनेक्ट करना लेख पढ़ें.

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

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

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

// 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 स्ट्रिंग में बदलने के लिए, 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.