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[]שולחת בקשות מרובות לאחזור כתובות 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ה-method של ה-HTTP בבקשה: get, delete, patch, post או put. ערך ברירת המחדל הוא get.
payloadStringהמטען הייעודי (Payload) (כלומר גוף ה-POST) של הבקשה. מסוימת methods של 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 אינם לבצע בריחה. ערך ברירת המחדל הוא 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ה-method של ה-HTTP בבקשה: get, delete, patch, post או put. ערך ברירת המחדל הוא get.
payloadStringהמטען הייעודי (Payload) (כלומר גוף ה-POST) של הבקשה. מסוימת methods של 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 אינם לבצע בריחה. ערך ברירת המחדל הוא 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ה-method של ה-HTTP בבקשה: get, delete, patch, post או put. ערך ברירת המחדל הוא get.
payloadStringהמטען הייעודי (Payload) (כלומר גוף ה-POST) של הבקשה. מסוימת methods של 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 לא לבצע בריחה. ערך ברירת המחדל הוא true.

חזרה

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

אישור

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

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