首页 > 解决方案 > 如何使用 UniversalAction 禁用导航

问题描述

我正在构建一个带有注销按钮的附加组件。此注销按钮是一个通用操作。据我所知,这是此按钮的绑定功能:

function logout(e) {
  ...
  resetOAuth();

  return CardService
      .newUniversalActionResponseBuilder()
      .displayAddOnCards([buildAddOn(e)])
      .build();
}

这样做的问题是新卡呈现导航。因此,屏幕上会显示一个“后退按钮”。我无法以不同的方式做到这一点。据我所知,Trello 插件和许多其他插件在应用注销时会呈现一张简单的卡片,而没有打开“后退”按钮导航。

我还需要尝试什么?如何避免通用操作上的导航?

标签: gmail-addons

解决方案


使用CardAction而不是 UniversalAction,这样您就可以避免使用后退按钮:

function sidebarTrigger () {
  return isUserLoggedIn() ?  renderProfile() : loginCard()
}


function renderProfile() {
  const card = CardService.newCardBuilder()

  // build the card as wished
  // ...

  const logoutAction = CardService.newCardAction()
    .setText('Log out')
    .setOnClickAction(CardService.newAction().setFunctionName('logoutUser'))

  card.addCardAction(logoutAction)

  return card.build()
}

function logoutUser() {
  // your logout logic
  // ...

  return CardService.newActionResponseBuilder()
    .setNavigation(CardService.newNavigation().updateCard(sidebarTrigger()))
    .build()
}

推荐阅读