Ứng dụng web

Nếu xây dựng giao diện người dùng cho tập lệnh, bạn có thể xuất bản tập lệnh dưới dạng ứng dụng web. Ví dụ: một tập lệnh cho phép người dùng lên lịch cuộc hẹn với thành viên của nhóm hỗ trợ sẽ được trình bày dưới dạng một ứng dụng web để người dùng có thể truy cập trực tiếp từ trình duyệt của họ.

Cả tập lệnh độc lậptập lệnh liên kết với Google Workspace ứng dụng có thể chuyển thành ứng dụng web, miễn là chúng đáp ứng các yêu cầu bên dưới.

Yêu cầu đối với ứng dụng web

Tập lệnh có thể được xuất bản dưới dạng ứng dụng web nếu tập lệnh đó đáp ứng các yêu cầu sau:

Yêu cầu thông số

Khi người dùng truy cập vào một ứng dụng hoặc một chương trình, hãy gửi cho ứng dụng một yêu cầu HTTP GET, Apps Script chạy hàm doGet(e). Khi một chương trình gửi cho ứng dụng một HTTP POST, Apps Script chạy doPost(e). Trong cả hai trường hợp, e đại diện cho một thông số sự kiện có thể chứa thông tin về bất kỳ tham số yêu cầu. Cấu trúc của đối tượng sự kiện được trình bày trong bảng bên dưới:

Trường
e.queryString

Giá trị của phần chuỗi truy vấn của URL hoặc null nếu không có chuỗi truy vấn nào được chỉ định

name=alice&n=1&n=2
e.parameter

Đối tượng của các cặp khoá/giá trị tương ứng với tham số yêu cầu. Chỉ có giá trị đầu tiên được trả về cho các thông số có nhiều giá trị.

{"name": "alice", "n": "1"}
e.parameters

Một đối tượng tương tự như e.parameter, nhưng có một mảng giá trị cho mỗi khoá

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

Đường dẫn URL sau /exec hoặc /dev. Ví dụ: nếu đường dẫn URL kết thúc bằng /exec/hello, thì thông tin đường dẫn là hello.

e.contextPath Không được sử dụng, luôn là chuỗi trống.
e.contentLength

Độ dài của nội dung yêu cầu đối với các yêu cầu POST hoặc -1 đối với các yêu cầu GET

332
e.postData.length

Giống với e.contentLength

332
e.postData.type

Loại MIME của phần nội dung POST

text/csv
e.postData.contents

Văn bản nội dung của phần thân yêu cầu POST

Alice,21
e.postData.name

Luôn là giá trị "postData"

postData

Ví dụ: bạn có thể chuyển các tham số như usernameage vào một URL như sau:

https://script.google.com/.../exec?username=jsmith&age=21

Sau đó, bạn có thể hiển thị các tham số như sau:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

Trong ví dụ trên, doGet(e) trả về kết quả sau:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

Triển khai tập lệnh dưới dạng ứng dụng web

Để triển khai tập lệnh dưới dạng ứng dụng web, hãy làm theo các bước sau:

  1. Ở trên cùng bên phải của dự án tập lệnh, hãy nhấp vào Deploy (Triển khai) > Quá trình triển khai mới.
  2. Bên cạnh "Chọn loại", nhấp vào Bật loại triển khai > Ứng dụng web.
  3. Nhập thông tin về ứng dụng web của bạn vào các trường trong phần "Triển khai cấu hình".
  4. Nhấp vào Triển khai.

Bạn có thể chia sẻ URL ứng dụng web với những người bạn muốn sử dụng ứng dụng của mình, miễn là bạn đã cấp quyền truy cập cho họ.

Kiểm thử quá trình triển khai ứng dụng web

