מאחזרים משאבים ויוצרים קשר עם מארחים אחרים באינטרנט.
השירות הזה מאפשר לסקריפטים לתקשר עם אפליקציות אחרות או לגשת למשאבים אחרים באינטרנט על ידי אחזור כתובות URL. סקריפט יכול להשתמש בשירות אחזור כתובות ה-URL כדי לשלוח בקשות HTTP ו-HTTPS ולקבל תגובות. השירות 'אחזור כתובות URL' משתמש בתשתית הרשת של Google למטרות יעילות והתאמה לעומס (scaling).
בקשות שמבוצעות באמצעות השירות הזה מגיעות ממאגר מוגדר של טווחי 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[] | שולח בקשות מרובות לאחזור מספר כתובות אתרים באמצעות פרמטרים מתקדמים אופציונליים. |
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 | המטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מתפרש כמפה של שמות שדות הטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או blobs. |
useIntranet | Boolean | הוּצא משימוש. הפעולה הזו מורה לאחזור לטפל בכתובת ה-URL שצוינה בתוך האינטראנט שמקושר לדומיין באמצעות SDC (שיצא משימוש) |
validateHttpsCertificates | Boolean | אם false , האחזור מתעלם מאישורים לא חוקיים כלשהם עבור בקשות HTTPS. ברירת המחדל היא true . |
followRedirects | Boolean | אם false , האחזור לא עוקב באופן אוטומטי אחר הפניות אוטומטיות ב-HTTP; הוא מחזיר את תגובת ה-HTTP המקורית. ברירת המחדל היא true . |
muteHttpExceptions | Boolean | אם true , האחזור לא מקפיץ חריגה אם קוד התגובה מצביע על כשל, ובמקום זאת מחזיר את הערך HTTPResponse . ברירת המחדל היא false . |
escaping | Boolean | אם false תווים שמורים בכתובת ה-URL לא
מסומנים בתו בריחה (escape). ברירת המחדל היא true . |
החזרות
HTTPResponse
- נתוני תגובת ה-HTTP.
הרשאות
לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
שולח בקשות מרובות לאחזור מספר כתובות אתרים באמצעות פרמטרים מתקדמים אופציונליים.
השיטה הזו פועלת על 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 | המטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מתפרש כמפה של שמות שדות הטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או blobs. |
useIntranet | Boolean | הוּצא משימוש. הפעולה הזו מורה לאחזור לטפל בכתובת ה-URL שצוינה בתוך האינטראנט שמקושר לדומיין באמצעות SDC (שיצא משימוש) |
validateHttpsCertificates | Boolean | אם false , האחזור מתעלם מאישורים לא חוקיים כלשהם עבור בקשות HTTPS. ברירת המחדל היא true . |
followRedirects | Boolean | אם false , האחזור לא עוקב באופן אוטומטי אחר הפניות אוטומטיות ב-HTTP; הוא מחזיר את תגובת ה-HTTP המקורית. ברירת המחדל היא true . |
muteHttpExceptions | Boolean | אם true , האחזור לא משמיע חריגה אם קוד התגובה מציין כשל, ובמקום זאת מחזיר את התג HTTPResponse . ברירת המחדל היא false . |
escaping | Boolean | אם מזינים false , המערכת לא תסמן בתו מילוט (escape) תווים שמורים בכתובת ה-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 | המטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מתפרש כמפה של שמות שדות הטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או blobs. |
useIntranet | Boolean | הוּצא משימוש. הפעולה הזו מורה לאחזור לטפל בכתובת ה-URL שצוינה בתוך האינטראנט שמקושר לדומיין באמצעות SDC (שיצא משימוש) |
validateHttpsCertificates | Boolean | אם false , האחזור מתעלם מאישורים לא חוקיים כלשהם עבור בקשות HTTPS. ברירת המחדל היא true . |
followRedirects | Boolean | אם false , האחזור לא עוקב באופן אוטומטי אחר הפניות אוטומטיות ב-HTTP; הוא מחזיר את תגובת ה-HTTP המקורית. ברירת המחדל היא true . |
muteHttpExceptions | Boolean | אם true , האחזור לא מקפיץ חריגה אם קוד התגובה מצביע על כשל, ובמקום זאת מחזיר את הערך HTTPResponse . ברירת המחדל היא false . |
escaping | Boolean | אם המערכת לא תסמן בתו מילוט (escape) false תווים שמורים בכתובת ה-URL. ברירת המחדל היא true . |
החזרות
Object
- מפה של שם השדה לערך. המפה כוללת לפחות את המפתחות הבאים: url
,
method
, contentType
, payload
ו-headers
.
הרשאות
לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:
-
https://www.googleapis.com/auth/script.external_request