מפעיל פונקציה בפרויקט Apps Script. צריך לפרוס את פרויקט הסקריפט כדי להשתמש בו עם Apps Script API, ועל אפליקציית הקריאה להשתמש באותו פרויקט ב-Cloud Platform.
לשיטה הזו נדרשת הרשאה באמצעות אסימון OAuth 2.0 שכולל לפחות אחד מההיקפים המפורטים בקטע הרשאה. לא ניתן להפעיל פרויקטים של סקריפט שלא דורשים הרשאה באמצעות ה-API הזה. כדי למצוא את ההיקפים הנכונים שיש לכלול באסימון האימות, פותחים את הדף סקירה כללית של פרויקט הסקריפט וגוללים למטה אל 'היקפי OAuth של פרויקט'.
השגיאה 403, PERMISSION_DENIED: The caller does not have permission
מציינת שפרויקט Cloud Platform שמשמש לאישור הבקשה לא זהה לזה שבו משתמש הסקריפט.
בקשת HTTP
POST https://script.googleapis.com/v1/scripts/{scriptId}:run
בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.
פרמטרים של נתיב
פרמטרים | |
---|---|
scriptId |
מזהה הסקריפט של הסקריפט שצריך להפעיל. מאתרים את מזהה הסקריפט בדף הגדרות פרויקט בקטע 'מזהים'. |
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
שדות | |
---|---|
function |
שם הפונקציה שצריך לבצע בסקריפט הנתון. השם לא כולל סוגריים או פרמטרים. הוא יכול להפנות לפונקציה בספרייה כלולה, כמו |
parameters[] |
הפרמטרים שיועברו לפונקציה שמתבצעת. סוג האובייקט של כל פרמטר צריך להתאים לסוג הצפוי ב-Apps Script. פרמטרים לא יכולים להיות סוגי אובייקטים ספציפיים ל-Apps Script (כמו |
sessionState |
הוצא משימוש. לשימוש עם תוספים ל-Android בלבד. מזהה שמייצג את הסשן הנוכחי של המשתמש באפליקציה ל-Android ב-Google Docs או ב-Sheets, כלול כנתונים נוספים ב-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/feeds
https://apps-apis.google.com/a/feeds/alias/
https://apps-apis.google.com/a/feeds/groups/
https://mail.google.com/
https://sites.google.com/feeds
https://www.google.com/calendar/feeds
https://www.google.com/m8/feeds
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/documents.currentonly
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/dynamiccreatives
https://www.googleapis.com/auth/forms
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/groups
https://www.googleapis.com/auth/script.cpanel
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/script.storage
https://www.googleapis.com/auth/script.webapp.deploy
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/sqlservice
https://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[] |
מערך שמכיל אובייקט אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |