Class CardAction

CardAction

Um item de menu clicável que é adicionado ao menu do cabeçalho do cartão.

var action = CardService.newAction();
// Finish building the action...

var cardAction = CardService.newCardAction()
    .setText("Card action")
    .setOnClickAction(action);

Métodos

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

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 de interface só pode ter setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definido.

// ...

var 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 esse elemento é clicado.

Retorno

CardAction: esse objeto para encadeamento.


setComposeAction(action, composedEmailType)

Define uma ação que compõe um rascunho de e-mail quando o objeto é clicado. Um objeto de interface só pode ter um dos itens 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 retorne um objeto ComposeActionResponse configurado usando ComposeActionResponseBuilder.setGmailDraft(draft).

// ...

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

// ...

function composeEmailCallback() {
  var thread = GmailApp.getThreadById(e.threadId);
  var 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 executada quando esse elemento é clicado.
composedEmailTypeComposedEmailTypeUm valor de enumeração que especifica se o rascunho composto é um rascunho autônomo ou de resposta.

Retorno

CardAction: esse objeto para encadeamento.


setOnClickAction(action)

Define uma ação que é executada quando o objeto é clicado. Um objeto da interface só pode ter um dos definidos 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.

// ...

var 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 é clicado.

Retorno

CardAction: esse 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 da criação do objeto OpenLink. Um objeto de interface só pode ter um dos itens 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 retorne um objeto ActionResponse configurado usando ActionResponseBuilder.setOpenLink(openLink).

// ...

var 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.

Retorno

CardAction: esse objeto para encadeamento.


Define um URL a 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 seguintes valores: setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

Parâmetros

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

Retorno

CardAction: esse objeto para encadeamento.


setText(text)

Define o texto do menu para esta ação.

Parâmetros

NomeTipoDescrição
textStringTexto do item de menu.

Retorno

CardAction: esse objeto para encadeamento.