אם אתם בונים ממשק משתמש לסקריפט, תוכלו לפרסם אותו בדפדפן. לדוגמה, סקריפט שמאפשר למשתמשים לקבוע פגישות עם של חברים בצוות תמיכה יוצגו באופן הטוב ביותר כאפליקציית אינטרנט, שמשתמשים יכולים לגשת אליו ישירות מהדפדפנים שלהם.
גם סקריפטים עצמאיים וגם סקריפטים שמקושרים אל Google Workspace אפליקציות אפשר להפוך ל אפליקציות אינטרנט, כל עוד הן עומדות בדרישות המפורטות בהמשך.
דרישות לגבי אפליקציות אינטרנט
ניתן לפרסם סקריפט כאפליקציית אינטרנט אם הוא עומד בדרישות הבאות:
- היא מכילה פונקציית
doGet(e)
אוdoPost(e)
. - הפונקציה מחזירה שירות HTML.
אובייקט
HtmlOutput
או שירות תוכן אובייקטTextOutput
.
פרמטרים של בקשה
כשמשתמש מבקר באפליקציה או תוכנה שולחת לאפליקציה בקשת GET
HTTP,
Apps Script מריץ את הפונקציה doGet(e)
. כשתוכנה שולחת לאפליקציה הודעת HTTP
בבקשת POST
, Apps Script מריץ את doPost(e)
במקום זאת. בשני המקרים, e
מייצג פרמטר אירוע שיכול להכיל מידע על כל
של הבקשות. המבנה של אובייקט האירוע מוצג בטבלה
למטה:
שדות | |
---|---|
e.queryString |
הערך של החלק של מחרוזת השאילתה בכתובת ה-URL, או name=alice&n=1&n=2 |
e.parameter |
אובייקט של צמדי מפתח/ערך שתואמים לפרמטרים של הבקשה. רק עבור פרמטרים שיש להם כמה ערכים, מוחזר הערך הראשון. {"name": "alice", "n": "1"} |
e.parameters |
אובייקט שדומה ל- {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
נתיב כתובת ה-URL אחרי |
e.contextPath |
לא בשימוש, תמיד המחרוזת הריקה. |
e.contentLength |
אורך גוף הבקשה עבור בקשות POST, או 332 |
e.postData.length |
בדיוק כמו במלון 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
}
פריסת סקריפט כאפליקציית אינטרנט
כדי לפרוס סקריפט כאפליקציית אינטרנט, יש לבצע את השלבים הבאים:
- בפינה השמאלית העליונה של פרויקט הסקריפט, לוחצים על פריסה > פריסה חדשה.
- לצד 'בחירת סוג', לוחצים על 'הפעלת סוגי פריסה' > אפליקציית אינטרנט.
- מזינים את המידע על אפליקציית האינטרנט בשדות שבקטע 'פריסה' ."
- לוחצים על Deploy (פריסה).
אפשר לשתף את כתובת ה-URL של אפליקציית האינטרנט עם האנשים שרוצים להשתמש בה, בתנאי שהענקת להם גישה.
בדיקה של פריסה של אפליקציית אינטרנט
כדי לבדוק את הסקריפט כאפליקציית אינטרנט, פועלים לפי השלבים הבאים:
- בפינה הימנית העליונה של פרויקט הסקריפט, לוחצים על Deploy > (פריסה) > ניסוי .
- לצד 'בחירת סוג', לוחצים על 'הפעלת סוגי פריסה' > אפליקציית אינטרנט
- מתחת לכתובת ה-URL של אפליקציית האינטרנט, לוחצים על העתקה.
מדביקים את כתובת ה-URL בדפדפן ובודקים את אפליקציית האינטרנט.
כתובת ה-URL מסתיימת ב-
/dev
ורק משתמשים עם גישת עריכה יכולים לגשת אליה לסקריפט. במופע הזה של האפליקציה תמיד פועל הקובץ האחרון שנשמר והוא מיועד לבדיקה בלבד במהלך הפיתוח.
הרשאות
ההרשאות לאפליקציית אינטרנט משתנות בהתאם לאופן שבו בוחרים להפעיל האפליקציה:
- ביצוע האפליקציה בתור אני – במקרה הזה, הסקריפט תמיד יריץ בתור הבעלים של הסקריפט, לא משנה מי ניגש לאפליקציית האינטרנט.
- להפעיל את האפליקציה כמשתמש שניגש לאפליקציית האינטרנט – במקרה הזה, הסקריפט פועל עם הזהות של המשתמש הפעיל שמשתמש באפליקציית האינטרנט. ההרשאה הזו גישה גורמת לאפליקציית האינטרנט להציג את כתובת האימייל של בעלי הסקריפט מאשר גישה.
הטמעה של אפליקציית האינטרנט ב-Google Sites
כדי להטמיע אפליקציית אינטרנט ב-Google Sites, תחילה צריך
לפרוס. בנוסף,
צריך את הערך Deployed URL בתיבת הדו-שיח Deploy
.
כדי להטמיע אפליקציית אינטרנט בתוך Google Sites מבצעים את השלבים הבאים:
- פותחים את הדף 'אתרים' שבו רוצים להוסיף את אפליקציית האינטרנט.
- בוחרים באפשרות הוספה > הטמעת כתובת URL.
- מדביקים את כתובת ה-URL של אפליקציית האינטרנט ולוחצים על הוספה.
אפליקציית האינטרנט תופיע במסגרת בתצוגה המקדימה של הדף. כשמפרסמים של הדף, ייתכן שהצופים באתר יצטרכו לאשר את אפליקציית האינטרנט לפני כן פועל כרגיל. אפליקציות אינטרנט לא מורשות מציגות בקשות הרשאה ל למשתמש.
אפליקציות אינטרנט והיסטוריית הדפדפן
יכול להיות שאפליקציית אינטרנט של Apps Script תדמה ריבוי דפים. או ממשק משתמש דינמי הנשלט באמצעות פרמטרים של כתובות אתרים. כדי לעשות זאת היטב, אפשר להגדיר אובייקט מצב שמייצג את בממשק משתמש או בדף, ודחיפת את המצב להיסטוריית הדפדפן משתמש מנווט באפליקציה. תוכלו גם להאזין לאירועי היסטוריה כדי מציג את ממשק המשתמש הנכון כשהמשתמש מנווט קדימה ואחורה באמצעות לחצנים בדפדפן. שליחת שאילתה על הפרמטרים של כתובת האתר בזמן הטעינה תאפשר לך האפליקציה תבנה באופן דינמי את ממשק המשתמש שלה על סמך הפרמטרים האלה, וכך המשתמש יוכל הפעלת האפליקציה במצב מסוים.
Apps Script מספק שני ממשקי API אסינכרוניים של JavaScript בצד הלקוח כדי לסייע ביצירת אפליקציות אינטרנט שמקושרות להיסטוריית הדפדפן:
google.script.history
מספקת שיטות לאפשר תגובה דינמית לשינויים בהיסטוריית הדפדפן. הזה כולל: דחיפת מצבים (אובייקטים פשוטים שניתן להגדיר) לדפדפן של ההיסטוריה, החלפת המצב העליון במקבץ ההיסטוריה והגדרת האזנה פונקציית קריאה חוזרת כדי להגיב לשינויים בהיסטוריה.google.script.url
מספק הם יכולים לאחזר את הפרמטרים של כתובת האתר של הדף הנוכחי ואת המקטע של כתובת האתר, הם קיימים.
ממשקי ה-API האלה של ההיסטוריה זמינים רק לאפליקציות אינטרנט. אלו לא נתמך בסרגלי צד, בתיבות דו-שיח ובתוספים. הפונקציונליות הזו גם לא מומלץ לשימוש ב: אפליקציות אינטרנט שמוטמעות ב-Google Sites.