Class UrlFetchApp

UrlFetchApp

מאחזרים משאבים ויוצרים קשר עם מארחים אחרים באינטרנט.

השירות הזה מאפשר לסקריפטים לתקשר עם אפליקציות אחרות או לגשת למשאבים אחרים באינטרנט על ידי אחזור כתובות 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());

פרמטרים

שםתיאורהתיאור
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המטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מתפרש כמפה של שמות שדות הטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או blobs.
useIntranetBooleanהוּצא משימוש. הפעולה הזו מורה לאחזור לטפל בכתובת ה-URL שצוינה בתוך האינטראנט שמקושר לדומיין באמצעות SDC (שיצא משימוש)
validateHttpsCertificatesBooleanאם false, האחזור מתעלם מאישורים לא חוקיים כלשהם עבור בקשות HTTPS. ברירת המחדל היא true.
followRedirectsBooleanאם false, האחזור לא עוקב באופן אוטומטי אחר הפניות אוטומטיות ב-HTTP; הוא מחזיר את תגובת ה-HTTP המקורית. ברירת המחדל היא true.
muteHttpExceptionsBooleanאם true, האחזור לא מקפיץ חריגה אם קוד התגובה מצביע על כשל, ובמקום זאת מחזיר את הערך HTTPResponse. ברירת המחדל היא false.
escapingBooleanאם 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]);

פרמטרים

שםתיאורהתיאור
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המטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מתפרש כמפה של שמות שדות הטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או blobs.
useIntranetBooleanהוּצא משימוש. הפעולה הזו מורה לאחזור לטפל בכתובת ה-URL שצוינה בתוך האינטראנט שמקושר לדומיין באמצעות SDC (שיצא משימוש)
validateHttpsCertificatesBooleanאם false, האחזור מתעלם מאישורים לא חוקיים כלשהם עבור בקשות HTTPS. ברירת המחדל היא true.
followRedirectsBooleanאם false, האחזור לא עוקב באופן אוטומטי אחר הפניות אוטומטיות ב-HTTP; הוא מחזיר את תגובת ה-HTTP המקורית. ברירת המחדל היא true.
muteHttpExceptionsBooleanאם true, האחזור לא משמיע חריגה אם קוד התגובה מציין כשל, ובמקום זאת מחזיר את התג HTTPResponse. ברירת המחדל היא false.
escapingBooleanאם מזינים 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]);
}

פרמטרים

שםתיאורהתיאור
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המטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מתפרש כמפה של שמות שדות הטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או blobs.
useIntranetBooleanהוּצא משימוש. הפעולה הזו מורה לאחזור לטפל בכתובת ה-URL שצוינה בתוך האינטראנט שמקושר לדומיין באמצעות SDC (שיצא משימוש)
validateHttpsCertificatesBooleanאם false, האחזור מתעלם מאישורים לא חוקיים כלשהם עבור בקשות HTTPS. ברירת המחדל היא true.
followRedirectsBooleanאם false, האחזור לא עוקב באופן אוטומטי אחר הפניות אוטומטיות ב-HTTP; הוא מחזיר את תגובת ה-HTTP המקורית. ברירת המחדל היא true.
muteHttpExceptionsBooleanאם true, האחזור לא מקפיץ חריגה אם קוד התגובה מצביע על כשל, ובמקום זאת מחזיר את הערך HTTPResponse. ברירת המחדל היא false.
escapingBooleanאם המערכת לא תסמן בתו מילוט (escape) false תווים שמורים בכתובת ה-URL. ברירת המחדל היא true.

החזרות

Object - מפה של שם השדה לערך. המפה כוללת לפחות את המפתחות הבאים: url, method, contentType, payload ו-headers.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

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