Quản lý dự án

API Apps Script cho phép bạn tạo và sửa đổi các dự án Apps Script từ ứng dụng của mình. Các ví dụ trên trang này minh hoạ cách thực hiện một số thao tác quản lý dự án phổ biến bằng API.

LƯU Ý: Bạn phải bật API Apps Script trước khi sử dụng.

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:

  1. 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) .
  2. Bên cạnh "Mã tập lệnh", hãy nhấp vào Sao chép.

Tạo dự án Apps Script mới

Yêu cầu projects.create sau đây sẽ tạo một tập lệnh độc lập mới.

POST https://scriptmanagement.googleapis.com/v1/projects/
{
  "title": "My Script"
}

Truy xuất siêu dữ liệu dự án

Yêu cầu projects.get sau đây sẽ lấy siêu dữ liệu của dự án.

GET https://scriptmanagement.googleapis.com/v1/projects/scriptId

Phản hồi bao gồm một đối tượng như sau:

{
  "scriptId": "scriptId",
  "title": "My Title",
  "parentId": "parentId",
  "createTime": "2017-10-02T15:01:23.045123456Z",
  "updateTime": "2017-10-02T15:01:23.045123456Z",
  "creator": { "name": "Grant" },
  "lastModifyUser": { "name": "Grant" },
}

Truy xuất tệp dự án

Yêu cầu projects.getContent sau đây sẽ lấy nội dung của dự án tập lệnh, bao gồm cả nguồn mã và siêu dữ liệu cho mỗi tệp tập lệnh.

GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content

Phản hồi bao gồm một đối tượng Content (Nội dung) như sau:

{
  "scriptId": "scriptId",
  "files": [{
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z",
    "functionSet": {
      "values": [
        "name": "helloWorld"
      ]
    }
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}

Cập nhật tệp dự án

Yêu cầu projects.updateContent sau đây sẽ cập nhật nội dung của dự án tập lệnh được chỉ định. Nội dung này được lưu trữ dưới dạng phiên bản HEAD và được dùng khi tập lệnh được thực thi dưới dạng dự án có thể thực thi API.

PUT https://scriptmanagement.googleapis.com/v1/projects/scriptID/content
{
  "files": [{
    "name": "index",
    "type": "HTML",
    "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>"
  }, {
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}

Phản hồi bao gồm một đối tượng Content (Nội dung) như sau:

{
  "scriptId": "scriptId",
  "files": [{
    "name": "index",
    "type": "HTML",
    "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }, {
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z",
    "functionSet": {
      "values": [
        "name": "helloWorld"
      ]
    }
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}