在触发器代码中添加一个条件,以避免将卡片添加到自身。以下是一个示例代码:
function onAddTrigger(event) {
// 检查事件是否已由自身触发
if (event.source.getSheetId() == event.triggerSheet.getSheetId()) {
return;
}
// 在卡片顶部添加“返回”按钮。
var card = CardService.newCardBuilder()
.setHeader(CardService.newCardHeader().setTitle('My Card'))
.addSection(CardService.newCardSection()
.addWidget(CardService.newTextButton()
.setText('Go Back')
.setOnClickAction(CardService.newAction()
.setType(CardService.ActionType.BACK)
.setOnClickAction(CardService.newAction()
.setFunctionName('onBack'))
)
)
)
.build();
// 将卡片添加到触发器所在的工作表中。
var navigation = CardService.newNavigation().updateCard(card);
var actionResponse = CardService.newActionResponseBuilder()
.setNavigation(navigation)
.build();
return actionResponse;
}
function onBack() {
var card = CardService.newCardBuilder()
.setHeader(CardService.newCardHeader().setTitle('My Card'))
.addSection(CardService.newCardSection().addWidget(
CardService.newTextParagraph().setText('Hello, World!')))
.build();
var navigation = CardService.newNavigation().popCard();
return CardService.newActionResponseBuilder()
.setNavigation(navigation)
.setStateChanged(true)
.setUpdatedCard(card)
.build();
}