เรียกใช้ฟังก์ชันในโปรเจ็กต์ Apps Script ต้องทำให้โครงการสคริปต์ใช้งานได้กับ Apps Script API และแอปพลิเคชันการเรียกใช้ต้องแชร์โครงการ Cloud Platform เดียวกัน
วิธีนี้ต้องมีการให้สิทธิ์ด้วยโทเค็น OAuth 2.0 ที่มีขอบเขตอย่างน้อย 1 ขอบเขตที่ระบุในส่วนการให้สิทธิ์ โปรเจ็กต์สคริปต์ที่ไม่จำเป็นต้องมีการให้สิทธิ์จะไม่สามารถดำเนินการผ่าน 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 เอกสารหรือชีต โดยรวมเป็นข้อมูลเพิ่มเติมใน Intent ที่เปิดตัวส่วนเสริม เมื่อส่วนเสริม Android ทำงานโดยมีสถานะเซสชัน ส่วนเสริมจะได้รับสิทธิ์ของสคริปต์ขอบเขต กล่าวคือ ส่วนเสริมจะเข้าถึงข้อมูล เช่น ตำแหน่งเคอร์เซอร์ปัจจุบันของผู้ใช้ (ในเอกสาร) หรือเซลล์ที่เลือก (ในชีต) ได้ หากต้องการดึงข้อมูลรัฐ โปรดโทรติดต่อ   | 
                
devMode | 
                  
                     
 หาก   | 
                
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดงการเรียกใช้ฟังก์ชัน Apps Script ที่เริ่มต้นด้วย run การตอบสนองของการเรียกใช้จะไม่มาถึงจนกว่าฟังก์ชันจะทำงานเสร็จสิ้น ดูรันไทม์ของการดำเนินการสูงสุดได้ในคู่มือโควต้า Apps Script 
หลังจากการดำเนินการเริ่มต้นขึ้น อาจมีผลลัพธ์ 1 ใน 4 รายการดังนี้
-  หากฟังก์ชันสคริปต์แสดงผลสำเร็จ ช่อง 
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 ได้ 1 รายการ บริการบางอย่างอาจแสดงผลลัพธ์ไม่ได้ 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[] | 
                
                   
 อาร์เรย์ที่มีออบเจ็กต์  ออบเจ็กต์ที่มีช่องประเภทที่กำหนดเอง ช่องเพิ่มเติม   |