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 (nếu cần) và nhận được phản hồi 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í mà 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ã kịch bản:
- Trong dự án Apps Script, ở trên cùng bên trái, hãy nhấp vào 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 là listFolderContent
, truyền vào đó folderId của Drive và một số nguyên MAX_SIZE
làm đối số. Hàm này được thực thi ở chế độ phát triển, tức là phiên bản được 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 trình bày bên dưới. Hướng dẫn Thực thi các 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 Google API.
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) chứa kết quả của quá trình 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ể trô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 }] }] } } }