Thực thi các hàm Apps Script

API Apps Script (và trước đây là Apps Script Execution 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 tham số đầu vào 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 đạt được 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 về Thực thi hàm.

Trong những 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 bên dưới để tìm mã tập lệnh:

  1. Trong dự án Apps Script, ở trên cùng bên trái, hãy nhấp vào biểu tượng Cài đặt dự án .
  2. 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 hàm đó vào Ổ đĩa folderId 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 đượ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.

Dưới đây là giao thức yêu cầu. Hướng dẫn về Thực thi hàm cho biết cách triển khai một 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
        }]
      }]
    }
  }
}