Class UrlFetchApp

UrlFetchApp

संसाधनों को फ़ेच करें और इंटरनेट पर मौजूद दूसरे होस्ट से बातचीत करें.

यह सेवा, स्क्रिप्ट को यूआरएल फ़ेच करके, अन्य ऐप्लिकेशन से संपर्क करने या वेब पर मौजूद दूसरे संसाधनों को ऐक्सेस करने की अनुमति देती है. एचटीटीपी और एचटीटीपीएस अनुरोधों को जारी करने और जवाब पाने के लिए स्क्रिप्ट, यूआरएल फ़ेच करने की सेवा का इस्तेमाल कर सकती है. यूआरएल फ़ेच करने की सुविधा, परफ़ॉर्मेंस और स्केलिंग के लिए Google के नेटवर्क इन्फ़्रास्ट्रक्चर का इस्तेमाल करती है.

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

इस सेवा के लिए, https://www.googleapis.com/auth/script.external_request स्कोप की ज़रूरत है. ज़्यादातर मामलों में, Apps Script अपने-आप उन स्कोप का पता लगाती है और उन्हें शामिल कर लेती है जिनकी स्क्रिप्ट को ज़रूरत होती है. हालांकि, अगर स्कोप को साफ़ तौर पर सेट किया जा रहा है, तो UrlFetchApp का इस्तेमाल करने के लिए, आपको इसे मैन्युअल तरीके से जोड़ना होगा.

इन्हें भी देखें

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
fetch(url)HTTPResponseकिसी यूआरएल को फ़ेच करने का अनुरोध करता है.
fetch(url, params)HTTPResponseवैकल्पिक बेहतर पैरामीटर का इस्तेमाल करके, यूआरएल फ़ेच करने का अनुरोध करता है.
fetchAll(requests)HTTPResponse[]वैकल्पिक बेहतर पैरामीटर का इस्तेमाल करके, कई यूआरएल फ़ेच करने के लिए कई अनुरोध करता है.
getRequest(url)Objectकार्रवाई शुरू होने पर किए गए अनुरोध को दिखाता है.
getRequest(url, params)Objectकार्रवाई शुरू होने पर किए गए अनुरोध को दिखाता है.

ज़्यादा जानकारी के साथ दस्तावेज़

fetch(url)

किसी यूआरएल को फ़ेच करने का अनुरोध करता है.

यह सुविधा एचटीटीपी के साथ-साथ एचटीटीपीएस पर भी काम करती है.

// The code below logs the HTML code of the Google home page.
var response = UrlFetchApp.fetch("http://www.google.com/");
Logger.log(response.getContentText());

पैरामीटर

नामTypeब्यौरा
urlStringफ़ेच किया जाने वाला यूआरएल. यूआरएल में ज़्यादा से ज़्यादा 2,082 वर्ण हो सकते हैं.

रिटर्न

HTTPResponse — एचटीटीपी रिस्पॉन्स डेटा.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.external_request

fetch(url, params)

वैकल्पिक बेहतर पैरामीटर का इस्तेमाल करके, यूआरएल फ़ेच करने का अनुरोध करता है.

यह सुविधा एचटीटीपी के साथ-साथ एचटीटीपीएस पर भी काम करती है.

// Make a GET request and log the returned content.
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
// Make a POST request with form data.
var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
var formData = {
  'name': 'Bob Smith',
  'email': 'bob@example.com',
  'resume': resumeBlob
};
// Because payload is a JavaScript object, it is interpreted as
// as form data. (No need to specify contentType; it automatically
// defaults to either 'application/x-www-form-urlencoded'
// or 'multipart/form-data')
var options = {
  'method' : 'post',
  'payload' : formData
};
UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload.
var data = {
  'name': 'Bob Smith',
  'age': 35,
  'pets': ['fido', 'fluffy']
};
var options = {
  'method' : 'post',
  'contentType': 'application/json',
  // Convert the JavaScript object to a JSON string.
  'payload' : JSON.stringify(data)
};
UrlFetchApp.fetch('https://httpbin.org/post', options);

