Class UrlFetchApp

UrlFetchApp

ইন্টারনেটের মাধ্যমে রিসোর্স সংগ্রহ করুন এবং অন্যান্য হোস্টের সাথে যোগাযোগ করুন।

এই পরিষেবাটি স্ক্রিপ্টকে ইউআরএল (URL) ফেচ করার মাধ্যমে অন্যান্য অ্যাপ্লিকেশনের সাথে যোগাযোগ করতে বা ওয়েবের অন্যান্য রিসোর্স অ্যাক্সেস করতে সাহায্য করে। একটি স্ক্রিপ্ট ইউআরএল ফেচ পরিষেবাটি ব্যবহার করে HTTP এবং HTTPS অনুরোধ পাঠাতে এবং প্রতিক্রিয়া গ্রহণ করতে পারে। ইউআরএল ফেচ পরিষেবাটি কার্যকারিতা এবং স্কেলিং-এর উদ্দেশ্যে গুগলের নেটওয়ার্ক পরিকাঠামো ব্যবহার করে।

এই পরিষেবা ব্যবহার করে করা অনুরোধগুলি একটি নির্দিষ্ট আইপি রেঞ্জের পুল থেকে আসে। এই অনুরোধগুলিকে অনুমোদন বা অনুমতি দেওয়ার প্রয়োজন হলে আপনি আইপি অ্যাড্রেসগুলির সম্পূর্ণ তালিকা দেখে নিতে পারেন।

এই পরিষেবাটির জন্য https://www.googleapis.com/auth/script.external_request স্কোপটি প্রয়োজন। বেশিরভাগ ক্ষেত্রে অ্যাপস স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে একটি স্ক্রিপ্টের প্রয়োজনীয় স্কোপগুলো শনাক্ত করে এবং অন্তর্ভুক্ত করে, কিন্তু আপনি যদি আপনার স্কোপগুলো স্পষ্টভাবে সেট করেন, তবে UrlFetchApp ব্যবহার করার জন্য আপনাকে অবশ্যই এই স্কোপটি ম্যানুয়ালি যোগ করতে হবে।

আরও দেখুন

পদ্ধতি

পদ্ধতি রিটার্ন টাইপ সংক্ষিপ্ত বিবরণ
fetch(url) HTTPResponse একটি ইউআরএল আনার জন্য অনুরোধ করা হয়।
fetch(url, params) HTTPResponse ঐচ্ছিক উন্নত প্যারামিটার ব্যবহার করে একটি ইউআরএল আনার জন্য অনুরোধ করে।
fetch All(requests) HTTPResponse[] ঐচ্ছিক উন্নত প্যারামিটার ব্যবহার করে একাধিক URL আনার জন্য একাধিক অনুরোধ পাঠায়।
get Request(url) Object অপারেশনটি আহ্বান করা হলে যে অনুরোধটি করা হয়, তা ফেরত দেয়।
get Request(url, params) Object অপারেশনটি আহ্বান করা হলে যে অনুরোধটি করা হয়, তা ফেরত দেয়।

বিস্তারিত ডকুমেন্টেশন

fetch(url)

একটি ইউআরএল আনার জন্য অনুরোধ করা হয়।

এটি HTTP এবং HTTPS উভয় মাধ্যমেই কাজ করে।

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

প্যারামিটার

নাম প্রকার বর্ণনা
url String যে ইউআরএলটি আনতে হবে। ইউআরএলটিতে সর্বোচ্চ ২,০৮২টি অক্ষর থাকতে পারে।

ফেরত

HTTPResponse — HTTP প্রতিক্রিয়া ডেটা।

অনুমোদন

যে স্ক্রিপ্টগুলো এই পদ্ধতি ব্যবহার করে, সেগুলোর জন্য নিম্নলিখিত এক বা একাধিক স্কোপের মাধ্যমে অনুমোদনের প্রয়োজন হয়:

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

fetch(url, params)

ঐচ্ছিক উন্নত প্যারামিটার ব্যবহার করে একটি ইউআরএল আনার জন্য অনুরোধ করে।

