API Apps Script (trước đây là API Thực thi Apps Script) cho phép bạn thực thi từ xa một hàm trong dự án tập lệnh mà bạn có quyền truy cập. Ứng dụng của bạn có thể gọi một hàm Apps Script nhất định, cung cấp các tham số đầu vào cho hàm đó nếu cần và nhận phản hồi được trả về.
Các ví dụ trên trang này minh hoạ cách thực hiện một số thao tác thực thi phổ biến bằng API. Để biết thêm thông tin bao gồm cả các yêu cầu đặc biệt về việc uỷ quyền, hãy xem hướng dẫn Thực thi một hàm.
Trong các ví dụ này, phần giữ chỗ scriptId được dùng để cho biết vị trí bạn sẽ cung cấp mã dự án tập lệnh. Hãy làm theo các bước dưới đây để tìm mã tập lệnh:
- Trong dự án Apps Script, ở trên cùng bên trái, hãy nhấp vào biểu tượng Project Settings (Cài đặt dự án) .
- Bên cạnh "Mã tập lệnh", hãy nhấp vào Sao chép.
Thực thi chức năng
Yêu cầu scripts.run sau đây gọi một hàm Apps Script có tên listFolderContent
, truyền vào đó folderId của Drive và một số nguyên MAX_SIZE
làm đối số. Hàm được thực thi ở chế độ phát triển, nghĩa là phiên bản lưu gần đây nhất của hàm sẽ được thực thi, bất kể phiên bản nào được triển khai dưới dạng tệp thực thi.
Giao thức yêu cầu được hiển thị bên dưới. Hướng dẫn Thực thi hàm cho biết cách triển khai yêu cầu chạy bằng nhiều ngôn ngữ bằng cách sử dụng thư viện ứng dụng API của Google.
POST https://script.googleapis.com/v1/scripts/scriptId :run
{ "function": "listFolderContent", "parameters": [folderId , MAX_SIZE ], "devMode": true }
Phản hồi cho yêu cầu này, sau khi hàm Apps Script được gọi hoàn tất, sẽ chứa kết quả thực thi hoặc phản hồi lỗi. Trong ví dụ này, hàm trả về thành công một mảng tên tệp:
{ "response": { "result": [ "fileTitle1", "fileTitle2", "fileTitle3" ] }, }
Nếu hàm gặp lỗi trong quá trình thực thi Apps Script, thì phản hồi có thể có dạng như sau:
{ "response": { "error": { "code": 3, "message": "ScriptError", "details": [{ "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError", "errorMessage": "The script enountered an exeception it could not resolve.", "errorType": "ScriptError", "scriptStackTraceElements": [{ "function": "listFolderContent", "lineNumber": 14 }] }] } } }