पैरामीटर

नामTypeब्यौरा
urlStringफ़ेच किया जाने वाला यूआरएल. यूआरएल में ज़्यादा से ज़्यादा 2,082 वर्ण हो सकते हैं.
paramsObjectयह वैकल्पिक JavaScript ऑब्जेक्ट है, जो नीचे बताए गए बेहतर पैरामीटर तय करता है.

उन्नत पैरामीटर

नामTypeब्यौरा
contentTypeStringकॉन्टेंट का टाइप (डिफ़ॉल्ट रूप से यह 'application/x-www-form-urlencoded' पर सेट होता है). कॉन्टेंट टाइप का एक और उदाहरण 'application/xml; charset=utf-8' है.
headersObjectअनुरोध के लिए, एचटीटीपी हेडर का JavaScript कुंजी/वैल्यू मैप
methodStringअनुरोध का एचटीटीपी तरीका: get, delete, patch, post या put. डिफ़ॉल्ट वैल्यू get है.
payloadStringअनुरोध के लिए पेलोड (यानी, POST का मुख्य हिस्सा). कुछ एचटीटीपी तरीके (उदाहरण के लिए, जीईटी) पेलोड स्वीकार नहीं करते हैं. यह कोई स्ट्रिंग, बाइट कलेक्शन, ब्लॉब या JavaScript ऑब्जेक्ट हो सकता है. JavaScript ऑब्जेक्ट को वैल्यू के लिए, फ़ॉर्म फ़ील्ड के नामों के मैप के तौर पर दिखाया जाता है. इसमें वैल्यू, स्ट्रिंग या ब्लॉब हो सकती हैं.
useIntranetBooleanसमर्थन नहीं होना या रुकना. यह फ़ेच को निर्देश देता है, ताकि SDC (अब सेवा में उपलब्ध) के ज़रिए आपके डोमेन से लिंक किए गए इंट्रानेट में बताए गए यूआरएल का समाधान किया जा सके
validateHttpsCertificatesBooleanअगर false फ़ेच करने पर, एचटीटीपीएस अनुरोधों के लिए अमान्य सर्टिफ़िकेट को अनदेखा किया जाता है. डिफ़ॉल्ट वैल्यू true है.
followRedirectsBooleanअगर false फ़ेच करने की प्रोसेस, एचटीटीपी रीडायरेक्ट को अपने-आप फ़ॉलो नहीं करती है, तो यह ओरिजनल एचटीटीपी रिस्पॉन्स दिखाता है. डिफ़ॉल्ट वैल्यू true है.
muteHttpExceptionsBooleanअगर रिस्पॉन्स कोड, काम नहीं कर रहा है, तो true फ़ेच करने से कोई अपवाद नहीं मिलता है और इसके बजाय HTTPResponse दिखता है. डिफ़ॉल्ट वैल्यू false है.
escapingBooleanअगर यूआरएल में रिज़र्व किए गए false वर्णों को एस्केप नहीं किया गया है. डिफ़ॉल्ट वैल्यू true है.

रिटर्न

HTTPResponse — एचटीटीपी रिस्पॉन्स डेटा.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.external_request

fetchAll(requests)

वैकल्पिक बेहतर पैरामीटर का इस्तेमाल करके, कई यूआरएल फ़ेच करने के लिए कई अनुरोध करता है.

यह सुविधा एचटीटीपी के साथ-साथ एचटीटीपीएस पर भी काम करती है.

// Make both a POST request with form data, and a GET request.
var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
var formData = {
  'name': 'Bob Smith',
  'email': 'bob@example.com',
  'resume': resumeBlob
};
// Because payload is a JavaScript object, it is interpreted as
// as form data. (No need to specify contentType; it defaults to either
// 'application/x-www-form-urlencoded' or 'multipart/form-data')
var request1 = {
  'url': 'https://httpbin.org/post',
  'method' : 'post',
  'payload' : formData
};
// A request may also just be a URL.
var request2 = 'https://httpbin.org/get?key=value';
UrlFetchApp.fetchAll([request1, request2]);

