Google Apps Script:
שליחת בקשת HTTP

איך לעשות:

ב-Google Apps Script, הדרך העיקרית לשלוח בקשת HTTP היא באמצעות שימוש בשירות UrlFetchApp. שירות זה מספק שיטות לביצוע בקשות GET ו-POST ב-HTTP. הנה דוגמה פשוטה לביצוע בקשת GET כדי לאסוף נתוני JSON:

function fetchJsonData() {
  var url = 'https://api.example.com/data';
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  
  Logger.log(data);
}

עבור בקשת POST, שנעשית בדרך כלל כדי לשלוח נתונים לשרת, יש לכלול פרטים נוספים בפרמטר האפשרויות:

function postExample() {
  var url = 'https://api.example.com/post';
  var payload = {
    key1: 'value1',
    key2: 'value2'
  };
  
  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    // המרת אובייקט ה-JavaScript למחרוזת JSON
    'payload' : JSON.stringify(payload)
  };
  
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}

הדוגמאות הללו מראות ביצועים בסיסיים של בקשות GET ו-POST. התוצאה תלויה בתגובת ה-API וניתן לצפות בה דרך יומן של Google Apps Script.

צלילה עמוקה

שירות ה-UrlFetchApp של Google Apps Script התפתח מאוד מאז הוצג, ומציע שליטה מדויקת יותר על בקשות HTTP עם תכונות כמו הגדרת כותרות, payload, וטיפול ב-multipart/form-data להעלאת קבצים. למרות שהוא מספק אמצעי ישיר לשילוב שירותי רשת חיצוניים, מפתחים שמגיעים משפות צד שרת עשירות יותר עלולים למצוא את הפונקציונליות שלו מוגבלת בהשוואה לספריות כמו requests של Python או ה-API fetch של JavaScript ב-Node.js.

אחד המגבלות הבולטות הוא הגבלת זמן הביצוע עבור Google Apps Script, שמשפיעה על בקשות ארוכות מועד. נוסף על כך, למרות ש-UrlFetchApp מכסה טווח רחב של תרחישים, תרחישים מורכבים יותר הכוללים אימות OAuth או טיפול ב-payloads גדולים מאוד עשויים לדרוש פתרונות יצירתיים או שימוש במשאבי Google Cloud נוספים.

עם זאת, עבור רוב האינטגרציות שמפתחי Google Workspace נתקלים בהן – החל מאוטומטיזציה של איסוף נתונים ועד לפרסום עדכונים לשירותים חיצוניים – UrlFetchApp מספק כלי עוצמתי ונגיש. האינטגרציה שלו לתוך Google Apps Script מונעת צורך בספריות חיצוניות או התקנה מורכבת, הופכת את ביצוע בקשות HTTP לישירות יחסית תוך התמודדות עם המגבלות של Google Apps Script. ככל שנוף של API-ים ברשת ממשיך להתרחב, UrlFetchApp נשאר גשר קריטי עבור תכניות Google Apps Script לקיים אינטרקציה עם העולם מחוץ לאקוסיסטם של Google.