Google Apps Script API 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 phản hồi.
Các ví dụ trên trang này minh hoạ cách bạn có thể thực hiện các 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ã tập lệnh:
- 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 sẽ gọi một hàm Apps Script có tên là listFolderContent, truyền cho hàm này folderId trên Google Drive và một số nguyên MAX_SIZE làm đối số. Hàm đượ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 các 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 một 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 }] }] } } }