O CardService oferece a capacidade de 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(), ]; }
A seguir, mostramos 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 um card de apps 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
| Propriedade | Tipo | Descrição |
|---|---|---|
Border | Border | A enumeração Border. |
Chip | Chip | A enumeração Chip. |
Common | Common | A enumeração Common. |
Composed | Composed | A enumeração Composed. |
Content | Content | A enumeração Content. |
Drive | Drive | A enumeração Drive. |
Expression | Expression | A enumeração Expression. |
Expression | Expression | A enumeração Expression. |
Grid | Grid | A enumeração Grid. |
Horizontal | Horizontal | A enumeração Horizontal. |
Icon | Icon | A enumeração Icon. |
Image | Image | A enumeração Image. |
Image | Image | A enumeração Image. |
Image | Image | A enumeração Image. |
Input | Input | A enumeração Input. |
Load | Load | A enumeração Load. |
On | On | A enumeração On. |
Open | Open | A enumeração Open. |
Selection | Selection | A enumeração Selection. |
Text | Text | A enumeração Text. |
Text | Text | A enumeração Text. |
Update | Update | A enumeração Update. |
Variable | Variable | A enumeração Variable. |
Visibility | Visibility | A enumeração Visibility. |
Workflow | Workflow | A enumeração Workflow. |
Métodos
Documentação detalhada
newActionResponseBuilder()
Crie um novo ActionResponseBuilder.
Retornar
ActionResponseBuilder: um criador de 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()
newAuthorizationAction()
newAuthorizationException()
Crie um novo AuthorizationException.
Retornar
AuthorizationException: uma AuthorizationException vazia.
newBorderStyle()
newCalendarEventActionResponseBuilder()
Crie um novo CalendarEventActionResponseBuilder.
Retornar
CalendarEventActionResponseBuilder: um CalendarEventActionResponseBuilder vazio.
newCardAction()
newCardBuilder()
newCardHeader()
newCardSection()
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 ao enviar vários cards.
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.
newCarousel()
Cria uma Carousel.
const carousel = CardService.newCarousel() .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The first text paragraph in carousel'))) .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The second text paragraph in carousel'))) .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The third text paragraph in carousel')))
Retornar
Carousel: um carrossel vazio.
newCarouselCard()
Crie um novo CarouselCard.
const carouselCard = CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('Text paragraph in carousel'));
Retornar
CarouselCard: um ícone 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()
newChipList()
Crie um novo ChipList.
Disponível para apps do Google Chat. Na prévia para desenvolvedores dos 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 para apps do Google Chat. Na prévia para desenvolvedores dos 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 para apps do Google Chat e 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(firstColumn) .addColumn(secondColumn) .setWrapStyle(CardService.WrapStyle.WRAP);
Retornar
Columns: um conjunto vazio de colunas.
newCommonWidgetAction()
newComposeActionResponseBuilder()
Crie um novo ComposeActionResponseBuilder.
Retornar
ComposeActionResponseBuilder: um criador de ComposeActionResponse vazio.
newCondition()
newDataSourceConfig()
newDatePicker()
newDateTimePicker()
newDecoratedText()
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
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 a seguir 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.
newDriveDataSourceSpec()
newDriveItemsSelectedActionResponseBuilder()
Crie um novo DriveItemsSelectedActionResponseBuilder.
Retornar
DriveItemsSelectedActionResponseBuilder: um DriveItemsSelectedActionResponseBuilder vazio.
newEditorFileScopeActionResponseBuilder()
Crie um novo EditorFileScopeActionResponseBuilder.
Retornar
EditorFileScopeActionResponseBuilder: um EditorFileScopeActionResponseBuilder vazio.
newEventAction()
Cria um novo EventAction usado para validação do lado do cliente.
Retornar
EventAction: um EventAction vazio.
newExpressionData()
Cria um novo ExpressionData usado para validação do lado do cliente.
Retornar
ExpressionData: um ExpressionData vazio.
newExpressionDataAction()
Cria um novo ExpressionDataAction usado para validação do lado do cliente.
Retornar
ExpressionDataAction: um ExpressionDataAction vazio.
newExpressionDataCondition()
Cria um novo ExpressionDataCondition usado para validação do lado do cliente.
Retornar
ExpressionDataCondition: um ExpressionDataCondition vazio.
newHostAppDataSource()
newImageButton()
newImageComponent()
newImageCropStyle()
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(); return 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.
newNotification()
newOverflowMenu()
Crie um novo OverflowMenu.
Disponível para apps do Google Chat. Na prévia para desenvolvedores dos 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 para apps do Google Chat. Na prévia para desenvolvedores dos 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.
newPlatformDataSource()
newSelectionInput()
newSuggestions()
newSuggestionsResponseBuilder()
Crie um novo SuggestionsResponseBuilder.
Retornar
SuggestionsResponseBuilder: um criador de SuggestionsResponse vazio.
newTextButton()
newTextParagraph()
newTimePicker()
newTrigger()
newUniversalActionResponseBuilder()
Crie um novo UniversalActionResponseBuilder.
Retornar
UniversalActionResponseBuilder: um criador de UniversalActionResponse vazio.
newUpdateDraftActionResponseBuilder()
Crie um novo UpdateDraftActionResponseBuilder.
Retornar
UpdateDraftActionResponseBuilder: um UpdateDraftActionResponseBuilder vazio.
newUpdateDraftBccRecipientsAction()
Cria um UpdateDraftBccRecipientsAction.
Retornar
UpdateDraftBccRecipientsAction: uma UpdateDraftBccRecipientsAction vazia.
newUpdateDraftBodyAction()
Crie um novo UpdateDraftBodyAction.
Retornar
UpdateDraftBodyAction: uma UpdateDraftBodyAction vazia.
newUpdateDraftCcRecipientsAction()
Crie um novo UpdateDraftCcRecipientsAction.
Retornar
UpdateDraftCcRecipientsAction: uma Empty UpdateDraftCcRecipientsAction.
newUpdateDraftSubjectAction()
Crie um novo UpdateDraftSubjectAction.
Retornar
UpdateDraftSubjectAction: uma UpdateDraftSubjectAction vazia.
newUpdateDraftToRecipientsAction()
Crie um novo UpdateDraftToRecipientsAction.
Retornar
UpdateDraftToRecipientsAction: uma UpdateDraftToRecipientsAction vazia.
newUpdateVisibilityAction()
Crie um novo UpdateVisibilityAction.
Retornar
UpdateVisibilityAction: um UpdateVisibilityAction vazio.
newValidation()
Crie um novo Validation.
Disponível para apps do Google Chat e complementos do Google Workspace.
const validation = CardService.newValidation().setCharacterLimit(5).setInputType( CardService.InputType.EMAIL);
Retornar
Validation: uma validação vazia.