Class Button

Button

Uma classe base para todos os botões.

Disponível para os apps do Google Workspace e do Google Chat.

Métodos

MétodoTipo de retornoBreve descrição
setAuthorizationAction(action)ButtonDefine uma ação de autorização que abre um URL para o fluxo de autorização quando o objeto é clicado.
setComposeAction(action, composedEmailType)ButtonDefine uma ação que compõe um e-mail de rascunho quando o objeto é clicado.
setOnClickAction(action)ButtonDefine uma ação que é executada quando o objeto é clicado.
setOnClickOpenLinkAction(action)ButtonDefine uma ação que abre um URL em uma guia quando o objeto é clicado.
setOpenLink(openLink)ButtonDefine um URL para ser aberto quando o objeto é clicado.
setOverflowMenu(menu)ButtonDefine um menu pop-up que será aberto quando o objeto for clicado.

Documentação detalhada

setAuthorizationAction(action)

Define uma ação de autorização que abre um URL para o fluxo de autorização quando o objeto é clicado. O URL será aberto em uma nova janela. Quando o usuário termina o fluxo de autorização e retorna ao aplicativo, o complemento é recarregado.

Um objeto da interface só pode ter um conjunto setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

// ...

const action = CardService.newAuthorizationAction().setAuthorizationUrl('url');
CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);

Parâmetros

NomeTipoDescrição
actionAuthorizationActionO objeto que especifica a ação de autorização a ser realizada quando este elemento for clicado.

Retornar

Button: este objeto, para encadeamento.


setComposeAction(action, composedEmailType)

Define uma ação que compõe um e-mail de rascunho quando o objeto é clicado. Um objeto de interface só pode ter um conjunto setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

O parâmetro Action precisa especificar uma função de callback que retorna um objeto ComposeActionResponse configurado usando ComposeActionResponseBuilder.setGmailDraft(draft).

// ...

const action = CardService.newAction().setFunctionName('composeEmailCallback');
CardService.newTextButton()
    .setText('Compose Email')
    .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT);

// ...

function composeEmailCallback() {
  const thread = GmailApp.getThreadById(e.threadId);
  const draft = thread.createDraftReply('This is a reply');
  return CardService.newComposeActionResponseBuilder()
      .setGmailDraft(draft)
      .build();
}

Parâmetros

NomeTipoDescrição
actionActionO objeto que especifica a ação de composição a ser realizada quando este elemento é clicado.
composedEmailTypeComposedEmailTypeUm valor de enumeração que especifica se o rascunho composto é independente ou de resposta.

Retornar

Button: este objeto, para encadeamento.


setOnClickAction(action)

Define uma ação que é executada quando o objeto é clicado. Um objeto de interface só pode ter um dos setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definidos.

O parâmetro Action precisa especificar uma função de callback que retorna um objeto ActionResponse.

// ...

const action = CardService.newAction().setFunctionName('notificationCallback');
CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(action);

// ...

function notificationCallback() {
  return CardService.newActionResponseBuilder()
      .setNotification(
          CardService.newNotification().setText('Some info to display to user'),
          )
      .build();
}

Parâmetros

NomeTipoDescrição
actionActionA ação a ser realizada quando esse elemento for clicado.

Retornar

Button: este objeto, para encadeamento.


setOnClickOpenLinkAction(action)

Define uma ação que abre um URL em uma guia quando o objeto é clicado. Use essa função quando o URL precisar ser criado ou quando você precisar realizar outras ações além de criar o objeto OpenLink. Um objeto da interface só pode ter um conjunto setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

O parâmetro Action precisa especificar uma função de callback que retorne um objeto ActionResponse configurado usando ActionResponseBuilder.setOpenLink(openLink).

// ...

const action = CardService.newAction().setFunctionName('openLinkCallback');
CardService.newTextButton()
    .setText('Open Link')
    .setOnClickOpenLinkAction(action);

// ...

function openLinkCallback() {
  return CardService.newActionResponseBuilder()
      .setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com'))
      .build();
}

Parâmetros

NomeTipoDescrição
actionActionO objeto que especifica a ação de abrir link a ser realizada quando esse elemento é clicado.

Retornar

Button: este objeto, para encadeamento.


Define um URL que será aberto quando o objeto for clicado. Use essa função quando o URL já for conhecido e só precisar ser aberto. Um objeto de interface só pode ter um dos setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definidos.

Parâmetros

NomeTipoDescrição
openLinkOpenLinkUm objeto OpenLink que descreve o URL a ser aberto.

Retornar

Button: este objeto, para encadeamento.


setOverflowMenu(menu)

Define um menu pop-up que será aberto quando o objeto for clicado. Cada item do menu pode especificar uma ação que será acionada quando clicado. Menus aninhados não são aceitos. As ações para itens de menu não podem especificar um menu flutuante.

Disponível apenas para apps do Google Chat. Não disponível para complementos do Google Workspace.

const overflowMenuItem =
    CardService.newOverflowMenuItem()
        .setStartIcon(
            CardService.newIconImage().setIconUrl(
                'https://www.google.com/images/branding/googleg/1x/googleg_standard_color_64dp.png',
                ),
            )
        .setText('Open Link')
        .setOpenLink(
            CardService.newOpenLink().setUrl('https://www.google.com'));

const overflowMenu =
    CardService.newOverflowMenu().addMenuItem(overflowMenuItem).build();

Parâmetros

NomeTipoDescrição
menuOverflowMenuO objeto que especifica o menu flutuante a ser mostrado quando esse elemento é clicado.

Retornar

Button: este objeto, para encadeamento.