גישה לפרסום ולטריגרים של סקריפטים ולביצוע שינויים בהם. הכיתה הזו מאפשרת למשתמשים ליצור סקריפט מפעיל ומשפיע על הפרסום של הסקריפט כשירות.
מאפיינים
נכס | סוג | תיאור |
---|---|---|
AuthMode | AuthMode | ספירה שמזהה אילו קטגוריות של שירותים מורשים ב-Apps Script יכולה מופעל באמצעות פונקציה מופעלת. |
AuthorizationStatus | AuthorizationStatus | ספירה שמציינת את סטטוס ההרשאה של סקריפט. |
EventType | EventType | ספירה שמציינת את סוג האירוע שמופעל. |
InstallationSource | InstallationSource | ספירה שמציינת איך הסקריפט הותקן למשתמש כתוסף. |
TriggerSource | TriggerSource | ספירה שמציינת את המקור של האירוע שגורם לטריגר להפעיל. |
WeekDay | Weekday | ספירה שמייצגת את ימי השבוע. |
שיטות
שיטה | סוג הערך המוחזר | תיאור קצר |
---|---|---|
deleteTrigger(trigger) | void | מסיר את הטריגר הנתון כך שלא יפעל יותר. |
getAuthorizationInfo(authMode) | AuthorizationInfo | מקבל אובייקט שמשמש כדי לקבוע אם המשתמש צריך לאשר סקריפט זה כדי להשתמש בסקריפט אחד או ושירותים נוספים, ולספק את כתובת ה-URL של תיבת דו-שיח להרשאה. |
getIdentityToken() | String | מקבל אסימון זהות של OpenID Connect עבור
משתמש בפועל, אם ההיקף openid הוענק. |
getInstallationSource() | InstallationSource | מחזירה ערך enum שמציין איך הסקריפט הותקן כתוסף עבור המשתמש הנוכחי (לדוגמה, אם המשתמש התקין אותו באופן אישי דרך אתר האינטרנט של Chrome Google Store, או אם מנהל הדומיין התקין אותו לכל המשתמשים). |
getOAuthToken() | String | מקבל גישה מסוג OAuth 2.0 לאסימון למשתמש האפקטיבי. |
getProjectTriggers() | Trigger[] | קבלת כל הטריגרים שאפשר להתקין שמשויכים לפרויקט הנוכחי ולמשתמש הנוכחי. |
getScriptId() | String | מקבל את המזהה הייחודי של פרויקט הסקריפט. |
getService() | Service | קבלת אובייקט שמשמש לשליטה בפרסום הסקריפט כאפליקציית אינטרנט. |
getUserTriggers(document) | Trigger[] | מקבל במסמך הנתון את כל הטריגרים שניתנים להתקנה בבעלות המשתמש הזה, עבור הסקריפט הזה או תוספת בלבד. |
getUserTriggers(form) | Trigger[] | קבלת כל הטריגרים שניתנים להתקנה שבבעלות המשתמש הזה בטופס הנתון, עבור הסקריפט או התוסף הזה בלבד. |
getUserTriggers(spreadsheet) | Trigger[] | מקבל את כל הטריגרים שניתנים להתקנה שבבעלות המשתמש הזה בגיליון האלקטרוני הנתון, עבור הסקריפט הזה או תוספת בלבד. |
invalidateAuth() | void | מבטל את ההרשאה שיש למשתמש בפועל להפעיל את הסקריפט הנוכחי. |
newStateToken() | StateTokenBuilder | יוצרת כלי Builder לאסימון מצב שאפשר להשתמש בו ב-callback API (כמו תהליך OAuth). |
newTrigger(functionName) | TriggerBuilder | מתחיל את התהליך של יצירת טריגר שניתן להתקנה, שכאשר הוא מופעל, הוא קורא לפונקציה נתונה. |
מסמכי תיעוד מפורטים
deleteTrigger(trigger)
מסיר את הטריגר הנתון כך שלא יפעל יותר.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
פרמטרים
שם | סוג | תיאור |
---|---|---|
trigger | Trigger | הטריגר למחיקה. |
אישור
סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
מקבל אובייקט שמשמש כדי לקבוע אם המשתמש צריך לאשר סקריפט זה כדי להשתמש בסקריפט אחד או ושירותים נוספים, ולספק את כתובת ה-URL של תיבת דו-שיח להרשאה. אם הסקריפט פורסם בתור תוסף שמשתמש בטריגרים שניתנים להתקנה, המידע הזה יכול להיות משמשת לבקרה על הגישה לקטעי קוד שבהם אין למשתמש את אישור. לחלופין, התוסף יכול לבקש מהמשתמש לפתוח את כתובת ה-URL של ההרשאה כדי לפתור את הבעיה.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
פרמטרים
שם | סוג | תיאור |
---|---|---|
authMode | AuthMode | מצב ההרשאה שעבורו מבוקשים פרטי הרשאה; באזור
כמעט בכל המקרים, הערך של authMode אמור להיות ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) , כי אין מצב הרשאה אחר
דורשת מהמשתמשים להעניק הרשאה |
חזרה
AuthorizationInfo
– אובייקט שיכול לספק מידע על סטטוס ההרשאה של המשתמש
getIdentityToken()
מקבל אסימון זהות של OpenID Connect עבור
משתמש בפועל, אם ההיקף openid
הוענק. ההיקף הזה לא כלול
כברירת מחדל, וצריך להוסיף אותו כהיקף מפורש במניפסט.
כדי לבקש אותו. צריך לכלול את ההיקפים https://www.googleapis.com/auth/userinfo.email
או https://www.googleapis.com/auth/userinfo.profile
כדי להחזיר עוד
פרטי המשתמש באסימון.
האסימון המזהה המוחזר הוא אסימון אינטרנט מסוג JSON (JWT) מקודד צריך לפענח אותו כדי לחלץ ממנו מידע. בדוגמאות הבאות מראים איך מפענחים את הקוד את האסימון ומחלצים את מזהה פרופיל Google של המשתמש בפועל.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);לעיון ב-OpenID Connect עבור הרשימה המלאה של השדות (הצהרות) שהוחזרו.
חזרה
String
– אסימון הזהות (אם יש כזה), אחרת, null
.
getInstallationSource()
מחזירה ערך enum שמציין איך הסקריפט הותקן כתוסף עבור המשתמש הנוכחי (לדוגמה, אם המשתמש התקין אותו באופן אישי דרך אתר האינטרנט של Chrome Google Store, או אם מנהל הדומיין התקין אותו לכל המשתמשים).
חזרה
InstallationSource
– מקור ההתקנה.
getOAuthToken()
מקבל גישה מסוג OAuth 2.0 לאסימון למשתמש האפקטיבי. אם היקפי ההרשאות של OAuth של הסקריפט מספיקים כדי לתת הרשאה Google API אחר שלרוב דורש תהליך OAuth משלו (כמו Google Picker), סקריפטים יכולים לעקוף את בקשת הרשאה שנייה על ידי העברה של האסימון הזה במקום זאת. תוקף האסימון פג לאחר זמן מסוים ( כמה דקות לפחות). סקריפטים צריכים לטפל בכשלים בהרשאות ולקרוא לשיטה הזו לקבל אסימון חדש במקרה הצורך.
האסימון שמחזיר בשיטה הזו כולל רק היקפי הרשאות שדרושים לסקריפט כרגע. היקפי הרשאות שאושרו בעבר אבל כבר לא נמצאים בשימוש בסקריפט לא נכללים את האסימון שמוחזר. אם נדרשים היקפי הרשאות OAuth נוספים, מעבר לסקריפט עצמו דורשים אותן, אפשר לציין אותן קובץ מניפסט.
חזרה
String
– ייצוג במחרוזת של אסימון OAuth 2.0.
getProjectTriggers()
קבלת כל הטריגרים שאפשר להתקין שמשויכים לפרויקט הנוכחי ולמשתמש הנוכחי.
Logger.log('Current project has ' + ScriptApp.getProjectTriggers().length + ' triggers.');
חזרה
Trigger[]
– מערך של הטריגרים של המשתמש הנוכחי שמשויכים לפרויקט.
אישור
סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
getScriptId()
מקבל את המזהה הייחודי של פרויקט הסקריפט. זוהי השיטה המועדפת לקבלת המזהה הייחודי
לפרויקט הסקריפט, ולא ל-
. אפשר להשתמש בתעודה המזהה הזו בכל המקומות
שבו סופק מפתח הפרויקט קודם לכן.getProjectKey()
חזרה
String
– המזהה של פרויקט הסקריפט.
getService()
קבלת אובייקט שמשמש לשליטה בפרסום הסקריפט כאפליקציית אינטרנט.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
חזרה
Service
– אובייקט שמשמש לתצפית ולשליטה בפרסום הסקריפט כאפליקציית אינטרנט.
getUserTriggers(document)
מקבל במסמך הנתון את כל הטריגרים שניתנים להתקנה בבעלות המשתמש הזה, עבור הסקריפט הזה או תוספת בלבד. לא ניתן להשתמש בשיטה הזו כדי לראות את הטריגרים שמצורפים לסקריפטים אחרים.
var doc = DocumentApp.getActiveDocument(); var triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
פרמטרים
שם | סוג | תיאור |
---|---|---|
document | Document | קובץ Google Docs שעשוי להכיל טריגרים שאפשר להתקין. |
חזרה
Trigger[]
– מערך טריגרים שבבעלות המשתמש הזה במסמך הנתון.
אישור
סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
קבלת כל הטריגרים שניתנים להתקנה שבבעלות המשתמש הזה בטופס הנתון, עבור הסקריפט או התוסף הזה בלבד. לא ניתן להשתמש בשיטה הזו כדי לראות את הטריגרים שמצורפים לסקריפטים אחרים.
var form = FormApp.getActiveForm(); var triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
פרמטרים
שם | סוג | תיאור |
---|---|---|
form | Form | קובץ Google Forms שעשוי להכיל טריגרים שניתנים להתקנה. |
חזרה
Trigger[]
– מערך של טריגרים שבבעלות המשתמש הזה בטופס הנתון.
אישור
סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
מקבל את כל הטריגרים שניתנים להתקנה שבבעלות המשתמש הזה בגיליון האלקטרוני הנתון, עבור הסקריפט הזה או תוספת בלבד. לא ניתן להשתמש בשיטה הזו כדי לראות את הטריגרים שמצורפים לסקריפטים אחרים.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
פרמטרים
שם | סוג | תיאור |
---|---|---|
spreadsheet | Spreadsheet | קובץ Google Sheets שעשוי להכיל טריגרים שניתנים להתקנה. |
חזרה
Trigger[]
– מערך טריגרים בבעלות המשתמש בגיליון האלקטרוני הנתון.
אישור
סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
מבטל את ההרשאה שיש למשתמש בפועל להפעיל את הסקריפט הנוכחי. רגיל ל- לבטל את כל ההרשאות לסקריפט הנוכחי. האפשרות הזאת שימושית במיוחד לפונקציות מתויגת כהרשאה חד-פעמית. מכיוון שאפשר לקרוא לפונקציות הרשאה באמצעות דוגמה אחת להרצה הראשונה לאחר שהסקריפט קיבל הרשאה, אם ברצונך לבצע פעולה לאחר מכן, עליכם לבטל כל הרשאה שיש לסקריפט, כדי שהמשתמש יוכל לראות בתיבת הדו-שיח למתן הרשאה.
ScriptApp.invalidateAuth();
קליעות
Error
– אם ביטול התוקף נכשל
newStateToken()
יוצרת כלי Builder לאסימון מצב שאפשר להשתמש בו ב-callback API (כמו תהליך OAuth).
// Generate a callback URL, given the name of a callback function. The script does not need to // be published as a web app; the /usercallback URL suffix replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the /edit at the end. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
ברוב תהליכי OAuth2, האסימון state
מועבר לנקודת הקצה של ההרשאה
ישירות (לא כחלק מכתובת ה-URL לקריאה חוזרת), ונקודת הקצה של ההרשאה מעבירה אותה
חלק מכתובת ה-URL לקריאה חוזרת (callback).
לדוגמה:
- הסקריפט מפנה את המשתמש לכתובת URL לאישור OAuth2:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- המשתמש לוחץ על הרשאה ודף ההרשאה של OAuth2 מפנה את המשתמש חזרה אל
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- ההפניה האוטומטית שלמעלה (חזרה אל
http://script.google.com/...
), גורמת לדפדפן בקשה ל-/usercallback
, שמפעילה את השיטה שצוינה ב-StateTokenBuilder.withMethod(method)
.
חזרה
StateTokenBuilder
– אובייקט שמשמש להמשך תהליך בניית אסימוני המצב.
newTrigger(functionName)
מתחיל את התהליך של יצירת טריגר שניתן להתקנה, שכאשר הוא מופעל, הוא קורא לפונקציה נתונה.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
פרמטרים
שם | סוג | תיאור |
---|---|---|
functionName | String | הפונקציה שאליה צריך להפעיל כשהטריגר מופעל. אפשר להשתמש בפונקציות מ:
של ספריות כמו Library.libFunction1 . |
חזרה
TriggerBuilder
– אובייקט שמשמש להמשך תהליך בניית הטריגרים.
אישור
סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:
-
https://www.googleapis.com/auth/script.scriptapp