Chạy một hàm trong dự án Apps Script. Bạn phải triển khai dự án tập lệnh để sử dụng với Apps Script API và ứng dụng gọi phải dùng chung dự án Cloud Platform.
Phương thức này yêu cầu uỷ quyền bằng mã thông báo OAuth 2.0 có chứa ít nhất một trong các phạm vi được liệt kê trong phần Uỷ quyền; không thể thực thi các dự án tập lệnh không yêu cầu uỷ quyền thông qua API này. Để tìm các phạm vi chính xác cần đưa vào mã thông báo xác thực, hãy mở trang Tổng quan của dự án tập lệnh rồi di chuyển xuống phần "Phạm vi OAuth của dự án".
Lỗi 403, PERMISSION_DENIED: The caller does not have permission cho biết dự án Cloud Platform dùng để uỷ quyền cho yêu cầu không giống với dự án mà tập lệnh sử dụng.
Yêu cầu HTTP
POST https://script.googleapis.com/v1/scripts/{deploymentId}:run
URL sử dụng cú pháp Chuyển mã gRPC.
Tham số đường dẫn
| Thông số | |
|---|---|
deploymentId | 
                
                   
 Mã hoạt động triển khai cho hoạt động triển khai API có thể thực thi. Tìm mã nhận dạng triển khai trong phần Triển khai > Quản lý việc triển khai trong trình chỉnh sửa tập lệnh.  | 
              
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:
| Biểu diễn dưới dạng JSON | 
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean }  | 
                
| Trường | |
|---|---|
function | 
                  
                     
 Tên của hàm cần thực thi trong tập lệnh đã cho. Tên không có dấu ngoặc đơn hoặc tham số. Bạn có thể tham chiếu một hàm trong thư viện đi kèm, chẳng hạn như   | 
                
parameters[] | 
                  
                     
 Các tham số sẽ được truyền đến hàm đang thực thi. Loại đối tượng cho mỗi tham số phải khớp với loại dự kiến trong Apps Script. Các tham số không thể là các loại đối tượng dành riêng cho Apps Script (chẳng hạn như   | 
                
sessionState | 
                  
                     
 Không dùng nữa. Chỉ dùng được với các tiện ích bổ sung Android. Mã nhận dạng đại diện cho phiên hiện tại của người dùng trong ứng dụng Google Tài liệu hoặc Trang tính dành cho Android, được đưa vào dưới dạng dữ liệu bổ sung trong Intent khởi chạy tiện ích bổ sung. Khi chạy một tiện ích bổ sung Android ở trạng thái phiên, tiện ích đó sẽ có được các đặc quyền của một tập lệnh được liên kết, tức là có thể truy cập vào thông tin như vị trí hiện tại của con trỏ (trong Tài liệu) hoặc ô được chọn (trong Trang tính) của người dùng. Để truy xuất trạng thái, hãy gọi   | 
                
devMode | 
                  
                     
 Nếu   | 
                
Nội dung phản hồi
Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:
Một biểu thị về quá trình thực thi một hàm Apps Script bắt đầu bằng run. Phản hồi thực thi sẽ không xuất hiện cho đến khi hàm hoàn tất quá trình thực thi. Thời gian chạy tối đa được liệt kê trong hướng dẫn về hạn mức của Apps Script. 
Sau khi bắt đầu thực thi, quá trình này có thể có một trong bốn kết quả sau:
-  Nếu hàm tập lệnh trả về thành công, trường 
responsesẽ chứa một đối tượngExecutionResponsecó giá trị trả về của hàm trong trườngresultcủa đối tượng. -  Nếu hàm tập lệnh (hoặc chính Apps Script) tạo ra một ngoại lệ, thì trường 
errorsẽ chứa một đối tượngStatus. Trườngdetailscủa đối tượngStatuschứa một mảng có một đối tượngExecutionErrorduy nhất cung cấp thông tin về bản chất của lỗi. -  Nếu quá trình thực thi chưa hoàn tất,  trường 
donesẽ làfalsevà không có trườngresponsecũng nhưerror. -  Nếu chính lệnh gọi 
runkhông thành công (ví dụ: do yêu cầu không đúng định dạng hoặc lỗi uỷ quyền), phương thức này sẽ trả về mã phản hồi HTTP trong dải 4XX với một định dạng khác cho nội dung phản hồi. Thư viện ứng dụng sẽ tự động chuyển đổi phản hồi 4XX thành một lớp ngoại lệ. 
| Biểu diễn dưới dạng JSON | 
|---|
{ "done": boolean, // Union field  | 
                  
| Trường | |
|---|---|
done | 
                    
                       
 Trường này cho biết liệu quá trình thực thi tập lệnh đã hoàn tất hay chưa. Một quá trình thực thi đã hoàn tất có trường   | 
                  
Trường nhóm result. Kết quả của thao tác, có thể là error hoặc response hợp lệ. Nếu done == false, thì error và response đều không được thiết lập. Nếu done == true, bạn chỉ có thể thiết lập một trong hai tham số error hoặc response. Có thể một số dịch vụ sẽ không cung cấp kết quả. result chỉ có thể là một trong những trạng thái sau: | 
                  |
error | 
                    
                       
 Nếu một lệnh gọi   | 
                  
response | 
                    
                       
 Nếu hàm tập lệnh trả về thành công, trường này sẽ chứa một đối tượng  Một đối tượng chứa các trường thuộc một loại tuỳ ý. Một trường bổ sung   | 
                  
Phạm vi cấp phép
Yêu cầu một trong các phạm vi OAuth sau:
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
Để biết thêm thông tin, hãy xem bài viết Tổng quan về OAuth 2.0.
Trạng thái
Nếu lệnh gọi run thành công nhưng hàm tập lệnh (hoặc chính Apps Script) gửi một trường hợp ngoại lệ, thì trường error của nội dung phản hồi sẽ chứa đối tượng Status này.
| Biểu diễn dưới dạng JSON | 
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] }  | 
              
| Trường | |
|---|---|
code | 
                
                   
 Mã trạng thái. Đối với API này, giá trị này có thể là: 
  | 
              
message | 
                
                   
 Thông báo lỗi dành cho nhà phát triển, bằng tiếng Anh. Mọi thông báo lỗi mà người dùng thấy đều được bản địa hoá và gửi trong trường   | 
              
details[] | 
                
                   
 Một mảng chứa một đối tượng  Một đối tượng chứa các trường thuộc một loại tuỳ ý. Một trường bổ sung   |