Một thao tác cho phép tương tác trong các phần tử trên giao diện người dùng. Thao tác này không diễn ra trực tiếp trên ứng dụng mà sẽ gọi một hàm callback Apps Script với các tham số không bắt buộc.
Dành cho tiện ích bổ sung của Google Workspace và ứng dụng Google Chat.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
Phương thức
| Phương thức | Kiểu dữ liệu trả về | Mô tả ngắn |
|---|---|---|
add | Action | Thêm tên của những tiện ích mà Thao tác này cần để gửi hợp lệ. |
set | Action | Cho biết liệu Thao tác này có yêu cầu dữ liệu đầu vào từ tất cả các tiện ích hay không. |
set | Action | Đặt tên cho hàm callback sẽ được gọi. |
set | Action | Đặt hoạt động tương tác với người dùng, chỉ bắt buộc khi mở hộp thoại. |
set | Action | Đặt chỉ báo tải sẽ hiển thị trong khi hành động đang diễn ra. |
set | Action | Cho phép truyền các thông số tuỳ chỉnh đến hàm callback. |
set | Action | Cho biết liệu các giá trị biểu mẫu được xác định bằng giá trị của ứng dụng hay giá trị của máy chủ sau khi một phản hồi hành động cập nhật Card của biểu mẫu. |
Tài liệu chi tiết
addRequiredWidget(requiredWidget)
Thêm tên của những tiện ích mà Thao tác này cần để gửi hợp lệ. Nếu các tiện ích trong danh sách này không có giá trị khi Thao tác này được gọi, thì quá trình gửi biểu mẫu sẽ bị huỷ.
Dành cho tiện ích bổ sung của Google Workspace và ứng dụng Google Chat.
const textInput = CardService.newTextInput() .setFieldName('text_input_1') .setTitle('Text input title'); // Creates a footer button that requires an input from the above TextInput // Widget. const action = CardService.newAction() .setFunctionName('notificationCallback') .addRequiredWidget('text_input_1'); const fixedFooter = CardService.newFixedFooter().setPrimaryButton( CardService.newTextButton().setText('help').setOnClickAction(action), );
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
required | String | Tên của tiện ích mà Thao tác này yêu cầu. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Cho biết liệu Thao tác này có yêu cầu dữ liệu đầu vào từ tất cả các tiện ích hay không.
Dành cho tiện ích bổ sung của Google Workspace và ứng dụng Google Chat.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction().setAllWidgetsAreRequired(true));
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
all | Boolean | Liệu thao tác có yêu cầu dữ liệu đầu vào từ tất cả các tiện ích hay không. Giá trị mặc định là false. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.
setFunctionName(functionName)
Đặt tên cho hàm callback sẽ được gọi. Bắt buộc.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
function | String | Tên của hàm. Bạn có thể sử dụng các hàm trong thư viện đi kèm, chẳng hạn như Library.libFunction1. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.
setInteraction(interaction)
Đặt hoạt động tương tác với người dùng, chỉ bắt buộc khi mở hộp thoại. Nếu không được chỉ định, ứng dụng sẽ phản hồi bằng cách thực thi một Action như mở một đường liên kết hoặc chạy một hàm – như bình thường.
Chỉ dành cho các ứng dụng Google Chat. Không dùng được cho các tiện ích bổ sung của Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
interaction | Interaction | Tương tác cần chỉ định. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.
setLoadIndicator(loadIndicator)
Đặt chỉ báo tải sẽ hiển thị trong khi hành động đang diễn ra.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
load | Load | Chỉ báo cần hiển thị. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.
setParameters(parameters)
Cho phép truyền các thông số tuỳ chỉnh đến hàm callback. Không bắt buộc.
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
parameters | Object | Cả khoá và giá trị đều phải là chuỗi. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.
setPersistValues(persistValues)
Cho biết liệu các giá trị biểu mẫu được xác định bằng giá trị của ứng dụng hay giá trị của máy chủ sau khi một phản hồi hành động cập nhật Card của biểu mẫu. Khi được đặt thành true, các giá trị của ứng dụng sẽ vẫn tồn tại sau khi máy chủ phản hồi. Khi được đặt thành false, các giá trị của máy chủ sẽ ghi đè các giá trị của biểu mẫu. Giá trị mặc định là false.
Việc duy trì các giá trị của ứng dụng giúp ngăn chặn các trường hợp biểu mẫu thay đổi đột ngột sau khi người dùng chỉnh sửa. Ví dụ: nếu người dùng chỉnh sửa một TextInput sau khi gửi biểu mẫu, nhưng trước khi máy chủ phản hồi. Nếu các giá trị được duy trì, thì nội dung chỉnh sửa mà người dùng đã thực hiện vẫn giữ nguyên sau khi phản hồi của máy chủ cập nhật Card; nếu không, giá trị biểu mẫu sẽ trở về giá trị mà người dùng đã gửi ban đầu cho biểu mẫu.
Việc duy trì các giá trị của ứng dụng khách có thể ảnh hưởng đến khả năng xoá các trường biểu mẫu hoặc ghi đè các giá trị biểu mẫu của tập lệnh. Vì vậy, hãy tránh bật tính năng duy trì cho loại chức năng đó. Nếu không có tính năng duy trì, bạn nên sử dụng LoadIndicator.SPINNER cho các sự kiện, vì thao tác này sẽ khoá giao diện người dùng và ngăn người dùng chỉnh sửa trước khi máy chủ phản hồi. Ngoài ra, bạn có thể sử dụng LoadIndicator.NONE và đảm bảo mọi phần tử trong biểu mẫu đều có một thao tác onChange.
// Creates a button with an action that persists the client's values as the // on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction().setPersistValues(true).setFunctionName( 'functionName'), );
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
persist | Boolean | Có nên duy trì các giá trị hay không. Giá trị mặc định là false. |
Cầu thủ trả bóng
Action – Đối tượng này, để liên kết.