Class CardService

CardService

Com o CardService, é possível criar cartões genéricos usados em diferentes produtos de extensibilidade, como os complementos do Google Workspace.

Abaixo está um exemplo para um cartão de complementos.

return CardService.newCardBuilder()
         .setHeader(CardService.newCardHeader().setTitle("CardTitle"))
         .build();

Também é possível retornar vários cards, desta forma:

return [
  CardService.newCardBuilder().build(),
  CardService.newCardBuilder().build(),
  CardService.newCardBuilder().build()
]

Confira abaixo como definir um card com um cabeçalho, texto, uma imagem e um item de menu:

function createWidgetDemoCard() {
  return CardService
     .newCardBuilder()
     .setHeader(
         CardService.newCardHeader()
             .setTitle('Widget demonstration')
             .setSubtitle('Check out these widgets')
             .setImageStyle(CardService.ImageStyle.SQUARE)
             .setImageUrl(
                 'https://www.example.com/images/headerImage.png'))
     .addSection(
          CardService.newCardSection()
              .setHeader('Simple widgets')  // optional
              .addWidget(CardService.newTextParagraph().setText(
                  'These widgets are display-only. ' +
                  'A text paragraph can have multiple lines and ' +
                  'formatting.'))
              .addWidget(CardService.newImage().setImageUrl(
                  'https://www.example.com/images/mapsImage.png')))
     .addCardAction(CardService.newCardAction().setText('Gmail').setOpenLink(
         CardService.newOpenLink().setUrl('https://mail.google.com/mail')))
     .build();
}

Exemplo de card de apps do Chat.

const cardHeader = CardService.newCardHeader()
    .setTitle("Sasha")
    .setSubtitle("Software Engineer")
    .setImageUrl('https://developers.google.com/chat/images/quickstart-app-avatar.png')
    .setImageStyle(CardService.ImageStyle.CIRCLE)
    .setImageAltText("Avatar for Sasha");

const cardSection = CardService.newCardSection()
    .setHeader("Contact Info")
    .setCollapsible(true)
    .setNumUncollapsibleWidgets(1)
    .addWidget(
       CardService.newDecoratedText()
         .setStartIcon(CardService.newIconImage().setIcon(CardService.Icon.EMAIL))
         .setText("sasha@example.com"))
    .addWidget(
       CardService.newDecoratedText()
          .setStartIcon(CardService.newIconImage().setIcon(CardService.Icon.PERSON))
          .setText("<font color=\"#80e27e\">Online</font>"))
    .addWidget(
       CardService.newDecoratedText()
          .setStartIcon(CardService.newIconImage().setIcon(CardService.Icon.PHONE))
          .setText("+1 (555) 555-1234"))
    .addWidget(
       CardService.newButtonSet()
          .addButton(CardService.newTextButton()
           .setText("Share")
           .setOpenLink(CardService.newOpenLink().setUrl("https://example.com/share")))
          .addButton(CardService.newTextButton()
           .setText("Edit")
           .setOnClickAction(
         CardService.newAction().setFunctionName("goToView").setParameters({viewType:"EDIT"}))))

const card = CardService.newCardBuilder()
    .setHeader(cardHeader)
    .addSection(cardSection)
    .build();

Propriedades

PropriedadeTipoDescrição
BorderTypeBorderTypeA enumeração BorderType.
ComposedEmailTypeComposedEmailTypeA enumeração ComposedEmailType.
ContentTypeContentTypeA enumeração ContentType.
GridItemLayoutGridItemLayoutA enumeração GridItemLayout.
HorizontalAlignmentHorizontalAlignmentA enumeração HorizontalAlignment.
IconIconA enumeração Icon.
ImageCropTypeImageCropTypeA enumeração ImageCropType.
ImageStyleImageStyleA enumeração ImageStyle.
LoadIndicatorLoadIndicatorA enumeração LoadIndicator.
OnCloseOnCloseA enumeração OnClose.
OpenAsOpenAsA enumeração OpenAs.
SelectionInputTypeSelectionInputTypeA enumeração SelectionInputType.
TextButtonStyleTextButtonStyleA enumeração TextButtonStyle.
UpdateDraftBodyTypeUpdateDraftBodyTypeA enumeração UpdateDraftBodyType.

