Class Action

Hành động

Một thao tác cho phép tương tác trong các thành phần 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à thay vào đó sẽ gọi một hàm gọi lại trong Apps Script với các tham số không bắt buộc.

Có sẵn cho các ứng dụng Tiện ích bổ sung của Google Workspace và Google Chat.

const image = CardService.newImage().setOnClickAction(
    CardService.newAction().setFunctionName('handleImageClick').setParameters({
      imageSrc: 'carImage'
    }),
);

Phương thức

Phương thứcLoại dữ liệu trả vềMô tả ngắn
addRequiredWidget(requiredWidget)ActionThêm tên của các tiện ích mà Hành động này cần để gửi một cách hợp lệ.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionCho biết liệu Hành động 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.
setFunctionName(functionName)ActionĐặt tên cho hàm callback cần gọi.
setInteraction(interaction)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.
setLoadIndicator(loadIndicator)ActionĐặt chỉ báo tải hiển thị trong khi thao tác đang diễn ra.
setParameters(parameters)ActionCho phép truyền các tham số tuỳ chỉnh đến hàm callback.
setPersistValues(persistValues)ActionCho biết liệu giá trị của biểu mẫu được xác định bởi giá trị của ứng dụng khách hay giá trị của máy chủ sau khi 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 các tiện ích mà Hành động này cần để gửi một cách hợp lệ. Nếu các tiện ích trong danh sách này không có giá trị khi Hành động này được gọi, thì quá trình gửi biểu mẫu sẽ bị huỷ.

Chỉ dành cho ứng dụng Google Chat. Không dùng được cho các tiện ích bổ sung của Google Workspace.

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ênLoạiMô tả
requiredWidgetStringTên của tiện ích mà Hành động này yêu cầu.

Cầu thủ trả bóng

Action – Đối tượng này, để tạo chuỗi.


setAllWidgetsAreRequired(allWidgetsAreRequired)

Cho biết liệu Hành động 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.

Chỉ dành cho ứng dụng Google Chat. Không dùng được cho các tiện ích bổ sung của Google Workspace.

// 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ênLoạiMô tả
allWidgetsAreRequiredBooleanLiệ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, để tạo chuỗi.


setFunctionName(functionName)

Đặt tên cho hàm callback cần gọi. Bắt buộc.

Tham số

TênLoạiMô tả
functionNameStringTên của hàm. Bạn có thể sử dụng các hàm từ các 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, để tạo chuỗi.


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 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 ứ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ênLoạiMô tả
interactionInteractionLượt tương tác cần chỉ định.

Cầu thủ trả bóng

Action – Đối tượng này, để tạo chuỗi.


setLoadIndicator(loadIndicator)

Đặt chỉ báo tải hiển thị trong khi thao tác đang diễn ra.

Tham số

TênLoạiMô tả
loadIndicatorLoadIndicatorChỉ báo cần hiển thị.

Cầu thủ trả bóng

Action – Đối tượng này, để tạo chuỗi.


setParameters(parameters)

Cho phép truyền các tham số tuỳ chỉnh đến hàm callback. Không bắt buộc.

Tham số

TênLoạiMô tả
parametersObjectCả khoá và giá trị đều phải là chuỗi.

Cầu thủ trả bóng

Action – Đối tượng này, để tạo chuỗi.


setPersistValues(persistValues)

Cho biết liệu giá trị của biểu mẫu được xác định bởi giá trị của ứng dụng khách hay giá trị của máy chủ sau khi 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ẽ tồn tại sau khi máy chủ phản hồi. Khi được đặt thành false, giá trị của máy chủ sẽ ghi đè 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 một biểu mẫu thay đổi ngoài dự kiến sau khi người dùng chỉnh sửa. Ví dụ: nếu người dùng chỉnh sửa 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ì, nội dung chỉnh sửa mà người dùng thực hiện sẽ vẫn cò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ẽ quay lại giá trị mà người dùng ban đầu gửi vào biểu mẫu.

Việc lưu trữ giá trị của ứng dụng có thể ảnh hưởng đến khả năng của tập lệnh trong việc xoá các trường biểu mẫu hoặc ghi đè giá trị biểu mẫu, vì vậy, hãy tránh bật tính năng lưu trữ cho loại chức năng đó. Nếu không có tính chất ổn định, bạn nên sử dụng LoadIndicator.SPINNER cho các sự kiện, vì điều 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ó 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ênLoạiMô tả
persistValuesBooleanLiệu có 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, để tạo chuỗi.

Các phương thức ngừng hoạt động