卡片没有推送到导航堆栈,为什么不呢?有限制吗?

Card not pushing onto to the Navigation stack, why not? Is there a limit?

堆叠中有一张根牌和另一张牌。我正在做数据验证。如果在 drop-down 框中没有选择文件值,这是创建新错误卡的错误处理程序。原始函数抛出错误,catch 调用我的错误处理程序。当错误被触发时,它什么都不做,但记录错误信息。它似乎在执行记录 header 和部分中创建了新卡,但是,它没有显示。我在执行记录中没有看到错误。一切顺利,就是没有新卡

function error(e){
try{
 // create new card, header, and section 
 var header = CardService.newCardHeader().setTitle('Error')
  .setImageUrl('http://www.pvhc.net/img55/waclmgwigxuizcqbxjdx.jpg')
  .setImageStyle(CardService.ImageStyle.SQUARE);

 var section = CardService.newCardSection()
  .setHeader('<b>Error Message:</b>')
  .addWidget(CardService.newTextParagraph().setText(e));

 var card = CardService.newCardBuilder()
  .setHeader(header).addSection(section).build();

 // Create Nav object
 var nav = CardService.newNavigation().pushCard(card);

 // Check if my function is being called and the error message is correct.
 Logger.log(e);

 // push card onto stack.
 return CardService.newActionResponseBuilder().setNavigation(nav);
}catch(e){Logger.log(e.message);}
}

Update:在我的catch语句中,调用error函数前没有return语句。现在我收到 运行 时间错误:'Missing required fields in markup: '。不知道为什么。

虽然我最初在调用我的错误处理程序时没有包含 'return',而且,我在 returning 时也没有构建动作响应构建器。

原文: return CardService.newActionResponseBuilder().setNavigation(nav);

更正: return CardService.newActionResponseBuilder().setNavigation(nav).build();

现在可以使用了。

别忘了制作卡片!。你得建卡。

return CardService.newActionResponseBuilder().setNavigation(nav).build();