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.
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