Class UrlFetchApp

UrlFetchApp

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

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

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

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

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

روش ها

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

مستندات دقیق

fetch(url)

درخواستی برای واکشی URL می دهد.

این بر روی HTTP و همچنین HTTPS کار می کند.

// The code below logs the HTML code of the Google home page.
var 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.
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);

پارامترها

نام تایپ کنید توضیحات
url String URL برای واکشی. URL می تواند حداکثر 2082 کاراکتر داشته باشد.
params Object شیء اختیاری جاوا اسکریپت که پارامترهای پیشرفته را طبق تعریف زیر مشخص می کند.

پارامترهای پیشرفته

نام تایپ کنید توضیحات
contentType 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) بارگذاری را نمی پذیرند. این می تواند یک رشته، یک آرایه بایت، یک حباب یا یک شی جاوا اسکریپت باشد. یک شی جاوا اسکریپت به عنوان نقشه ای از نام فیلدهای فرم به مقادیر تفسیر می شود، که در آن مقادیر می توانند رشته یا حباب باشند.
useIntranet Boolean منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند.
validateHttpsCertificates Boolean اگر false ، واکشی گواهی‌های نامعتبر برای درخواست‌های HTTPS را نادیده می‌گیرد. پیش فرض true است.
followRedirects Boolean اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است.
muteHttpExceptions Boolean اگر true ، واکشی استثنایی ایجاد نمی کند، اگر کد پاسخ نشان دهنده شکست باشد، و در عوض 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.
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]);

پارامترها

نام تایپ کنید توضیحات
requests Object[] آرایه‌ای از URLها یا اشیاء جاوا اسکریپت که درخواست‌هایی را که در زیر تعریف شده است، مشخص می‌کنند.

پارامترهای پیشرفته

نام تایپ کنید توضیحات
url String URL برای واکشی URL می تواند حداکثر 2082 کاراکتر داشته باشد.
contentType 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) بارگذاری را نمی پذیرند. این می تواند یک رشته، یک آرایه بایت، یک حباب یا یک شی جاوا اسکریپت باشد. یک شی جاوا اسکریپت به عنوان نقشه ای از نام فیلدهای فرم به مقادیر تفسیر می شود، که در آن مقادیر می توانند رشته یا حباب باشند.
useIntranet Boolean منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند.
validateHttpsCertificates Boolean اگر false ، واکشی گواهی‌های نامعتبر برای درخواست‌های HTTPS را نادیده می‌گیرد. پیش فرض true است.
followRedirects Boolean اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است.
muteHttpExceptions 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.
var response = UrlFetchApp.getRequest("http://www.google.com/");
for(i in response) {
  Logger.log(i + ": " + response[i]);
}

پارامترها

نام تایپ کنید توضیحات
url String URL برای جستجو. URL می تواند حداکثر 2082 کاراکتر داشته باشد.

بازگشت

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

مجوز

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

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

getRequest(url, params)

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

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

پارامترها

نام تایپ کنید توضیحات
url String URL برای جستجو. URL می تواند حداکثر 2082 کاراکتر داشته باشد.
params Object یک شی جاوا اسکریپت اختیاری که پارامترهای پیشرفته را همانطور که در زیر تعریف شده است مشخص می کند.

پارامترهای پیشرفته

نام تایپ کنید توضیحات
contentType 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) بارگذاری را نمی پذیرند. این می تواند یک رشته، یک آرایه بایت، یک حباب یا یک شی جاوا اسکریپت باشد. یک شی جاوا اسکریپت به عنوان نقشه ای از نام فیلدهای فرم به مقادیر تفسیر می شود، که در آن مقادیر می توانند رشته یا حباب باشند.
useIntranet Boolean منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند.
validateHttpsCertificates Boolean اگر false ، واکشی گواهی‌های نامعتبر برای درخواست‌های HTTPS را نادیده می‌گیرد. پیش فرض true است.
followRedirects Boolean اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است.
muteHttpExceptions Boolean اگر true ، واکشی استثنایی ایجاد نمی کند، اگر کد پاسخ نشان دهنده شکست باشد، و در عوض HTTPResponse برمی گرداند. پیش فرض false است.
escaping Boolean اگر نویسه‌های رزرو شده false در URL از قلم نیافتند. پیش فرض true است.

بازگشت

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

مجوز

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

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