Métodos

MétodoTipo de retornoBreve descrição
newAction()ActionCrie um novo Action.
newActionResponseBuilder()ActionResponseBuilderCrie um novo ActionResponseBuilder.
newActionStatus()ActionStatusCrie um novo ActionStatus.
newAttachment()AttachmentCrie um novo Attachment.
newAuthorizationAction()AuthorizationActionCrie um novo AuthorizationAction.
newAuthorizationException()AuthorizationExceptionCrie um novo AuthorizationException.
newBorderStyle()BorderStyleCrie um novo BorderStyle.
newButtonSet()ButtonSetCrie um novo ButtonSet.
newCalendarEventActionResponseBuilder()CalendarEventActionResponseBuilderCrie um novo CalendarEventActionResponseBuilder.
newCardAction()CardActionCrie um novo CardAction.
newCardBuilder()CardBuilderCrie um novo CardBuilder.
newCardHeader()CardHeaderCrie um novo CardHeader.
newCardSection()CardSectionCrie um novo CardSection.
newCardWithId()CardWithIdCrie um novo CardWithId.
newChatActionResponse()ChatActionResponseCrie um novo ChatActionResponse.
newChatResponseBuilder()ChatResponseBuilderCrie um novo ChatResponseBuilder.
newColumn()ColumnCrie um novo Column.
newColumns()ColumnsCria um novo conjunto de Columns.
newComposeActionResponseBuilder()ComposeActionResponseBuilderCrie um novo ComposeActionResponseBuilder.
newDatePicker()DatePickerCrie um novo DatePicker.
newDateTimePicker()DateTimePickerCrie um novo DateTimePicker.
newDecoratedText()DecoratedTextCrie um novo DecoratedText.
newDialog()DialogCrie um novo Dialog.
newDialogAction()DialogActionCrie um novo DialogAction.
newDivider()DividerCrie um novo Divider.
newDriveItemsSelectedActionResponseBuilder()DriveItemsSelectedActionResponseBuilderCrie um novo DriveItemsSelectedActionResponseBuilder.
newEditorFileScopeActionResponseBuilder()EditorFileScopeActionResponseBuilderCrie um novo EditorFileScopeActionResponseBuilder.
newFixedFooter()FixedFooterCrie um novo FixedFooter.
newGrid()GridCrie um novo Grid.
newGridItem()GridItemCrie um novo GridItem.
newIconImage()IconImageCrie um novo IconImage.
newImage()ImageCrie um novo Image.
newImageButton()ImageButtonCrie um novo ImageButton.
newImageComponent()ImageComponentCrie um novo ImageComponent.
newImageCropStyle()ImageCropStyleCrie um novo ImageCropStyle.
newKeyValue()KeyValueCrie um novo KeyValue.
newLinkPreview()LinkPreviewCrie um novo LinkPreview.
newNavigation()NavigationCrie um novo Navigation.
newNotification()NotificationCrie um novo Notification.
newOpenLink()OpenLinkCrie um novo OpenLink.
newSelectionInput()SelectionInputCrie um novo SelectionInput.
newSuggestions()SuggestionsCrie um novo Suggestions.
newSuggestionsResponseBuilder()SuggestionsResponseBuilderCrie um novo SuggestionsResponseBuilder.
newSwitch()SwitchCrie um novo Switch.
newTextButton()TextButtonCrie um novo TextButton.
newTextInput()TextInputCrie um novo TextInput.
newTextParagraph()TextParagraphCrie um novo TextParagraph.
newTimePicker()TimePickerCrie um novo TimePicker.
newUniversalActionResponseBuilder()UniversalActionResponseBuilderCrie um novo UniversalActionResponseBuilder.
newUpdateDraftActionResponseBuilder()UpdateDraftActionResponseBuilderCrie um novo UpdateDraftActionResponseBuilder.
newUpdateDraftBccRecipientsAction()UpdateDraftBccRecipientsActionCria um novo UpdateDraftBccRecipientsAction.
newUpdateDraftBodyAction()UpdateDraftBodyActionCrie um novo UpdateDraftBodyAction.
newUpdateDraftCcRecipientsAction()UpdateDraftCcRecipientsActionCrie um novo UpdateDraftCcRecipientsAction.
newUpdateDraftSubjectAction()UpdateDraftSubjectActionCrie um novo UpdateDraftSubjectAction.
newUpdateDraftToRecipientsAction()UpdateDraftToRecipientsActionCrie um novo UpdateDraftToRecipientsAction.
newValidation()ValidationCrie um novo Validation.

