Class 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.
const response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());

पैरामीटर

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

वापसी का टिकट

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

अनुमति देना

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

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

fetch(url, params)

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

यह एचटीटीपी और एचटीटीपीएस, दोनों पर काम करता है.

// Make a GET request and log the returned content.
const response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
// Make a POST request with form data.
const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
const 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')
const options = {
  method: 'post',
  payload: formData,
};
UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload.
const data = {
  name: 'Bob Smith',
  age: 35,
  pets: ['fido', 'fluffy'],
};
const 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);

पैरामीटर

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

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

नामटाइपब्यौरा
contentTypeStringकॉन्टेंट का टाइप (डिफ़ॉल्ट रूप से, 'application/x-www-form-urlencoded'). कॉन्टेंट टाइप का एक और उदाहरण 'application/xml; charset=utf-8' है.
headersObjectअनुरोध के लिए एचटीटीपी हेडर का JavaScript कीवर्ड/वैल्यू मैप
methodStringअनुरोध के लिए एचटीटीपी तरीका: get, delete, patch, post या put. डिफ़ॉल्ट रूप से, यह get पर सेट होता है.
payloadStringअनुरोध के लिए पेलोड (यानी, POST बॉडी). कुछ एचटीटीपी तरीके (उदाहरण के लिए, GET) पेलोड स्वीकार नहीं करते. यह स्ट्रिंग, बाइट कलेक्शन, ब्लॉब या 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.
const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
const 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')
const request1 = {
  url: 'https://httpbin.org/post',
  method: 'post',
  payload: formData,
};
// A request may also just be a URL.
const request2 = 'https://httpbin.org/get?key=value';
UrlFetchApp.fetchAll([request1, request2]);

पैरामीटर

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

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

नामटाइपब्यौरा
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 बॉडी). कुछ एचटीटीपी तरीके (उदाहरण के लिए, GET) पेलोड स्वीकार नहीं करते. यह स्ट्रिंग, बाइट कलेक्शन, ब्लॉब या 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

getRequest(url)

अगर कार्रवाई शुरू की गई थी, तो उस अनुरोध की जानकारी दिखाता है.

इस तरीके से, अनुरोध नहीं किया जाता.

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

पैरामीटर

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

वापसी का टिकट

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

अनुमति देना

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

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

getRequest(url, params)

अगर ऑपरेशन शुरू किया गया था, तो वह अनुरोध दिखाता है जो किया गया था.

इस तरीके से, अनुरोध नहीं किया जाता.

पैरामीटर

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

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

नामटाइपब्यौरा
contentTypeStringकॉन्टेंट का टाइप (डिफ़ॉल्ट रूप से, 'application/x-www-form-urlencoded'). कॉन्टेंट टाइप का एक और उदाहरण 'application/xml; charset=utf-8' है.
headersObjectअनुरोध के लिए एचटीटीपी हेडर का JavaScript कीवर्ड/वैल्यू मैप
methodStringअनुरोध के लिए एचटीटीपी तरीका: get, delete, patch, post या put. डिफ़ॉल्ट रूप से, यह get पर सेट होता है.
payloadStringअनुरोध के लिए पेलोड (यानी, POST बॉडी). कुछ एचटीटीपी तरीके (उदाहरण के लिए, GET) पेलोड स्वीकार नहीं करते. यह स्ट्रिंग, बाइट कलेक्शन, ब्लॉब या 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