Class CardService

CardService

Com o CardService, é possível criar cards genéricos usados em diferentes produtos de extensibilidade do Google, como Complementos do Google Workspace.

Confira abaixo um exemplo de card de complementos.

function createCard() {
  return CardService.newCardBuilder()
      .setHeader(CardService.newCardHeader().setTitle('CardTitle'))
      .build();
}

Ou você pode retornar vários cards assim:

function createCards() {
  return [
    CardService.newCardBuilder().build(),
    CardService.newCardBuilder().build(),
    CardService.newCardBuilder().build(),
  ];
}

Confira a seguir 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 app de 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.
ChipListLayoutChipListLayoutA enumeração ChipListLayout.
ComposedEmailTypeComposedEmailTypeA enumeração ComposedEmailType.
ContentTypeContentTypeA enumeração ContentType.
GridItemLayoutGridItemLayoutA enumeração GridItemLayout.
HorizontalAlignmentHorizontalAlignmentA enumeração HorizontalAlignment.
IconIconA enumeração Icon.
ImageButtonStyleImageButtonStyleA enumeração ImageButtonStyle.
ImageCropTypeImageCropTypeA enumeração ImageCropType.
ImageStyleImageStyleA enumeração ImageStyle.
InputTypeInputTypeA enumeração InputType.
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()CardBuilderCria um novo criador de cards.
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.
newChip()ChipCrie um novo Chip.
newChipList()ChipListCrie um novo ChipList.
newCollapseControl()CollapseControlCrie um novo CollapseControl.
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.
newMaterialIcon()MaterialIconCrie um novo MaterialIcon.
newNavigation()NavigationCrie um novo Navigation.
newNotification()NotificationCrie um novo Notification.
newOpenLink()OpenLinkCrie um novo OpenLink.
newOverflowMenu()OverflowMenuCrie um novo OverflowMenu.
newOverflowMenuItem()OverflowMenuItemCrie um novo OverflowMenuItem.
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 para 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()

Cria um novo criador de cards.

Retornar

CardBuilder: um criador 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. É usado para enviar um card em uma mensagem do Google Chat. O ID do card é um identificador exclusivo de um card em uma mensagem quando vários cards são enviados.

Disponível apenas para 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 para 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 para 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.


newChip()

Crie um novo Chip.

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

const chip = CardService.newChip()
                 .setLabel('Open Link')
                 .setOpenLink(CardService.newOpenLink().setUrl(
                     'https://www.google.com'));

Retornar

Chip: um ícone vazio.


newChipList()

Crie um novo ChipList.

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

const chip = CardService.newChip();
// Finish building the text chip...

const chipList = CardService.newChipList()
                     .setLayout(CardService.ChipListLayout.WRAPPED)
                     .addChip(chip);

Retornar

ChipList: uma ChipList vazia.


newCollapseControl()

Crie um novo CollapseControl.

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

const collapseControl =
    CardService.newCollapseControl()
        .setHorizontalAlign(CardService.HorizontalAlignment.START)
        .setExpandButton(CardService.newTextButton().setText('Expand'))
        .setCollapseButton(CardService.newTextButton().setText('Collapse'));

Retornar

CollapseControl: um CollapseControl vazio.


newColumn()

Crie um novo Column.

Disponível para apps do Google Chat e 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);

Retornar

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 para 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 para 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 abaixo cria um card simples com dois parágrafos separados por um divisor.

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

  const cardSection1Divider1 = CardService.newDivider();

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

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

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

  return card;
}

Retornar

Divider: um divisor.


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

Crie um novo FixedFooter.

Retornar

FixedFooter: um FixedFooter 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 KeyValue 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.


newMaterialIcon()

Crie um novo MaterialIcon.

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

const materialIcon =
    CardService.newMaterialIcon().setName('check_box').setFill(true);

const cardSection = CardService.newCardSection();
cardSection.addWidget(
    CardService.newDecoratedText()
        .setStartIcon(CardService.newIconImage().setMaterialIcon(materialIcon))
        .setText('sasha@example.com'),
);

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

Retornar

MaterialIcon: um MaterialIcon 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.


newOverflowMenu()

Crie um novo OverflowMenu.

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

const overflowMenuItem = CardService.newOverflowMenuItem();
// Finish building the overflow menu item...

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

Retornar

OverflowMenu: um OverflowMenu vazio.


newOverflowMenuItem()

Crie um novo OverflowMenuItem.

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'));

Retornar

OverflowMenuItem: um OverflowMenuItem 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: um switch vazio.


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: uma UpdateDraftBccRecipientsAction vazia.


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.