Thao tác với tiện ích bổ sung

Thao tác bổ sung cung cấp hành vi tương tác cho tiện ích. Bằng cách tạo một hành động, bạn xác định những gì sẽ xảy ra khi người dùng chọn hoặc cập nhật một tiện ích.

Trong hầu hết các trường hợp, bạn có thể xác định các thao tác bổ sung bằng cách sử dụng đối tượng Action do Dịch vụ thẻ của Apps Script cung cấp. Mỗi Action được liên kết với một hàm gọi lại khi bạn tạo hàm đó. Bạn triển khai hàm gọi lại để thực hiện các bước mong muốn khi người dùng tương tác với tiện ích. Bạn cũng phải liên kết Action với tiện ích bằng cách sử dụng hàm xử lý tiện ích thích hợp. Hàm này xác định loại tương tác kích hoạt lệnh gọi lại Action.

Định cấu hình tiện ích bằng Action bằng quy trình chung sau:

  1. Tạo đối tượng Action, chỉ định hàm gọi lại mà đối tượng này sẽ thực thi cùng với mọi tham số mà đối tượng này yêu cầu.
  2. Gọi hàm xử lý tiện ích thích hợp trên tiện ích bằng cách sử dụng đối tượng Action.
  3. Triển khai hàm callback để thực hiện hành vi bắt buộc.

Hàm xử lý tiện ích

Để liên kết một tiện ích với một Action cụ thể hoặc hành vi khác, bạn sử dụng hàm trình xử lý tiện ích. Hàm xử lý xác định loại tương tác (ví dụ: nhấp vào tiện ích hoặc chỉnh sửa trường văn bản) sẽ kích hoạt hành vi hành động. Hàm xử lý cũng xác định các bước mà giao diện người dùng thực hiện (nếu có) sau khi hành động hoàn tất.

Bảng sau đây liệt kê các loại trình xử lý khác nhau cho tiện ích và các tiện ích mà chúng được sử dụng:

Hàm xử lý Kích hoạt hành động Các tiện ích có thể áp dụng Mô tả
setOnChangeAction() Giá trị tiện ích thay đổi DatePicker
DateTimePicker
SelectionInput
Switch
TextInput TimePicker
Đặt Action thực thi một hàm Apps Script khi tiện ích mất tiêu điểm, chẳng hạn như khi người dùng nhập văn bản vào một mục nhập và nhấn Enter. Trình xử lý sẽ tự động truyền một đối tượng sự kiện đến hàm mà trình xử lý gọi. Bạn có thể chèn thêm thông tin về thông số trong đối tượng sự kiện này nếu muốn.
setOnClickAction() Người dùng nhấp vào tiện ích CardAction
Image
ImageButton
DecoratedText
TextButton
Đặt Action thực thi một hàm Apps Script khi người dùng nhấp vào tiện ích. Trình xử lý sẽ tự động truyền một đối tượng sự kiện đến hàm mà trình xử lý gọi. Bạn có thể chèn thông tin tham số không bắt buộc vào đối tượng sự kiện này.
setComposeAction() Người dùng nhấp vào tiện ích CardAction
Image
ImageButton
DecoratedText
TextButton
Chỉ dành cho Gmail. Đặt một Action để tạo thư nháp, sau đó hiển thị thư nháp đó cho người dùng trong cửa sổ soạn thư của giao diện người dùng Gmail. Bạn có thể tạo thư nháp dưới dạng thư mới hoặc thư trả lời cho thư đang mở trong Gmail. Khi trình xử lý gọi hàm gọi lại tạo bản nháp, trình xử lý này sẽ truyền một đối tượng sự kiện đến hàm gọi lại. Hãy xem phần Soạn thư nháp để biết thêm thông tin chi tiết.
setOnClickOpenLinkAction() Người dùng nhấp vào tiện ích CardAction
Image
ImageButton
DecoratedText
TextButton
Đặt Action để mở một URL khi người dùng nhấp vào tiện ích. Sử dụng trình xử lý này khi bạn phải tạo URL hoặc các thao tác khác phải diễn ra trước khi đường liên kết mở ra; nếu không, bạn thường nên sử dụng setOpenLink(). Bạn chỉ có thể mở URL trong một cửa sổ mới. Khi đóng, bạn có thể khiến giao diện người dùng tải lại tiện ích bổ sung.
setOpenLink() Người dùng nhấp vào tiện ích CardAction
Image
ImageButton
DecoratedText
TextButton
Mở trực tiếp một URL khi người dùng nhấp vào tiện ích. Sử dụng trình xử lý này khi bạn biết URL và chỉ cần mở URL đó; nếu không, hãy sử dụng setOnClickOpenLinkAction(). Bạn có thể mở URL trong một cửa sổ mới hoặc trong một lớp phủ. Khi đóng, bạn có thể yêu cầu giao diện người dùng tải lại tiện ích bổ sung.
setSuggestionsAction() Người dùng nhập văn bản vào một mục nhập TextInput Đặt Action thực thi một hàm Apps Script khi người dùng nhập văn bản vào tiện ích nhập văn bản. Trình xử lý sẽ tự động truyền một đối tượng sự kiện đến hàm mà trình xử lý gọi. Hãy xem phần Đề xuất tự động hoàn thành cho dữ liệu nhập văn bản để biết thêm thông tin chi tiết.

