אפליקציות אינטרנט

אם אתם בונים ממשק משתמש לסקריפט, תוכלו לפרסם אותו בדפדפן. לדוגמה, סקריפט שמאפשר למשתמשים לקבוע פגישות עם של חברים בצוות תמיכה יוצגו באופן הטוב ביותר כאפליקציית אינטרנט, שמשתמשים יכולים לגשת אליו ישירות מהדפדפנים שלהם.

גם סקריפטים עצמאיים וגם סקריפטים שמקושרים אל Google Workspace אפליקציות אפשר להפוך ל אפליקציות אינטרנט, כל עוד הן עומדות בדרישות המפורטות בהמשך.

דרישות לגבי אפליקציות אינטרנט

ניתן לפרסם סקריפט כאפליקציית אינטרנט אם הוא עומד בדרישות הבאות:

פרמטרים של בקשה

כשמשתמש מבקר באפליקציה או תוכנה שולחת לאפליקציה בקשת GET HTTP, Apps Script מריץ את הפונקציה doGet(e). כשתוכנה שולחת לאפליקציה הודעת HTTP בבקשת POST, Apps Script מריץ את doPost(e) במקום זאת. בשני המקרים, e מייצג פרמטר אירוע שיכול להכיל מידע על כל של הבקשות. המבנה של אובייקט האירוע מוצג בטבלה למטה:

שדות
e.queryString

הערך של החלק של מחרוזת השאילתה בכתובת ה-URL, או null אם לא צוינה מחרוזת שאילתה.

name=alice&n=1&n=2
e.parameter

אובייקט של צמדי מפתח/ערך שתואמים לפרמטרים של הבקשה. רק עבור פרמטרים שיש להם כמה ערכים, מוחזר הערך הראשון.

{"name": "alice", "n": "1"}
e.parameters

אובייקט שדומה ל-e.parameter, אבל עם מערך ערכים לכל מפתח

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

נתיב כתובת ה-URL אחרי /exec או /dev. לדוגמה, אם נתיב כתובת ה-URL מסתיים ב-/exec/hello, פרטי הנתיב הם hello.

e.contextPath לא בשימוש, תמיד המחרוזת הריקה.
e.contentLength

אורך גוף הבקשה עבור בקשות POST, או -1 עבור בקשות GET

332
e.postData.length

בדיוק כמו במלון e.contentLength

332
e.postData.type

סוג MIME של גוף ה-POST

text/csv
e.postData.contents

הטקסט של התוכן בגוף ה-POST

Alice,21
e.postData.name

תמיד הערך "postData"

postData

לדוגמה, אפשר להעביר פרמטרים כמו username ו-age לכתובת URL כפי שמוצג בהמשך:

https://script.google.com/.../exec?username=jsmith&age=21

לאחר מכן תוכלו להציג את הפרמטרים כך:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

בדוגמה שלמעלה, הפונקציה doGet(e) מחזירה את הפלט הבא:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

פריסת סקריפט כאפליקציית אינטרנט

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

  1. בפינה השמאלית העליונה של פרויקט הסקריפט, לוחצים על פריסה > פריסה חדשה.
  2. לצד 'בחירת סוג', לוחצים על 'הפעלת סוגי פריסה' > אפליקציית אינטרנט.
  3. מזינים את המידע על אפליקציית האינטרנט בשדות שבקטע 'פריסה' ."
  4. לוחצים על Deploy (פריסה).

אפשר לשתף את כתובת ה-URL של אפליקציית האינטרנט עם האנשים שרוצים להשתמש בה, בתנאי שהענקת להם גישה.

בדיקה של פריסה של אפליקציית אינטרנט

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

  1. בפינה הימנית העליונה של פרויקט הסקריפט, לוחצים על Deploy > (פריסה) > ניסוי .
  2. לצד 'בחירת סוג', לוחצים על 'הפעלת סוגי פריסה' > אפליקציית אינטרנט
  3. מתחת לכתובת ה-URL של אפליקציית האינטרנט, לוחצים על העתקה.
  4. מדביקים את כתובת ה-URL בדפדפן ובודקים את אפליקציית האינטרנט.

    כתובת ה-URL מסתיימת ב-/dev ורק משתמשים עם גישת עריכה יכולים לגשת אליה לסקריפט. במופע הזה של האפליקציה תמיד פועל הקובץ האחרון שנשמר והוא מיועד לבדיקה בלבד במהלך הפיתוח.

הרשאות

ההרשאות לאפליקציית אינטרנט משתנות בהתאם לאופן שבו בוחרים להפעיל האפליקציה:

  • ביצוע האפליקציה בתור אני – במקרה הזה, הסקריפט תמיד יריץ בתור הבעלים של הסקריפט, לא משנה מי ניגש לאפליקציית האינטרנט.
  • להפעיל את האפליקציה כמשתמש שניגש אליה – במקרה הזה, הסקריפט פועל עם הזהות של המשתמש הפעיל שמשתמש באפליקציית האינטרנט. ההרשאה הזו גישה גורמת לאפליקציית האינטרנט להציג את כתובת האימייל של בעלי הסקריפט מאשרת גישה.

הטמעה של אפליקציית האינטרנט ב-Google Sites

כדי להטמיע אפליקציית אינטרנט ב-Google Sites, תחילה צריך לפרוס. בנוסף, צריך את הערך Deployed URL בתיבת הדו-שיח Deploy.

כדי להטמיע אפליקציית אינטרנט בתוך Google Sites מבצעים את השלבים הבאים:

  1. פותחים את הדף 'אתרים' שבו רוצים להוסיף את אפליקציית האינטרנט.
  2. בוחרים באפשרות הוספה > הטמעת כתובת URL.
  3. מדביקים את כתובת ה-URL של אפליקציית האינטרנט ולוחצים על הוספה.

אפליקציית האינטרנט תופיע במסגרת בתצוגה המקדימה של הדף. כשמפרסמים של הדף, ייתכן שהצופים באתר יצטרכו לאשר את אפליקציית האינטרנט לפני כן פועל כרגיל. אפליקציות אינטרנט לא מורשות מציגות בקשות הרשאה ל למשתמש.

אפליקציות אינטרנט והיסטוריית הדפדפן

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

Apps Script מספק שני ממשקי API אסינכרוניים של JavaScript בצד הלקוח כדי לסייע ביצירת אפליקציות אינטרנט שמקושרות להיסטוריית הדפדפן:

  • google.script.history מספקת שיטות לאפשר תגובה דינמית לשינויים בהיסטוריית הדפדפן. הזה כולל: דחיפת מצבים (אובייקטים פשוטים שניתן להגדיר) לדפדפן של ההיסטוריה, החלפת המצב העליון במקבץ ההיסטוריה והגדרת האזנה פונקציית קריאה חוזרת כדי להגיב לשינויים בהיסטוריה.

  • google.script.url מספק הם יכולים לאחזר את הפרמטרים של כתובת האתר של הדף הנוכחי ואת המקטע של כתובת האתר, הם קיימים.

ממשקי ה-API האלה של ההיסטוריה זמינים רק לאפליקציות אינטרנט. אלו לא נתמך בסרגלי צד, בתיבות דו-שיח ובתוספים. הפונקציונליות הזו גם לא מומלץ לשימוש ב: אפליקציות אינטרנט שמוטמעות ב-Google Sites.