এটি HTTP এবং HTTPS উভয় মাধ্যমেই কাজ করে।

// 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);

প্যারামিটার

নাম প্রকার বর্ণনা
url String যে ইউআরএলটি আনতে হবে। ইউআরএলটিতে সর্বোচ্চ ২,০৮২টি অক্ষর থাকতে পারে।
params Object ঐচ্ছিক জাভাস্ক্রিপ্ট অবজেক্ট যা নিচে সংজ্ঞায়িত উন্নত প্যারামিটারগুলো নির্দিষ্ট করে।

উন্নত পরামিতি

নাম প্রকার বর্ণনা
content Type String কন্টেন্ট টাইপ (ডিফল্ট হলো 'application/x-www-form-urlencoded')। কন্টেন্ট টাইপের আরেকটি উদাহরণ হলো 'application/xml; charset=utf-8'।
headers Object অনুরোধের জন্য HTTP হেডারগুলির একটি জাভাস্ক্রিপ্ট কী/ভ্যালু ম্যাপ
method String অনুরোধের জন্য HTTP মেথড: get , delete , patch , post , অথবা put । ডিফল্ট হলো get
payload String অনুরোধের পেলোড (অর্থাৎ, POST বডি)। কিছু HTTP মেথড (যেমন, GET) পেলোড গ্রহণ করে না। এটি একটি স্ট্রিং, একটি বাইট অ্যারে, একটি ব্লব, বা একটি জাভাস্ক্রিপ্ট অবজেক্ট হতে পারে। একটি জাভাস্ক্রিপ্ট অবজেক্টকে ফর্ম ফিল্ডের নাম এবং ভ্যালুগুলোর একটি ম্যাপ হিসেবে ব্যাখ্যা করা হয়, যেখানে ভ্যালুগুলো স্ট্রিং বা ব্লব হতে পারে।
use Intranet Boolean অপ্রচলিত। এটি ফেচকে (fetch) নির্দেশ দেয় আপনার ডোমেনের সাথে (অপ্রচলিত) SDC-এর মাধ্যমে সংযুক্ত ইন্ট্রানেটের মধ্যে নির্দিষ্ট URL-টি রিজলভ করার জন্য।
validate Https Certificates Boolean false হলে, fetch HTTPS অনুরোধের জন্য যেকোনো অবৈধ সার্টিফিকেট উপেক্ষা করে। ডিফল্ট মান হলো true
follow Redirects Boolean false হলে fetch স্বয়ংক্রিয়ভাবে HTTP রিডাইরেক্ট অনুসরণ করে না; এটি মূল HTTP রেসপন্সটি ফেরত দেয়। ডিফল্ট মান হলো true
mute Http Exceptions Boolean যদি true তাহলে রেসপন্স কোড ব্যর্থতা নির্দেশ করলেও fetch কোনো এক্সেপশন থ্রো করে না, এবং এর পরিবর্তে HTTPResponse রিটার্ন করে। এর ডিফল্ট মান হলো false
escaping Boolean false হলে URL-এর সংরক্ষিত অক্ষরগুলো এস্কেপ করা হয় না। এর ডিফল্ট মান হলো true

ফেরত

HTTPResponse — HTTP প্রতিক্রিয়া ডেটা।

অনুমোদন

যে স্ক্রিপ্টগুলো এই পদ্ধতি ব্যবহার করে, সেগুলোর জন্য নিম্নলিখিত এক বা একাধিক স্কোপের মাধ্যমে অনুমোদনের প্রয়োজন হয়:

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

fetchAll(requests)

ঐচ্ছিক উন্নত প্যারামিটার ব্যবহার করে একাধিক URL আনার জন্য একাধিক অনুরোধ পাঠায়।

এটি HTTP এবং HTTPS উভয় মাধ্যমেই কাজ করে।

// 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]);

প্যারামিটার

নাম প্রকার বর্ণনা
requests Object[] নিচে সংজ্ঞায়িত অনুরোধগুলি নির্দিষ্ট করে এমন URL বা জাভাস্ক্রিপ্ট অবজেক্টের একটি অ্যারে।

উন্নত পরামিতি

নাম প্রকার বর্ণনা
url String যে ইউআরএলটি আনতে হবে। ইউআরএলটিতে সর্বোচ্চ ২,০৮২টি অক্ষর থাকতে পারে।
content Type String কন্টেন্ট টাইপ (ডিফল্ট হলো 'application/x-www-form-urlencoded')। কন্টেন্ট টাইপের আরেকটি উদাহরণ হলো 'application/xml; charset=utf-8'।
headers Object অনুরোধের জন্য HTTP হেডারগুলির একটি জাভাস্ক্রিপ্ট কী/ভ্যালু ম্যাপ
method String অনুরোধের জন্য HTTP মেথড: get , delete , patch , post , অথবা put । ডিফল্ট হলো get
payload String অনুরোধের পেলোড (অর্থাৎ, POST বডি)। কিছু HTTP মেথড (যেমন, GET) পেলোড গ্রহণ করে না। এটি একটি স্ট্রিং, একটি বাইট অ্যারে, একটি ব্লব, বা একটি জাভাস্ক্রিপ্ট অবজেক্ট হতে পারে। একটি জাভাস্ক্রিপ্ট অবজেক্টকে ফর্ম ফিল্ডের নাম এবং ভ্যালুগুলোর একটি ম্যাপ হিসেবে ব্যাখ্যা করা হয়, যেখানে ভ্যালুগুলো স্ট্রিং বা ব্লব হতে পারে।
use Intranet Boolean অপ্রচলিত। এটি ফেচকে (fetch) নির্দেশ দেয় আপনার ডোমেনের সাথে (অপ্রচলিত) SDC-এর মাধ্যমে সংযুক্ত ইন্ট্রানেটের মধ্যে নির্দিষ্ট URL-টি রিজলভ করার জন্য।
validate Https Certificates Boolean false হলে, fetch HTTPS অনুরোধের জন্য যেকোনো অবৈধ সার্টিফিকেট উপেক্ষা করে। ডিফল্ট মান হলো true
follow Redirects Boolean false হলে fetch স্বয়ংক্রিয়ভাবে HTTP রিডাইরেক্ট অনুসরণ করে না; এটি মূল HTTP রেসপন্সটি ফেরত দেয়। ডিফল্ট মান হলো true
mute Http Exceptions Boolean যদি true , তাহলে রেসপন্স কোড ব্যর্থতা নির্দেশ করলেও ফেচ করার সময় কোনো এক্সেপশন থ্রো করা হয় না, এবং এর পরিবর্তে HTTPResponse রিটার্ন করা হয়। এর ডিফল্ট মান হলো false
escaping Boolean false হলে, URL-এর সংরক্ষিত অক্ষরগুলো এস্কেপ করা হয় না। এর ডিফল্ট মান হলো true

ফেরত

HTTPResponse[] — প্রতিটি ইনপুট অনুরোধ থেকে প্রাপ্ত HTTP প্রতিক্রিয়া ডেটার একটি অ্যারে।

অনুমোদন