Documentação detalhada

newAction()

Crie um novo Action.

Retornar

Action: uma ação vazia.


newActionResponseBuilder()

Crie um novo ActionResponseBuilder.

Retornar

ActionResponseBuilder: um builder ActionResponse vazio.


newActionStatus()

Crie um novo ActionStatus.

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

const actionStatus = CardService.newActionStatus()
    .setStatusCode(CardService.Status.OK)
    .setUserFacingMessage('Success');

Retornar

ActionStatus: um ActionStatus vazio.


newAttachment()

Crie um novo Attachment.

Retornar

Attachment: um anexo vazio.


newAuthorizationAction()

Crie um novo AuthorizationAction.

Retornar

AuthorizationAction: uma AuthorizationAction vazia.


newAuthorizationException()

Crie um novo AuthorizationException.

Retornar

AuthorizationException: uma AuthorizationException vazia.


newBorderStyle()

Crie um novo BorderStyle.

Retornar

BorderStyle: um BorderStyle vazio.


newButtonSet()

Crie um novo ButtonSet.

Retornar

ButtonSet: umButtonSet vazio.


newCalendarEventActionResponseBuilder()


newCardAction()

Crie um novo CardAction.

Retornar

CardAction: uma CardAction vazia.


newCardBuilder()

Crie um novo CardBuilder.

Retornar

CardBuilder: um builder de cards vazio.


newCardHeader()

Crie um novo CardHeader.

Retornar

CardHeader: um CardHeader vazio.


newCardSection()

Crie um novo CardSection.

Retornar

CardSection: uma CardSection vazia.


newCardWithId()

Crie um novo CardWithId. Isso é usado para enviar um card em uma mensagem do Google Chat. ID do cartão é um identificador exclusivo de um cartão em uma mensagem ao enviar vários cartões.

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

const cardSection = CardService.newCardSection();
cardSection.addWidget(
    CardService.newTextParagraph().setText('This is a text paragraph widget.'));

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title'))
    .addSection(cardSection)
    .build();

const cardWithId = CardService.newCardWithId()
    .setCardId('card_id')
    .setCard(card);

Retornar

CardWithId: um CardWithId vazio.


newChatActionResponse()

Crie um novo ChatActionResponse.

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

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title')).build();
const dialog = CardService.newDialog()
    .setBody(card);

const dialogAction = CardService.newDialogAction()
    .setDialog(dialog)

const chatActionResponse = CardService.newChatActionResponse()
    .setResponseType(CardService.ResponseType.DIALOG)
    .setDialogAction(dialogAction);

Retornar

ChatActionResponse: um ChatActionResponse vazio.


newChatResponseBuilder()

Crie um novo ChatResponseBuilder.

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

const cardSection = CardService.newCardSection();
cardSection.addWidget(
    CardService.newTextParagraph().setText('This is a text paragraph widget.'));

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title'))
    .addSection(cardSection)
    .build();

const cardWithId = CardService.newCardWithId()
    .setCardId('card_id')
    .setCard(card);

