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
Propriedade | Tipo | Descrição |
---|---|---|
BorderType | BorderType | A enumeração BorderType . |
ComposedEmailType | ComposedEmailType | A enumeração ComposedEmailType . |
ContentType | ContentType | A enumeração ContentType . |
GridItemLayout | GridItemLayout | A enumeração GridItemLayout . |
HorizontalAlignment | HorizontalAlignment | A enumeração HorizontalAlignment . |
Icon | Icon | A enumeração Icon . |
ImageCropType | ImageCropType | A enumeração ImageCropType . |
ImageStyle | ImageStyle | A enumeração ImageStyle . |
LoadIndicator | LoadIndicator | A enumeração LoadIndicator . |
OnClose | OnClose | A enumeração OnClose . |
OpenAs | OpenAs | A enumeração OpenAs . |
SelectionInputType | SelectionInputType | A enumeração SelectionInputType . |
TextButtonStyle | TextButtonStyle | A enumeração TextButtonStyle . |
UpdateDraftBodyType | UpdateDraftBodyType | A enumeração UpdateDraftBodyType . |
Métodos
Documentação detalhada
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()
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
. 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()
newDateTimePicker()
newDecoratedText()
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
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()
Crie um novo DriveItemsSelectedActionResponseBuilder
.
Retornar
DriveItemsSelectedActionResponseBuilder
: um DriveItemsSelectedActionResponseBuilder
vazio.
newEditorFileScopeActionResponseBuilder()
Crie um novo EditorFileScopeActionResponseBuilder
.
Retornar
EditorFileScopeActionResponseBuilder
: um EditorFileScopeActionResponseBuilder
vazio.
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(); const linkPreview = CardService.newLinkPreview() .setPreviewCard(card) .setTitle('Smart chip title');
Retornar
LinkPreview
: um LinkPreview vazio.
newNotification()
newSelectionInput()
newSuggestions()
newSuggestionsResponseBuilder()
Crie um novo SuggestionsResponseBuilder
.
Retornar
SuggestionsResponseBuilder
: um builder SuggestionsResponse vazio.
newTextButton()
newTextParagraph()
newTimePicker()
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.