Để kiểm thử tập lệnh của bạn dưới dạng một ứng dụng web, hãy làm theo các bước bên dưới:

  1. Ở trên cùng bên phải của dự án tập lệnh, hãy nhấp vào Deploy > (Triển khai >) Thử nghiệm .
  2. Bên cạnh "Chọn loại", nhấp vào Bật loại triển khai > Ứng dụng web.
  3. Trong URL ứng dụng web, hãy nhấp vào Sao chép.
  4. Dán URL đó vào trình duyệt và kiểm tra ứng dụng web của bạn.

    URL này kết thúc bằng /dev và chỉ những người dùng có quyền chỉnh sửa mới truy cập được vào tập lệnh. Phiên bản này của ứng dụng luôn chạy phiên bản được lưu gần đây nhất mã và chỉ dành cho mục đích kiểm thử trong quá trình phát triển.

Quyền

Các quyền đối với một ứng dụng web sẽ khác nhau tuỳ thuộc vào cách bạn chọn thực thi ứng dụng:

  • Thực thi ứng dụng với tư cách tôi – Trong trường hợp này, tập lệnh luôn thực thi bạn, chủ sở hữu của tập lệnh, bất kể ai truy cập vào ứng dụng web.
  • Thực thi ứng dụng khi người dùng truy cập vào ứng dụng web—Trong trường hợp này, tập lệnh chạy theo danh tính của người dùng đang hoạt động bằng ứng dụng web. Quyền này khiến ứng dụng web hiển thị email của chủ sở hữu tập lệnh khi người dùng cho phép truy cập.

Nhúng ứng dụng web vào Google Sites

Để nhúng ứng dụng web trong Google Sites, trước tiên ứng dụng đó phải được triển khai. Bạn cũng cần URL đã triển khai từ hộp thoại Deploy.

Để nhúng một ứng dụng web vào Sites hãy làm theo các bước sau:

  1. Mở trang Sites mà bạn muốn thêm ứng dụng web.
  2. Chọn Insert > URL nhúng.
  3. Dán URL ứng dụng web rồi nhấp vào THÊM.

Ứng dụng web xuất hiện trong một khung trên bản xem trước của trang. Thời điểm xuất bản trang, người xem trang web của bạn có thể cần phải cho phép ứng dụng web trước khi thực thi bình thường. Các ứng dụng web trái phép đưa ra lời nhắc uỷ quyền để người dùng.

Ứng dụng web và nhật ký duyệt web

Bạn nên có một ứng dụng web Apps Script mô phỏng một chế độ cài đặt nhiều trang hoặc một ứng dụng có giao diện người dùng động được kiểm soát thông qua các tham số URL. Để làm tốt việc này, bạn có thể xác định đối tượng trạng thái để đại diện cho giao diện người dùng hoặc trang và đẩy trạng thái vào nhật ký duyệt web dưới dạng người dùng điều hướng trong ứng dụng của bạn. Bạn cũng có thể nghe các sự kiện trong lịch sử để ứng dụng hiển thị đúng giao diện người dùng khi người dùng di chuyển qua lại bằng các nút của trình duyệt. Bằng cách truy vấn các tham số URL tại thời điểm tải, bạn có thể ứng dụng xây dựng giao diện người dùng một cách linh động dựa trên các tham số đó, cho phép người dùng khởi động ứng dụng ở một trạng thái cụ thể.

Apps Script cung cấp 2 API JavaScript phía máy khách không đồng bộ để hỗ trợ về việc tạo ứng dụng web được liên kết với lịch sử trình duyệt:

  • google.script.history cung cấp các phương thức cho phép phản hồi động với các thay đổi về nhật ký duyệt web. Chiến dịch này bao gồm: đẩy trạng thái (Đối tượng đơn giản bạn có thể xác định) lên trình duyệt nhật ký, thay thế trạng thái trên cùng trong ngăn xếp nhật ký và thiết lập trình nghe để phản hồi các thay đổi trong nhật ký.

  • google.script.url cung cấp phương tiện để truy xuất tham số URL và phân đoạn URL của trang hiện tại, nếu chúng hiện diện.

Các API nhật ký này chỉ dành cho ứng dụng web. Không được hỗ trợ cho thanh bên, hộp thoại hoặc tiện ích bổ sung. Chức năng này cũng không được khuyến nghị để sử dụng trong ứng dụng web được nhúng trong Google Sites.