מריץ פונקציה בפרויקט Apps Script. צריך לפרוס את פרויקט הסקריפט כדי להשתמש בו עם Apps Script API, והאפליקציה שמבצעת את הקריאה צריכה להיות באותו פרויקט Cloud Platform.
כדי להשתמש בשיטה הזו, צריך לקבל הרשאה באמצעות טוקן OAuth 2.0 שכולל לפחות אחת מההרשאות שמופיעות בקטע הרשאה. אי אפשר להפעיל דרך ה-API הזה פרויקטים של סקריפטים שלא דורשים הרשאה. כדי למצוא את ההיקפים הנכונים שצריך לכלול באסימון האימות, פותחים את הדף Overview של פרויקט הסקריפט וגוללים למטה אל Project OAuth Scopes (היקפי OAuth של הפרויקט).
השגיאה 403, PERMISSION_DENIED: The caller does not have permission מציינת שהפרויקט ב-Cloud Platform ששימש לאישור הבקשה הוא לא אותו פרויקט שבו נעשה שימוש בסקריפט.
בקשת HTTP
POST https://script.googleapis.com/v1/scripts/{deploymentId}:run
כתובת ה-URL כתובה בתחביר של gRPC Transcoding.
פרמטרים של נתיב
| פרמטרים | |
|---|---|
deploymentId |
מזהה הפריסה של פריסת ה-API הניתן להרצה. מזהים את מזהה הפריסה בקטע פריסה > ניהול פריסות בעורך הסקריפטים. |
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
| ייצוג ב-JSON |
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
| שדות | |
|---|---|
function |
השם של הפונקציה להפעלה בסקריפט הנתון. השם לא כולל סוגריים או פרמטרים. היא יכולה להפנות לפונקציה בספרייה כלולה, כמו |
parameters[] |
הפרמטרים שיועברו לפונקציה שמופעלת. סוג האובייקט של כל פרמטר צריך להיות זהה לסוג הצפוי ב-Apps Script. הפרמטרים לא יכולים להיות סוגי אובייקטים ספציפיים ל-Apps Script (כמו |
sessionState |
הוצא משימוש. לשימוש עם תוספים ל-Android בלבד. מזהה שמייצג את הסשן הנוכחי של המשתמש באפליקציית Google Docs או Sheets ל-Android, שכלול כנתונים נוספים ב-Intent שמפעיל את התוסף. כשמריצים תוסף ל-Android עם מצב סשן, הוא מקבל את ההרשאות של סקריפט מקשר – כלומר, הוא יכול לגשת למידע כמו מיקום הסמן הנוכחי של המשתמש (ב-Docs) או התא שנבחר (ב-Sheets). כדי לקבל את המצב, אפשר להתקשר אל |
devMode |
אם |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
ייצוג של ביצוע פונקציית Apps Script שהתחיל עם run. תגובת ההפעלה לא מגיעה עד שהפונקציה מסיימת את ההפעלה. זמן הריצה המקסימלי מפורט במדריך למכסות של Apps Script.
אחרי שההפעלה מתחילה, יכולות להיות לה ארבע תוצאות:
- אם פונקציית הסקריפט מחזירה ערך בהצלחה, השדה
responseמכיל אובייקטExecutionResponseעם ערך ההחזרה של הפונקציה בשדהresultשל האובייקט. - אם פונקציית הסקריפט (או Apps Script עצמו) מחזירה חריגה, השדה
errorמכיל אובייקטStatus. השדהdetailsשל האובייקטStatusמכיל מערך עם אובייקטExecutionErrorאחד שמספק מידע על אופי השגיאה. - אם ההרצה עדיין לא הסתיימה, השדה
doneהואfalseוהשדותresponseו-errorלא מוצגים. - אם הקריאה ל-
runעצמה נכשלת (לדוגמה, בגלל בקשה בפורמט שגוי או שגיאת הרשאה), השיטה מחזירה קוד תגובה של HTTP בטווח 4XX עם פורמט שונה לגוף התגובה. ספריות לקוח ממירות באופן אוטומטי תגובת 4XX למחלקת חריגים.
| ייצוג ב-JSON |
|---|
{ "done": boolean, // Union field |
| שדות | |
|---|---|
done |
השדה הזה מציין אם הרצת הסקריפט הסתיימה. בביצוע שהושלם, השדה |
שדה איחוד result. תוצאת הפעולה, שיכולה להיות error או response חוקי. אם done == false, אף אחד מהערכים error או response לא מוגדר. אם done == true, אפשר להגדיר בדיוק אחד מהערכים error או response. יכול להיות שחלק מהשירותים לא יספקו את התוצאה. הערך result יכול להיות רק אחד מהבאים: |
|
error |
אם קריאה ל- |
response |
אם פונקציית הסקריפט מחזירה ערך בהצלחה, השדה הזה מכיל אובייקט אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |
היקפי הרשאות
נדרש אחד מהיקפי ההרשאות הבאים של OAuth:
https://apps-apis.google.com/a/feedshttps://apps-apis.google.com/a/feeds/alias/https://apps-apis.google.com/a/feeds/groups/https://mail.google.com/https://sites.google.com/feedshttps://www.google.com/calendar/feedshttps://www.google.com/m8/feedshttps://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.userhttps://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/dynamiccreativeshttps://www.googleapis.com/auth/formshttps://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/groupshttps://www.googleapis.com/auth/script.cpanelhttps://www.googleapis.com/auth/script.external_requesthttps://www.googleapis.com/auth/script.scriptapphttps://www.googleapis.com/auth/script.send_mailhttps://www.googleapis.com/auth/script.storagehttps://www.googleapis.com/auth/script.webapp.deployhttps://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/spreadsheets.currentonlyhttps://www.googleapis.com/auth/sqlservicehttps://www.googleapis.com/auth/userinfo.email
מידע נוסף זמין במאמר סקירה כללית על OAuth 2.0.
סטטוס
אם קריאה ל-run מצליחה אבל פונקציית הסקריפט (או Apps Script עצמו) מחזירה חריגה, השדה error בגוף התגובה מכיל את האובייקט Status הזה.
| ייצוג ב-JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| שדות | |
|---|---|
code |
קוד הסטטוס. ב-API הזה, הערך הזה הוא:
|
message |
הודעת שגיאה שמוצגת למפתחים, באנגלית. כל הודעת שגיאה שמוצגת למשתמש עוברת לוקליזציה ונשלחת בשדה |
details[] |
מערך שמכיל אובייקט אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |