Class UrlFetchApp

UrlFetchApp

جلب الموارد والتواصل مع المضيفين الآخرين على الإنترنت

تسمح هذه الخدمة للنصوص البرمجية بالاتصال بالتطبيقات الأخرى أو الوصول إلى موارد أخرى. على الويب عن طريق جلب عناوين URL. يمكن للنص البرمجي استخدام خدمة "جلب عناوين URL" لإصدار بروتوكول HTTP وHTTPS. الطلبات وتلقي الردود. تستخدم خدمة جلب عناوين URL البنية الأساسية لشبكة Google للأغراض التالية: الكفاءة والتوسع.

إنّ الطلبات المقدَّمة باستخدام هذه الخدمة تنشأ من مجموعة محدّدة من نطاقات عناوين IP. يمكنك البحث عن قائمة كاملة بعناوين IP إذا عليك إضافة هذه الطلبات إلى القائمة المسموح بها أو الموافقة عليها.

تتطلّب هذه الخدمة https://www.googleapis.com/auth/script.external_request. النطاق. في معظم الحالات، تكتشف "برمجة التطبيقات" تلقائيًا النطاقات التي يحتاجها النص البرمجي وتتضمّنها، ولكن إذا كنت تضبط نطاقاتك بشكلٍ صريح، عليك إضافة هذا النطاق يدويًا لاستخدام "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());

المعلمات

الاسمالنوعالوصف
urlStringعنوان URL المطلوب جلبه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
urlStringعنوان URL المطلوب جلبه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا.
paramsObjectكائن JavaScript اختياري يحدّد المَعلمات المتقدّمة كما هو موضّح أدناه.

المعلمات المتقدمة

الاسمالنوعالوصف
contentTypeStringنوع المحتوى (القيم الافتراضية 'application/x-www-form-urlencoded'). هناك مثال آخر على نوع المحتوى وهو "application/xml؛ charset=utf-8'.
headersObjectخريطة مفتاح/قيمة JavaScript لعناوين HTTP للطلب
methodStringطريقة HTTP للطلب: get، delete، patch أو post أو put والقيمة التلقائية هي get.
payloadStringحمولة البيانات (أي نص POST) للطلب. بالتأكيد لا تقبل طرق HTTP (مثل GET) أي حمولة. يمكن أن يكون سلسلة أو صفيف بايت أو كائن ثنائي كبير (blob) أو كائن JavaScript. يتم تفسير كائن JavaScript على أنّه خريطة لحقل النموذج أسماء للقيم، حيث يمكن أن تكون القيم سلاسل أو وحدات ثنائية كبيرة.
useIntranetBooleanتمّ الإيقاف. توجِّه هذه العملية عملية الجلب لحل المشكلة عنوان URL ضمن الشبكة الداخلية المرتبط بنطاقك من خلال SDC (متوقف)
validateHttpsCertificatesBooleanإذا كان false يتجاهل أي منها شهادات غير صالحة لطلبات HTTPS. والقيمة التلقائية هي true.
followRedirectsBooleanإذا لم يتم الجلب تلقائيًا من خلال false متابعة عمليات إعادة توجيه HTTP؛ فإنها تعرض استجابة HTTP الأصلية. والقيمة التلقائية هي true.
muteHttpExceptionsBooleanإذا لم تقدّم true، لم يعرض الجلب الرمز إذا كان رمز الاستجابة يشير إلى خطأ، ويعرض بدلاً من ذلك HTTPResponse. والقيمة التلقائية هي false.
escapingBooleanإذا لم يكن هناك 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]);

المعلمات

الاسمالنوعالوصف
requestsObject[]مصفوفة من عناوين URL أو عناصر JavaScript تحدّد الطلبات على النحو المحدّد أدناه.

المعلمات المتقدمة

