מריץ פונקציה בפרויקט של 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 |
מזהה הסקריפט של הסקריפט שיש להפעיל. מאתרים את מזהה הסקריפט בדף Project settings (הגדרות הפרויקט) בקטע ID (מזהים). |
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
שדות | |
---|---|
function |
שם הפונקציה שיש להפעיל בסקריפט הנתון. השם לא כולל סוגריים או פרמטרים. היא יכולה להפנות לפונקציה בספרייה כלולה, כמו |
parameters[] |
הפרמטרים שיש להעביר לפונקציה שמתקבלת. סוג האובייקט עבור כל פרמטר צריך להתאים לסוג הצפוי ב-Apps Script. פרמטרים אינם יכולים להיות סוגי אובייקטים ספציפיים ל-Apps Script (כמו |
sessionState |
הוצא משימוש. לשימוש עם תוספים ל-Android בלבד. מזהה שמייצג את הסשן הנוכחי של המשתמש באפליקציה ל-Android ב-Google Docs או ל-Sheets, והוא נכלל כנתונים נוספים ב-Intent שמפעיל את התוסף. כשתוסף Android מופעל עם מצב סשן, הוא מקבל את ההרשאות של סקריפט מסוג bound, כלומר, יש לו גישה למידע כמו מיקום הסמן הנוכחי של המשתמש (ב-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[] |
מערך שמכיל אובייקט אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |