Class UrlFetchApp

برنامه واکشی آدرس اینترنتی

منابع را واکشی کنید و با میزبان های دیگر از طریق اینترنت ارتباط برقرار کنید.

این سرویس به اسکریپت ها اجازه می دهد تا با سایر برنامه ها ارتباط برقرار کنند یا با واکشی URL به منابع دیگر در وب دسترسی پیدا کنند. یک اسکریپت می تواند از سرویس واکشی URL برای صدور درخواست های HTTP و HTTPS و دریافت پاسخ ها استفاده کند. سرویس واکشی URL از زیرساخت شبکه Google برای اهداف کارآمدی و مقیاس‌بندی استفاده می‌کند.

درخواست های ارائه شده با استفاده از این سرویس از مجموعه ای از محدوده های IP سرچشمه می گیرند. در صورت نیاز به فهرست مجاز یا تأیید این درخواست‌ها، می‌توانید فهرست کامل آدرس‌های IP را جستجو کنید .

این سرویس به محدوده https://www.googleapis.com/auth/script.external_request نیاز دارد. در بیشتر موارد Apps Script به طور خودکار محدوده‌های مورد نیاز یک اسکریپت را شناسایی کرده و شامل می‌شود، اما اگر دامنه‌های خود را به صراحت تنظیم می‌کنید، باید به صورت دستی این محدوده را برای استفاده Url Fetch App اضافه کنید.

همچنین ببینید

روش ها

روش نوع برگشت شرح مختصر
fetch(url) HTTPResponse درخواستی برای واکشی URL می دهد.
fetch(url, params) HTTPResponse درخواستی برای واکشی URL با استفاده از پارامترهای پیشرفته اختیاری می کند.
fetch All(requests) HTTPResponse[] چندین درخواست برای واکشی چندین URL با استفاده از پارامترهای پیشرفته اختیاری می کند.
get Request(url) Object درخواستی را که در صورت فراخوانی عملیات انجام شده است، برمی گرداند.
get Request(url, params) Object درخواستی را که در صورت فراخوانی عملیات انجام می شود، برمی گرداند.

مستندات دقیق

fetch(url)

درخواستی برای واکشی 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 URL برای واکشی. URL می تواند حداکثر 2082 کاراکتر داشته باشد.

بازگشت

HTTPResponse - داده های پاسخ HTTP.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

fetch(url, params)

درخواستی برای واکشی URL با استفاده از پارامترهای پیشرفته اختیاری می کند.

این بر روی 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 URL برای واکشی. URL می تواند حداکثر 2082 کاراکتر داشته باشد.
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 منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند.
validate Https Certificates Boolean اگر false ، واکشی گواهی‌های نامعتبر برای درخواست‌های HTTPS را نادیده می‌گیرد. پیش فرض true است.
follow Redirects Boolean اگر false واکشی به طور خودکار از تغییر مسیرهای 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

fetch All(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 URL برای واکشی URL می تواند حداکثر 2082 کاراکتر داشته باشد.
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 منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند.
validate Https Certificates Boolean اگر false ، واکشی گواهی‌های نامعتبر برای درخواست‌های HTTPS را نادیده می‌گیرد. پیش فرض true است.
follow Redirects Boolean اگر false واکشی به طور خودکار از تغییر مسیرهای 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

get Request(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 URL برای جستجو. URL می تواند حداکثر 2082 کاراکتر داشته باشد.

بازگشت

Object - نقشه ای از نام فیلد به مقدار. نقشه حداقل دارای کلیدهای زیر است: url ، method ، content Type ، payload و headers .

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Request(url, params)

درخواستی را که در صورت فراخوانی عملیات انجام می شود، برمی گرداند.

این روش در واقع درخواست را صادر نمی کند.

پارامترها

نام تایپ کنید توضیحات
url String URL برای جستجو. URL می تواند حداکثر 2082 کاراکتر داشته باشد.
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 منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند.
validate Https Certificates Boolean اگر false ، واکشی گواهی‌های نامعتبر برای درخواست‌های HTTPS را نادیده می‌گیرد. پیش فرض true است.
follow Redirects Boolean اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است.
mute Http Exceptions Boolean اگر true ، واکشی استثنایی ایجاد نمی کند، اگر کد پاسخ نشان دهنده شکست باشد، و در عوض HTTPResponse را برمی گرداند. پیش فرض false است.
escaping Boolean اگر نویسه‌های رزرو شده false در URL از قلم نیافتند. پیش فرض true است.

بازگشت

Object - نقشه ای از نام فیلد به مقدار. نقشه حداقل دارای کلیدهای زیر است: url ، method ، content Type ، payload و headers .

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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