पैरामीटर

नामTypeब्यौरा
requestsObject[]यूआरएल या JavaScript ऑब्जेक्ट की एक कैटगरी, जिसमें नीचे बताए गए तरीके के हिसाब से अनुरोध मिलते हैं.

उन्नत पैरामीटर

नामTypeब्यौरा
urlStringवह यूआरएल डालें जिसे फ़ेच करना है. यूआरएल में ज़्यादा से ज़्यादा 2,082 वर्ण हो सकते हैं.
contentTypeStringकॉन्टेंट का टाइप (डिफ़ॉल्ट रूप से यह 'application/x-www-form-urlencoded' पर सेट होता है). कॉन्टेंट टाइप का एक और उदाहरण 'application/xml; charset=utf-8' है.
headersObjectअनुरोध के लिए, एचटीटीपी हेडर का JavaScript कुंजी/वैल्यू मैप
methodStringअनुरोध का एचटीटीपी तरीका: get, delete, patch, post या put. डिफ़ॉल्ट वैल्यू get है.
payloadStringअनुरोध के लिए पेलोड (यानी, POST का मुख्य हिस्सा). कुछ एचटीटीपी तरीके (उदाहरण के लिए, जीईटी) पेलोड स्वीकार नहीं करते हैं. यह कोई स्ट्रिंग, बाइट कलेक्शन, ब्लॉब या JavaScript ऑब्जेक्ट हो सकता है. JavaScript ऑब्जेक्ट को वैल्यू के लिए, फ़ॉर्म फ़ील्ड के नामों के मैप के तौर पर दिखाया जाता है. इसमें वैल्यू, स्ट्रिंग या ब्लॉब हो सकती हैं.
useIntranetBooleanसमर्थन नहीं होना या रुकना. यह फ़ेच को निर्देश देता है, ताकि SDC (अब सेवा में उपलब्ध) के ज़रिए आपके डोमेन से लिंक किए गए इंट्रानेट में बताए गए यूआरएल का समाधान किया जा सके
validateHttpsCertificatesBooleanअगर false फ़ेच करने पर, एचटीटीपीएस अनुरोधों के लिए अमान्य सर्टिफ़िकेट को अनदेखा किया जाता है. डिफ़ॉल्ट वैल्यू true है.
followRedirectsBooleanअगर false फ़ेच करने की प्रोसेस, एचटीटीपी रीडायरेक्ट को अपने-आप फ़ॉलो नहीं करती है, तो यह ओरिजनल एचटीटीपी रिस्पॉन्स दिखाता है. डिफ़ॉल्ट वैल्यू true है.
muteHttpExceptionsBooleanअगर true हो, तो रिस्पॉन्स कोड से पता चलता है कि रिस्पॉन्स कोड काम नहीं कर रहा है और यह HTTPResponse दिखाता है. ऐसे में, फ़ेच करने पर कोई अपवाद नहीं मिलता. डिफ़ॉल्ट वैल्यू false है.
escapingBooleanfalse होने पर, यूआरएल में रिज़र्व किए गए वर्णों को छोड़ा नहीं जाता. डिफ़ॉल्ट वैल्यू true है.

रिटर्न

HTTPResponse[] — हर इनपुट अनुरोध से मिले एचटीटीपी रिस्पॉन्स डेटा का कलेक्शन.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url)

कार्रवाई शुरू होने पर किए गए अनुरोध को दिखाता है.

यह तरीका असल में अनुरोध जारी नहीं करता.

// The code below logs the value for every key of the returned map.
var response = UrlFetchApp.getRequest("http://www.google.com/");
for(i in response) {
  Logger.log(i + ": " + response[i]);
}

पैरामीटर

