جلب الموارد والتواصل مع المضيفين الآخرين على الإنترنت
تسمح هذه الخدمة للنصوص البرمجية بالاتصال بالتطبيقات الأخرى أو الوصول إلى موارد أخرى. على الويب عن طريق جلب عناوين 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());
المعلمات
الاسم | النوع | الوصف |
---|---|---|
url | String | عنوان 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);
المعلمات
الاسم | النوع | الوصف |
---|---|---|
url | String | عنوان URL المطلوب جلبه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا. |
params | Object | كائن JavaScript اختياري يحدّد المَعلمات المتقدّمة كما هو موضّح أدناه. |
المعلمات المتقدمة
الاسم | النوع | الوصف |
---|---|---|
contentType | String | نوع المحتوى (القيم الافتراضية 'application/x-www-form-urlencoded'). هناك مثال آخر على نوع المحتوى وهو "application/xml؛ charset=utf-8'. |
headers | Object | خريطة مفتاح/قيمة JavaScript لعناوين HTTP للطلب |
method | String | طريقة HTTP للطلب: get ، delete ،
patch أو post أو put والقيمة التلقائية هي get . |
payload | String | حمولة البيانات (أي نص POST) للطلب. بالتأكيد لا تقبل طرق HTTP (مثل GET) أي حمولة. يمكن أن يكون سلسلة أو صفيف بايت أو كائن ثنائي كبير (blob) أو كائن JavaScript. يتم تفسير كائن JavaScript على أنّه خريطة لحقل النموذج أسماء للقيم، حيث يمكن أن تكون القيم سلاسل أو وحدات ثنائية كبيرة. |
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 أو عناصر JavaScript تحدّد الطلبات على النحو المحدّد أدناه. |
المعلمات المتقدمة
الاسم | النوع | الوصف |
---|---|---|
url | String | عنوان URL المراد جلبه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا. |
contentType | String | نوع المحتوى (القيم الافتراضية 'application/x-www-form-urlencoded'). هناك مثال آخر على نوع المحتوى وهو "application/xml؛ charset=utf-8'. |
headers | Object | خريطة مفتاح/قيمة JavaScript لعناوين HTTP للطلب |
method | String | طريقة HTTP للطلب: get ، delete ،
patch أو post أو put والقيمة التلقائية هي get . |
payload | String | حمولة البيانات (أي نص POST) للطلب. بالتأكيد لا تقبل طرق HTTP (مثل GET) أي حمولة. يمكن أن يكون سلسلة أو صفيف بايت أو كائن ثنائي كبير (blob) أو كائن JavaScript. يتم تفسير كائن JavaScript على أنّه خريطة لحقل النموذج أسماء للقيم، حيث يمكن أن تكون القيم سلاسل أو وحدات ثنائية كبيرة. |
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 على ما يصل إلى 2,082 حرفًا. |
الإرجاع
Object
— خريطة تعرض اسم الحقل إلى قيمة تحتوي الخريطة على المفاتيح التالية على الأقل: url
،
method
وcontentType
وpayload
وheaders
التفويض
تتطلب النصوص البرمجية التي تستخدم هذه الطريقة إذنًا باستخدام واحد أو أكثر من النطاقات التالية:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
يعرض الطلب الذي يتم إجراؤه إذا تم استدعاء العملية.
في الواقع، لا تؤدي هذه الطريقة إلى إصدار الطلب.
المعلمات
الاسم | النوع | الوصف |
---|---|---|
url | String | عنوان URL المطلوب البحث عنه. ويمكن أن يحتوي عنوان URL على ما يصل إلى 2,082 حرفًا. |
params | Object | كائن JavaScript اختياري يحدّد المَعلمات المتقدّمة كما هو موضّح أدناه. |
المعلمات المتقدمة
الاسم | النوع | الوصف |
---|---|---|
contentType | String | نوع المحتوى (القيم الافتراضية 'application/x-www-form-urlencoded'). هناك مثال آخر على نوع المحتوى وهو "application/xml؛ charset=utf-8'. |
headers | Object | خريطة مفتاح/قيمة JavaScript لعناوين HTTP للطلب |
method | String | طريقة HTTP للطلب: get ، delete ،
patch أو post أو put والقيمة التلقائية هي get . |
payload | String | حمولة البيانات (أي نص POST) للطلب. بالتأكيد لا تقبل طرق HTTP (مثل GET) أي حمولة. يمكن أن يكون سلسلة أو صفيف بايت أو كائن ثنائي كبير (blob) أو كائن JavaScript. يتم تفسير كائن JavaScript على أنّه خريطة لحقل النموذج أسماء للقيم، حيث يمكن أن تكون القيم سلاسل أو وحدات ثنائية كبيرة. |
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