const chatResponse = CardService.newChatResponseBuilder()
    .addCardsV2(cardWithId)
    .build();

Retornar

ChatResponseBuilder: um ChatResponseBuilder vazio.


newColumn()

Crie um novo Column.

Disponível nos apps do Google Chat e nos complementos do Google Workspace.

const columnWidget = CardService.newTextParagraph();
const column = CardService.newColumn()
    .setHorizontalSizeStyle(CardService.HorizontalSizeStyle.FILL_AVAILABLE_SPACE)
    .setHorizontalAlignment(CardService.HorizontalAlignment.CENTER)
    .setVerticalAlignment(CardService.VerticalAlignment.CENTER)
    .addWidget(columnWidget);

Column: uma coluna vazia.


newColumns()

Cria um novo conjunto de Columns.

Disponível nos apps do Google Chat e nos complementos do Google Workspace.

const firstColumn = CardService.newColumn()
    .setHorizontalSizeStyle(CardService.HorizontalSizeStyle.FILL_AVAILABLE_SPACE)
    .setHorizontalAlignment(CardService.HorizontalAlignment.CENTER)
    .setVerticalAlignment(CardService.VerticalAlignment.CENTER);
const secondColumn = CardService.newColumn()
    .setHorizontalSizeStyle(CardService.HorizontalSizeStyle.FILL_AVAILABLE_SPACE)
    .setHorizontalAlignment(CardService.HorizontalAlignment.CENTER)
    .setVerticalAlignment(CardService.VerticalAlignment.CENTER);
const columns = CardService.newColumns()
    .addColumn(column)
    .addColumn(secondColumn)
    .setWrapStyle(CardService.WrapStyle.WRAP);

Retornar

Columns: um conjunto vazio de colunas.


newComposeActionResponseBuilder()

Crie um novo ComposeActionResponseBuilder.

Retornar

ComposeActionResponseBuilder: um builder ComposeActionResponse vazio.


newDatePicker()

Crie um novo DatePicker.

Retornar

DatePicker: um DatePicker vazio.


newDateTimePicker()

Crie um novo DateTimePicker.

Retornar

DateTimePicker: um DateTimePicker vazio.


newDecoratedText()

Crie um novo DecoratedText.

Retornar

DecoratedText: um DecoratedText vazio.


newDialog()

Crie um novo Dialog.

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

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title')).build();

// Sets the card of the dialog.
const dialog = CardService.newDialog()
    .setBody(card);

Retornar

Dialog: um Dialog vazio.


newDialogAction()

Crie um novo DialogAction.

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

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title')).build();
const dialog = CardService.newDialog()
    .setBody(card);

const dialogAction = CardService.newDialogAction()
    .setDialog(dialog)

Retornar

DialogAction: um DialogAction vazio.


newDivider()

Crie um novo Divider. O exemplo a seguir cria um cartão simples com dois parágrafos separadas por um divisor.

function buildCard() {
    let cardSection1TextParagraph1 = CardService.newTextParagraph()
        .setText('Hello world!');

    let cardSection1Divider1 = CardService.newDivider();

    let cardSection1TextParagraph2 = CardService.newTextParagraph()
        .setText('Hello world!');

    let cardSection1 = CardService.newCardSection()
        .addWidget(cardSection1TextParagraph1)
        .addWidget(cardSection1Divider1)
        .addWidget(cardSection1TextParagraph2);

    let card = CardService.newCardBuilder()
        .addSection(cardSection1)
        .build();

   return card;
}

Retornar

Divider: um divisor.


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

Crie um novo FixedFooter.

Retornar

FixedFooter: um rodapé fixo vazio.


newGrid()

Crie um novo Grid.

Retornar

Grid: uma grade vazia.


newGridItem()

Crie um novo GridItem.

Retornar

GridItem: um GridItem vazio.


newIconImage()

Crie um novo IconImage.

Retornar

IconImage: uma imagem de ícone vazia.


newImage()

Crie um novo Image.