नामTypeब्यौरा
urlStringखोजने के लिए यूआरएल. यूआरएल में ज़्यादा से ज़्यादा 2,082 वर्ण हो सकते हैं.

रिटर्न

Object — वैल्यू के लिए फ़ील्ड के नाम का मैप. मैप में कम से कम ये कुंजियां मौजूद होती हैं: url, method, contentType, payload, और headers.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url, params)

कार्रवाई शुरू होने पर किए गए अनुरोध को दिखाता है.

यह तरीका असल में अनुरोध जारी नहीं करता.

पैरामीटर

नामTypeब्यौरा
urlStringखोजने के लिए यूआरएल. यूआरएल में ज़्यादा से ज़्यादा 2,082 वर्ण हो सकते हैं.
paramsObjectयह एक वैकल्पिक JavaScript ऑब्जेक्ट है. इसमें बेहतर पैरामीटर के बारे में बताया गया है, जैसा कि नीचे बताया गया है.

उन्नत पैरामीटर

नामTypeब्यौरा
contentTypeStringकॉन्टेंट का टाइप (डिफ़ॉल्ट रूप से यह 'application/x-www-form-urlencoded' पर सेट होता है). कॉन्टेंट टाइप का एक और उदाहरण 'application/xml; charset=utf-8' है.
headersObjectअनुरोध के लिए, एचटीटीपी हेडर का JavaScript कुंजी/वैल्यू मैप
methodStringअनुरोध का एचटीटीपी तरीका: get, delete, patch, post या put. डिफ़ॉल्ट वैल्यू get है.
payloadStringअनुरोध के लिए पेलोड (यानी, POST का मुख्य हिस्सा). कुछ एचटीटीपी तरीके (उदाहरण के लिए, जीईटी) पेलोड स्वीकार नहीं करते हैं. यह कोई स्ट्रिंग, बाइट कलेक्शन, ब्लॉब या JavaScript ऑब्जेक्ट हो सकता है. JavaScript ऑब्जेक्ट को वैल्यू के लिए, फ़ॉर्म फ़ील्ड के नामों के मैप के तौर पर दिखाया जाता है. इसमें वैल्यू, स्ट्रिंग या ब्लॉब हो सकती हैं.
useIntranetBooleanसमर्थन नहीं होना या रुकना. यह फ़ेच को निर्देश देता है, ताकि SDC (अब सेवा में उपलब्ध) के ज़रिए आपके डोमेन से लिंक किए गए इंट्रानेट में बताए गए यूआरएल का समाधान किया जा सके
validateHttpsCertificatesBooleanअगर false फ़ेच करने पर, एचटीटीपीएस अनुरोधों के लिए अमान्य सर्टिफ़िकेट को अनदेखा किया जाता है. डिफ़ॉल्ट वैल्यू true है.
followRedirectsBooleanअगर false फ़ेच करने की प्रोसेस, एचटीटीपी रीडायरेक्ट को अपने-आप फ़ॉलो नहीं करती है, तो यह ओरिजनल एचटीटीपी रिस्पॉन्स दिखाता है. डिफ़ॉल्ट वैल्यू true है.
muteHttpExceptionsBooleanअगर रिस्पॉन्स कोड, काम नहीं कर रहा है, तो true फ़ेच करने से कोई अपवाद नहीं मिलता है और इसके बजाय HTTPResponse दिखता है. डिफ़ॉल्ट वैल्यू false है.
escapingBooleanअगर यूआरएल में रिज़र्व किए गए false वर्णों को एस्केप नहीं किया गया है. डिफ़ॉल्ट वैल्यू true है.

रिटर्न

Object — वैल्यू के लिए फ़ील्ड के नाम का मैप. मैप में कम से कम ये कुंजियां मौजूद होती हैं: url, method, contentType, payload, और headers.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट को, इनमें से एक या ज़्यादा स्कोप से अनुमति देने की ज़रूरत होती है:

  • https://www.googleapis.com/auth/script.external_request