Hàm gọi lại

Các hàm gọi lại sẽ thực thi khi Action kích hoạt. Vì hàm callback là hàm Apps Script, nên bạn có thể yêu cầu hàm này thực hiện hầu hết mọi việc mà hàm tập lệnh khác có thể làm.

Đôi khi, hàm gọi lại sẽ trả về một đối tượng phản hồi cụ thể. Các loại phản hồi này cho biết các thao tác bổ sung cần thực hiện sau khi lệnh gọi lại hoàn tất quá trình thực thi, chẳng hạn như hiển thị thẻ mới hoặc trình bày các đề xuất tự động hoàn thành. Khi hàm gọi lại phải trả về một đối tượng phản hồi cụ thể, bạn sẽ sử dụng một lớp trình tạo trong Dịch vụ thẻ để tạo đối tượng đó.

Bảng sau đây cho biết thời điểm hàm gọi lại phải trả về một đối tượng phản hồi cụ thể cho các hành động cụ thể. Tất cả các thao tác này đều độc lập với ứng dụng lưu trữ cụ thể mà tiện ích bổ sung đang mở rộng:

Đã thử thực hiện hành động Hàm gọi lại phải trả về
Di chuyển giữa các thẻ ActionResponse
Hiển thị Notification ActionResponse
Mở đường liên kết bằng setOnClickOpenLinkAction() ActionResponse
Hiện nội dung đề xuất tự động hoàn thành SuggestionResponse
Sử dụng thao tác chung UniversalActionResponse
Thao tác khác Nothing

Ngoài các thao tác này, mỗi ứng dụng lưu trữ đều có một bộ thao tác riêng mà bạn chỉ có thể thực hiện trong ứng dụng lưu trữ đó. Để biết thông tin chi tiết, hãy xem hướng dẫn sau:

Đối tượng sự kiện hành động

Khi tiện ích bổ sung của bạn kích hoạt Action, giao diện người dùng sẽ tự động tạo một đối tượng sự kiện JSON và truyền đối tượng đó dưới dạng đối số đến hàm gọi lại Action. Đối tượng sự kiện này chứa thông tin về bối cảnh phía máy khách hiện tại của người dùng, chẳng hạn như giá trị hiện tại của tất cả các tiện ích tương tác trong thẻ hiển thị.

Các đối tượng sự kiện hành động có cấu trúc JSON cụ thể giúp sắp xếp thông tin mà các đối tượng đó chứa. Cấu trúc tương tự được sử dụng khi điều kiện kích hoạt trang chủ kích hoạt để tạo trang chủ hoặc khi điều kiện kích hoạt theo ngữ cảnh kích hoạt để cập nhật màn hình tiện ích bổ sung.

Hãy xem phần Đối tượng sự kiện để biết nội dung giải thích đầy đủ về cấu trúc đối tượng sự kiện.