যে স্ক্রিপ্টগুলো এই পদ্ধতি ব্যবহার করে, সেগুলোর জন্য নিম্নলিখিত এক বা একাধিক স্কোপের মাধ্যমে অনুমোদনের প্রয়োজন হয়:

  • 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]}`);
}

প্যারামিটার

নাম প্রকার বর্ণনা
url String যে ইউআরএলটি খুঁজতে হবে। ইউআরএলটিতে সর্বোচ্চ ২,০৮২টি অক্ষর থাকতে পারে।

ফেরত

Object — ফিল্ডের নাম এবং মানের একটি ম্যাপ। এই ম্যাপে অন্তত নিম্নলিখিত কী-গুলো থাকে: url , method , contentType , payload , এবং headers

অনুমোদন

যে স্ক্রিপ্টগুলো এই পদ্ধতি ব্যবহার করে, সেগুলোর জন্য নিম্নলিখিত এক বা একাধিক স্কোপের মাধ্যমে অনুমোদনের প্রয়োজন হয়:

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

getRequest(url, params)

অপারেশনটি আহ্বান করা হলে যে অনুরোধটি করা হয়, তা ফেরত দেয়।

এই পদ্ধতিটি প্রকৃতপক্ষে অনুরোধটি জারি করে না।

প্যারামিটার

নাম প্রকার বর্ণনা
url String যে ইউআরএলটি খুঁজতে হবে। ইউআরএলটিতে সর্বোচ্চ ২,০৮২টি অক্ষর থাকতে পারে।
params Object একটি ঐচ্ছিক জাভাস্ক্রিপ্ট অবজেক্ট যা নিচে সংজ্ঞায়িত উন্নত প্যারামিটারগুলো নির্দিষ্ট করে।

উন্নত পরামিতি

নাম প্রকার বর্ণনা
content Type String কন্টেন্ট টাইপ (ডিফল্ট হলো 'application/x-www-form-urlencoded')। কন্টেন্ট টাইপের আরেকটি উদাহরণ হলো 'application/xml; charset=utf-8'।
headers Object অনুরোধের জন্য HTTP হেডারগুলির একটি জাভাস্ক্রিপ্ট কী/ভ্যালু ম্যাপ
method String অনুরোধের জন্য HTTP মেথড: get , delete , patch , post , অথবা put । ডিফল্ট হলো get
payload String অনুরোধের পেলোড (অর্থাৎ, POST বডি)। কিছু HTTP মেথড (যেমন, GET) পেলোড গ্রহণ করে না। এটি একটি স্ট্রিং, একটি বাইট অ্যারে, একটি ব্লব, বা একটি জাভাস্ক্রিপ্ট অবজেক্ট হতে পারে। একটি জাভাস্ক্রিপ্ট অবজেক্টকে ফর্ম ফিল্ডের নাম এবং ভ্যালুগুলোর একটি ম্যাপ হিসেবে ব্যাখ্যা করা হয়, যেখানে ভ্যালুগুলো স্ট্রিং বা ব্লব হতে পারে।
use Intranet Boolean অপ্রচলিত। এটি ফেচকে (fetch) নির্দেশ দেয় আপনার ডোমেনের সাথে (অপ্রচলিত) SDC-এর মাধ্যমে সংযুক্ত ইন্ট্রানেটের মধ্যে নির্দিষ্ট URL-টি রিজলভ করার জন্য।
validate Https Certificates Boolean false হলে, fetch HTTPS অনুরোধের জন্য যেকোনো অবৈধ সার্টিফিকেট উপেক্ষা করে। ডিফল্ট মান হলো true
follow Redirects Boolean false হলে fetch স্বয়ংক্রিয়ভাবে HTTP রিডাইরেক্ট অনুসরণ করে না; এটি মূল HTTP রেসপন্সটি ফেরত দেয়। ডিফল্ট মান হলো true
mute Http Exceptions Boolean যদি true তাহলে রেসপন্স কোড ব্যর্থতা নির্দেশ করলেও fetch কোনো এক্সেপশন থ্রো করে না, এবং এর পরিবর্তে HTTPResponse রিটার্ন করে। এর ডিফল্ট মান হলো false
escaping Boolean false হলে URL-এর সংরক্ষিত অক্ষরগুলো এস্কেপ করা হবে না। এর ডিফল্ট মান হলো true

ফেরত

Object — ফিল্ডের নাম এবং মানের একটি ম্যাপ। এই ম্যাপে অন্তত নিম্নলিখিত কী-গুলো থাকে: url , method , contentType , payload , এবং headers

অনুমোদন

যে স্ক্রিপ্টগুলো এই পদ্ধতি ব্যবহার করে, সেগুলোর জন্য নিম্নলিখিত এক বা একাধিক স্কোপের মাধ্যমে অনুমোদনের প্রয়োজন হয়:

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