منابع را واکشی کنید و با میزبان های دیگر از طریق اینترنت ارتباط برقرار کنید.
این سرویس به اسکریپت ها اجازه می دهد تا با سایر برنامه ها ارتباط برقرار کنند یا با واکشی 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