Retornar

Image: uma imagem vazia.


newImageButton()

Crie um novo ImageButton.

Retornar

ImageButton: um ImageButton vazio.


newImageComponent()

Crie um novo ImageComponent.

Retornar

ImageComponent: um ImageComponent vazio.


newImageCropStyle()

Crie um novo ImageCropStyle.

Retornar

ImageCropStyle: um ImageCropStyle vazio.


newKeyValue()

Crie um novo KeyValue.

Retornar

KeyValue: um valor-chave vazio.


newLinkPreview()

Crie um novo LinkPreview.

const decoratedText = CardService.newDecoratedText()
    .setTopLabel('Hello')
    .setText('Hi!');

const cardSection = CardService.newCardSection()
    .addWidget(decoratedText);

const card = CardService.newCardBuilder()
    .addSection(cardSection)
    .build();

const linkPreview = CardService.newLinkPreview()
    .setPreviewCard(card)
    .setTitle('Smart chip title');

Retornar

LinkPreview: um LinkPreview vazio.


newNavigation()

Crie um novo Navigation.

Retornar

Navigation: uma navegação vazia.


newNotification()

Crie um novo Notification.

Retornar

Notification: uma notificação vazia.


Crie um novo OpenLink.

Retornar

OpenLink: um OpenLink vazio.


newSelectionInput()

Crie um novo SelectionInput.

Retornar

SelectionInput: uma SelectionInput vazia.


newSuggestions()

Crie um novo Suggestions.

Retornar

Suggestions: uma sugestão vazia.


newSuggestionsResponseBuilder()

Crie um novo SuggestionsResponseBuilder.

Retornar

SuggestionsResponseBuilder: um builder SuggestionsResponse vazio.


newSwitch()

Crie um novo Switch.

Retornar

Switch: uma chave vazia.


newTextButton()

Crie um novo TextButton.

Retornar

TextButton: um TextButton vazio.


newTextInput()

Crie um novo TextInput.

Retornar

TextInput: um TextInput vazio.


newTextParagraph()

Crie um novo TextParagraph.

Retornar

TextParagraph: um TextParagraph vazio.


newTimePicker()

Crie um novo TimePicker.

Retornar

TimePicker: um TimePicker vazio.


newUniversalActionResponseBuilder()

Crie um novo UniversalActionResponseBuilder.

Retornar

UniversalActionResponseBuilder: um builder UniversalActionResponse vazio.


newUpdateDraftActionResponseBuilder()

Crie um novo UpdateDraftActionResponseBuilder.

Retornar

UpdateDraftActionResponseBuilder: um UpdateDraftActionResponseBuilder vazio.


newUpdateDraftBccRecipientsAction()

Cria um novo UpdateDraftBccRecipientsAction.

Retornar

UpdateDraftBccRecipientsAction: um UpdateDraftBccRecipientsAction vazio.


newUpdateDraftBodyAction()

Crie um novo UpdateDraftBodyAction.

Retornar

UpdateDraftBodyAction: uma UpdateDraftBodyAction vazia.


newUpdateDraftCcRecipientsAction()

Crie um novo UpdateDraftCcRecipientsAction.

Retornar

UpdateDraftCcRecipientsAction: uma UpdateDraftCcRecipientsAction vazia.


newUpdateDraftSubjectAction()

Crie um novo UpdateDraftSubjectAction.

Retornar

UpdateDraftSubjectAction: uma UpdateDraftSubjectAction vazia.


newUpdateDraftToRecipientsAction()

Crie um novo UpdateDraftToRecipientsAction.

Retornar

UpdateDraftToRecipientsAction: uma UpdateDraftToRecipientsAction vazia.


newValidation()

Crie um novo Validation.

Disponível nos apps do Google Chat e nos complementos do Google Workspace.

const validation = CardService.newValidation()
    .setCharacterLimit(5)
    .setInputType(CardService.InputType.EMAIL);

Retornar

Validation: uma validação vazia.