Class UrlFetchApp

UrlFetchApp

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

השירות הזה מאפשר לסקריפטים לתקשר עם אפליקציות אחרות או לגשת למשאבים אחרים באינטרנט באמצעות אחזור כתובות URL. סקריפט יכול להשתמש בשירות אחזור של כתובות אתרים כדי לשלוח בקשות HTTP ו-HTTPS ולקבל תשובות. שירות אחזור של כתובות אתרים משתמש בתשתית הרשת של Google למטרות יעילות והתאמה לעומס.

בקשות שנשלחות באמצעות השירות הזה מגיעות ממאגר של טווחי כתובות IP. אם אתם צריכים להוסיף את הבקשות האלה לרשימת ההיתרים או לאשר אותן, אתם יכולים לעיין ברשימה המלאה של כתובות ה-IP.

השירות הזה דורש את היקף ההרשאות https://www.googleapis.com/auth/script.external_request. ברוב המקרים, Apps Script מזהה באופן אוטומטי את ההיקפים שנדרשים לסקריפט וכולל אותם, אבל אם מגדירים את ההיקפים באופן מפורש, צריך להוסיף את ההיקף הזה באופן ידני כדי להשתמש ב-UrlFetchApp.

ראה גם

Methods

שיטהסוג הערך שמוחזרתיאור קצר
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.
const 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.
const response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
// Make a POST request with form data.
const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
const 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')
const options = {
  method: 'post',
  payload: formData,
};
UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload.
const data = {
  name: 'Bob Smith',
  age: 35,
  pets: ['fido', 'fluffy'],
};
const 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מפה של כותרות HTTP עם מפתח/ערך ב-JavaScript עבור הבקשה
methodStringה-method של בקשת ה-HTTP: ‏ get,‏ delete,‏ patch,‏ post או put. ערך ברירת המחדל הוא get.
payloadStringהמטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מפורש כמפה של שמות שדות בטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או אובייקטים מסוג Blob.
useIntranetBooleanהוצא משימוש. הפקודה הזו מורה לפונקציה fetch לפתור את כתובת ה-URL שצוינה באינטראנט שמקושר לדומיין שלכם באמצעות (הוצא משימוש) SDC
validateHttpsCertificatesBooleanאם false הפעולה fetch מתעלמת מאישורים לא תקפים לבקשות 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)

שולחת כמה בקשות לאחזור של כמה כתובות URL באמצעות פרמטרים מתקדמים אופציונליים.

ההפניה האוטומטית תפעל גם בבקשות HTTP וגם בבקשות HTTPS.

// Make both a POST request with form data, and a GET request.
const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt');
const 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')
const request1 = {
  url: 'https://httpbin.org/post',
  method: 'post',
  payload: formData,
};
// A request may also just be a URL.
const 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מפה של כותרות HTTP עם מפתח/ערך ב-JavaScript עבור הבקשה
methodStringה-method של בקשת ה-HTTP: ‏ get,‏ delete,‏ patch,‏ post או put. ערך ברירת המחדל הוא get.
payloadStringהמטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מפורש כמפה של שמות שדות בטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או אובייקטים מסוג Blob.
useIntranetBooleanהוצא משימוש. הפקודה הזו מורה לפונקציה fetch לפתור את כתובת ה-URL שצוינה באינטראנט שמקושר לדומיין שלכם באמצעות (הוצא משימוש) SDC
validateHttpsCertificatesBooleanאם false הפעולה fetch מתעלמת מאישורים לא תקפים לבקשות 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

getRequest(url)

מחזירה את הבקשה שנוצרה אם הפעולה הופעלה.

השיטה הזו לא באמת מנפיקה את הבקשה.

// The code below logs the value for every key of the returned map.
const response = UrlFetchApp.getRequest('http://www.google.com/');
for (const 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מפה של כותרות HTTP עם מפתח/ערך ב-JavaScript עבור הבקשה
methodStringה-method של בקשת ה-HTTP: ‏ get,‏ delete,‏ patch,‏ post או put. ערך ברירת המחדל הוא get.
payloadStringהמטען הייעודי (payload) (כלומר, גוף ה-POST) של הבקשה. שיטות HTTP מסוימות (לדוגמה, GET) לא מקבלות מטען ייעודי (payload). הערך יכול להיות מחרוזת, מערך בייטים, blob או אובייקט JavaScript. אובייקט JavaScript מפורש כמפה של שמות שדות בטופס לערכים, כאשר הערכים יכולים להיות מחרוזות או אובייקטים מסוג Blob.
useIntranetBooleanהוצא משימוש. הפקודה הזו מורה לפונקציה fetch לפתור את כתובת ה-URL שצוינה באינטראנט שמקושר לדומיין שלכם באמצעות (הוצא משימוש) SDC
validateHttpsCertificatesBooleanאם false הפעולה fetch מתעלמת מאישורים לא תקפים לבקשות 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