גישה לטריגרים ולפרסום של סקריפטים, וניהול שלהם. הכיתה הזו מאפשרת למשתמשים ליצור טריגרים של סקריפטים ולשלוט בפרסום הסקריפט כשירות.
מאפיינים
נכס | סוג | תיאור |
---|---|---|
Auth | Auth | ספירה שמזהה את הקטגוריות של השירותים המורשים ש-Apps Script יכול להריץ באמצעות פונקציה מופעלת. |
Authorization | Authorization | ספירה שמציינת את סטטוס ההרשאה של סקריפט. |
Event | Event | ספירה שמציינת את סוג האירוע שהופעל. |
Installation | Installation | ספירה שמציינת איך הסקריפט הותקן אצל המשתמש בתור תוסף. |
Trigger | Trigger | ספירה שמציינת את המקור של האירוע שגורם להפעלת הטריגר. |
Week | Weekday | Enumeration שמייצג את ימי השבוע. |
Methods
שיטה | סוג הערך המוחזר | תיאור קצר |
---|---|---|
delete | void | הסרת הטריגר הנתון כדי שהוא לא יפעל יותר. |
get | Authorization | הפונקציה מקבלת אובייקט שמשמש לקביעת הצורך של המשתמש לאשר את הסקריפט הזה לשימוש בשירות אחד או יותר, ולמסירת כתובת ה-URL של תיבת הדו-שיח של ההרשאה. |
get | String | הפונקציה מקבלת אסימון זהות של Openopenid הוענק. |
get | Installation | הפונקציה מחזירה ערך enum שמציין איך הסקריפט הותקן כתוסף למשתמש הנוכחי (לדוגמה, אם המשתמש התקין אותו באופן אישי דרך חנות האינטרנט של Chrome, או אם אדמין דומיין התקין אותו לכל המשתמשים). |
get | String | הפונקציה מקבלת את אסימון הגישה מסוג OAuth 2.0 של המשתמש בפועל. |
get | Trigger[] | הפונקציה מקבלת את כל הגורמים המפעילים שניתן להתקין שמשויכים לפרויקט הנוכחי ולמשתמש הנוכחי. |
get | String | הפונקציה מקבלת את המזהה הייחודי של פרויקט הסקריפט. |
get | Service | הפונקציה מקבלת אובייקט שמשמש לבקרת פרסום הסקריפט כאפליקציית אינטרנט. |
get | Trigger[] | הפונקציה מקבלת את כל הטריגרים שניתן להתקין שבבעלות המשתמש הזה במסמך הנתון, עבור הסקריפט או התוסף האלה בלבד. |
get | Trigger[] | הפונקציה מקבלת את כל הטריגרים שניתן להתקין שבבעלות המשתמש הזה בטופס הנתון, עבור הסקריפט או התוסף האלה בלבד. |
get | Trigger[] | הפונקציה מקבלת את כל הטריגרים שניתן להתקין שבבעלות המשתמש הזה בגיליון האלקטרוני הנתון, עבור הסקריפט או התוסף האלה בלבד. |
invalidate | void | מבטלת את ההרשאה של המשתמש בפועל להריץ את הסקריפט הנוכחי. |
new | State | יצירת בונה לאסימון מצב שאפשר להשתמש בו ב-API של קריאה חוזרת (כמו תהליך OAuth). |
new | Trigger | התחלת התהליך של יצירת טריגר שניתן להתקנה, שמפעיל פונקציה נתונה כשהוא מופעל. |
מסמכים מפורטים
delete Trigger(trigger)
הסרת הטריגר הנתון כדי שהוא לא יפעל יותר.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
פרמטרים
שם | סוג | תיאור |
---|---|---|
trigger | Trigger | הגורם להפעלת המחיקה. |
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
הפונקציה מקבלת אובייקט שמשמש לקביעת הצורך של המשתמש לאשר את הסקריפט הזה לשימוש בשירות אחד או יותר, ולמסירת כתובת ה-URL של תיבת הדו-שיח של ההרשאה. אם הסקריפט יפורסם בתור תוסף שמשתמש בטריגרים שניתן להתקנה, אפשר להשתמש במידע הזה כדי לשלוט בגישה לקטעי קוד שהמשתמש לא קיבל את ההרשאה הנדרשת לגביהם. לחלופין, התוסף יכול לבקש מהמשתמש לפתוח את כתובת ה-URL של תיבת הדו-שיח של ההרשאה כדי לפתור את הבעיה.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
פרמטרים
שם | סוג | תיאור |
---|---|---|
auth | Auth | מצב ההרשאה שאליו מתייחסים פרטי ההרשאה המבוקשים. ברוב המקרים, הערך של auth צריך להיות Script , כי בשום מצב הרשאה אחר המשתמשים לא נדרשים להעניק הרשאה. |
חזרה
Authorization
– אובייקט שיכול לספק מידע על סטטוס ההרשאה של המשתמש
get Identity Token()
הפונקציה מקבלת אסימון זהות של Openopenid
הוענק. ההיקף הזה לא נכלל כברירת מחדל, וצריך להוסיף אותו כהיקף מפורש בקובץ המניפסט כדי לבקש אותו. כדי להחזיר באסימון מידע נוסף על המשתמש, צריך לכלול את ההיקפים https://www.googleapis.com/auth/userinfo.email
או https://www.googleapis.com/auth/userinfo.profile
.
אסימון המזהה המוחזר הוא אסימון אינטרנט מסוג JSON (JWT) מקודד, וצריך לבצע פענוח כדי לחלץ ממנו מידע. בדוגמאות הבאות מוסבר איך לפענח את האסימון ולחלץ את מזהה פרופיל Google של המשתמש בפועל.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
חזרה
String
– אסימון הזהות, אם הוא זמין. אחרת, null
.
get Installation Source()
הפונקציה מחזירה ערך enum שמציין איך הסקריפט הותקן כתוסף למשתמש הנוכחי (לדוגמה, אם המשתמש התקין אותו באופן אישי דרך חנות האינטרנט של Chrome, או אם אדמין דומיין התקין אותו לכל המשתמשים).
חזרה
Installation
– מקור ההתקנה.
get OAuth Token()
הפונקציה מקבלת את אסימון הגישה מסוג OAuth 2.0 של המשתמש בפועל. אם היקפי ההרשאות של OAuth בסקריפט מספיקים כדי להעניק הרשאה ל-Google API אחר שבדרך כלל נדרש תהליך OAuth משלו (כמו Google Picker), סקריפטים יכולים לעקוף את ההודעה השנייה לגבי הרשאה על ידי העברת הטוקן הזה במקום זאת. תוקף האסימון פג לאחר זמן מה (לפחות כמה דקות). סקריפטים צריכים לטפל בכשלים באישור ולהפעיל את השיטה הזו כדי לקבל אסימון חדש לפי הצורך.
האסימון שהשיטה הזו מחזירה כולל רק את ההיקפים הנחוצים כרגע לסקריפט. הרשאות שהתקבלו בעבר אבל הסקריפט כבר לא משתמש בהן לא נכללות באסימון המוחזר. אם יש צורך בהיקפי הרשאות נוספים של OAuth מעבר לאלה שנדרשים בסקריפט עצמו, אפשר לציין אותם בקובץ המניפסט של הסקריפט.
חזרה
String
– ייצוג מחרוזת של אסימון OAuth 2.0.
get Project Triggers()
הפונקציה מקבלת את כל הגורמים המפעילים שניתן להתקין שמשויכים לפרויקט הנוכחי ולמשתמש הנוכחי.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
חזרה
Trigger[]
– מערך של הגורמים המפעילים של המשתמש הנוכחי שמשויכים לפרויקט הזה.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
הפונקציה מקבלת את המזהה הייחודי של פרויקט הסקריפט. זוהי השיטה המועדפת לקבלת המזהה הייחודי של פרויקט הסקריפט, בניגוד ל-
. אפשר להשתמש במזהה הזה בכל המקומות שבהם מפתח הפרויקט סופק בעבר.get
חזרה
String
– המזהה של פרויקט הסקריפט.
get Service()
הפונקציה מקבלת אובייקט שמשמש לבקרת פרסום הסקריפט כאפליקציית אינטרנט.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
חזרה
Service
– אובייקט המשמש למעקב אחרי פרסום הסקריפט כאפליקציית אינטרנט ולשליטה בו.
get User Triggers(document)
הפונקציה מקבלת את כל הטריגרים שניתן להתקין שבבעלות המשתמש הזה במסמך הנתון, עבור הסקריפט או התוסף האלה בלבד. אי אפשר להשתמש בשיטה הזו כדי לראות את הטריגרים שמצורפים לסקריפטים אחרים.
const doc = DocumentApp.getActiveDocument(); const 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
get User Triggers(form)
הפונקציה מקבלת את כל הטריגרים שניתן להתקין שבבעלות המשתמש הזה בטופס הנתון, עבור הסקריפט או התוסף האלה בלבד. אי אפשר להשתמש בשיטה הזו כדי לראות את הטריגרים שמצורפים לסקריפטים אחרים.
const form = FormApp.getActiveForm(); const 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
get User Triggers(spreadsheet)
הפונקציה מקבלת את כל הטריגרים שניתן להתקין שבבעלות המשתמש הזה בגיליון האלקטרוני הנתון, עבור הסקריפט או התוסף האלה בלבד. אי אפשר להשתמש בשיטה הזו כדי לראות את הטריגרים שמצורפים לסקריפטים אחרים.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const 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
invalidate Auth()
מבטלת את ההרשאה של המשתמש בפועל להריץ את הסקריפט הנוכחי. משמש לביטול כל ההרשאות של הסקריפט הנוכחי. האפשרות הזו שימושית במיוחד לפונקציות שמתויגות כאישור לשימוש חד-פעמי. מאחר שאפשר להפעיל פונקציות של הרשאה לפעולה אחת רק בהפעלה הראשונה אחרי שהסקריפט קיבל הרשאה, אם רוצים לבצע פעולה לאחר מכן, צריך לבטל את כל ההרשאות שהסקריפט קיבל כדי שהמשתמש יוכל לראות שוב את תיבת הדו-שיח של ההרשאה.
ScriptApp .invalidateAuth();
זריקות
Error
– כשביטול התוקף נכשל
new State Token()
יצירת בונה לאסימון מצב שאפשר להשתמש בו ב-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. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
ברוב תהליכי OAuth2, האסימון state
מועבר ישירות לנקודת הקצה להרשאה (לא כחלק מכתובת ה-URL להודעת החזרה), ולאחר מכן נקודת הקצה להרשאה מעבירה אותו כחלק מכתובת ה-URL להודעת החזרה.
לדוגמה:
- הסקריפט מפנה את המשתמש לכתובת ה-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
, שמפעילה את השיטה שצוינה ב-State
.Token Builder.withMethod(method)
חזרה
State
– אובייקט המשמש להמשך תהליך היצירה של אסימון המצב.
new Trigger(functionName)
התחלת התהליך של יצירת טריגר שניתן להתקנה, שמפעיל פונקציה נתונה כשהוא מופעל.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
פרמטרים
שם | סוג | תיאור |
---|---|---|
function | String | הפונקציה שתופעל כשהטריגר יופעל. אפשר להשתמש בפונקציות מספריות כלולות, כמו Library.libFunction1 . |
חזרה
Trigger
– אובייקט שמשמש להמשך תהליך היצירה של הטריגר.
אישור
סקריפטים שמשתמשים בשיטה הזו דורשים הרשאה עם אחד או יותר מהיקפי הגישה הבאים:
-
https://www.googleapis.com/auth/script.scriptapp