الاسمالنوعالوصف
urlStringعنوان URL المراد جلبه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا.
contentTypeStringنوع المحتوى (القيم الافتراضية 'application/x-www-form-urlencoded'). هناك مثال آخر على نوع المحتوى وهو "application/xml؛ charset=utf-8'.
headersObjectخريطة مفتاح/قيمة JavaScript لعناوين HTTP للطلب
methodStringطريقة HTTP للطلب: get، delete، patch أو post أو put والقيمة التلقائية هي get.
payloadStringحمولة البيانات (أي نص POST) للطلب. بالتأكيد لا تقبل طرق HTTP (مثل GET) أي حمولة. يمكن أن يكون سلسلة أو صفيف بايت أو كائن ثنائي كبير (blob) أو كائن JavaScript. يتم تفسير كائن JavaScript على أنّه خريطة لحقل النموذج أسماء للقيم، حيث يمكن أن تكون القيم سلاسل أو وحدات ثنائية كبيرة.
useIntranetBooleanتمّ الإيقاف. توجِّه هذه العملية عملية الجلب لحل المشكلة عنوان URL ضمن الشبكة الداخلية المرتبط بنطاقك من خلال SDC (متوقف)
validateHttpsCertificatesBooleanإذا كان false يتجاهل أي منها شهادات غير صالحة لطلبات HTTPS. والقيمة التلقائية هي true.
followRedirectsBooleanإذا لم يتم الجلب تلقائيًا من خلال false متابعة عمليات إعادة توجيه HTTP؛ فإنها تعرض استجابة HTTP الأصلية. والقيمة التلقائية هي true.
muteHttpExceptionsBooleanإذا كانت true، لا يؤدي الجلب إلى عرض الرمز إذا كان رمز الاستجابة يشير إلى خطأ، ويعرض بدلاً من ذلك HTTPResponse. والقيمة التلقائية هي false.
escapingBooleanإذا كانت 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]);
}

المعلمات

الاسمالنوعالوصف
urlStringعنوان URL المطلوب البحث عنه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا.

الإرجاع

Object — خريطة تعرض اسم الحقل إلى قيمة تحتوي الخريطة على المفاتيح التالية على الأقل: url، method وcontentType وpayload وheaders

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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

getRequest(url, params)

يعرض الطلب الذي يتم إجراؤه إذا تم استدعاء العملية.

في الواقع، لا تؤدي هذه الطريقة إلى إصدار الطلب.

المعلمات

الاسمالنوعالوصف
urlStringعنوان URL المطلوب البحث عنه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا.
paramsObjectكائن JavaScript اختياري يحدّد المَعلمات المتقدّمة كما هو موضّح أدناه.

المعلمات المتقدمة

الاسمالنوعالوصف
contentTypeStringنوع المحتوى (القيم الافتراضية 'application/x-www-form-urlencoded'). هناك مثال آخر على نوع المحتوى وهو "application/xml؛ charset=utf-8'.
headersObjectخريطة مفتاح/قيمة JavaScript لعناوين HTTP للطلب
methodStringطريقة HTTP للطلب: get، delete، patch أو post أو put والقيمة التلقائية هي get.
payloadStringحمولة البيانات (أي نص POST) للطلب. بالتأكيد لا تقبل طرق HTTP (مثل GET) أي حمولة. يمكن أن يكون سلسلة أو صفيف بايت أو كائن ثنائي كبير (blob) أو كائن JavaScript. يتم تفسير كائن JavaScript على أنّه خريطة لحقل النموذج أسماء للقيم، حيث يمكن أن تكون القيم سلاسل أو وحدات ثنائية كبيرة.
useIntranetBooleanتمّ الإيقاف. توجِّه هذه العملية عملية الجلب لحل المشكلة عنوان URL ضمن الشبكة الداخلية المرتبط بنطاقك من خلال SDC (متوقف)
validateHttpsCertificatesBooleanإذا كان false يتجاهل أي منها شهادات غير صالحة لطلبات HTTPS. والقيمة التلقائية هي true.
followRedirectsBooleanإذا لم يتم الجلب تلقائيًا من خلال false متابعة عمليات إعادة توجيه HTTP؛ فإنها تعرض استجابة HTTP الأصلية. والقيمة التلقائية هي true.
muteHttpExceptionsBooleanإذا لم تقدّم true، لم يعرض الجلب الرمز إذا كان رمز الاستجابة يشير إلى خطأ، ويعرض بدلاً من ذلك HTTPResponse. والقيمة التلقائية هي false.
escapingBooleanإذا لم يتم حجز false أحرف في عنوان URL . والقيمة التلقائية هي true.

الإرجاع

Object — خريطة تعرض اسم الحقل إلى قيمة تحتوي الخريطة على المفاتيح التالية على الأقل: url، method وcontentType وpayload وheaders

التفويض

تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:

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