CardService proporciona la capacidad de crear tarjetas genéricas que se usan en diferentes productos de extensibilidad de Google, como los complementos de Google Workspace.
A continuación, se muestra un ejemplo de una tarjeta de complementos.
function createCard() { return CardService.newCardBuilder() .setHeader(CardService.newCardHeader().setTitle('CardTitle')) .build(); }
También puedes mostrar varias tarjetas de la siguiente manera:
function createCards() { return [ CardService.newCardBuilder().build(), CardService.newCardBuilder().build(), CardService.newCardBuilder().build(), ]; }
A continuación, se muestra cómo puedes definir una tarjeta con un encabezado, texto, una imagen y un elemento de menú:
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(); }
Ejemplo de una tarjeta 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();
Propiedades
Propiedad | Tipo | Descripción |
---|---|---|
BorderType | BorderType | La enumeración BorderType |
ChipListLayout | ChipListLayout | La enumeración ChipListLayout |
ComposedEmailType | ComposedEmailType | La enumeración ComposedEmailType |
ContentType | ContentType | La enumeración ContentType |
GridItemLayout | GridItemLayout | La enumeración GridItemLayout |
HorizontalAlignment | HorizontalAlignment | La enumeración HorizontalAlignment |
Icon | Icon | La enumeración Icon |
ImageButtonStyle | ImageButtonStyle | La enumeración ImageButtonStyle |
ImageCropType | ImageCropType | La enumeración ImageCropType |
ImageStyle | ImageStyle | La enumeración ImageStyle |
InputType | InputType | La enumeración InputType |
LoadIndicator | LoadIndicator | La enumeración LoadIndicator |
OnClose | OnClose | La enumeración OnClose |
OpenAs | OpenAs | La enumeración OpenAs |
SelectionInputType | SelectionInputType | La enumeración SelectionInputType |
TextButtonStyle | TextButtonStyle | La enumeración TextButtonStyle |
UpdateDraftBodyType | UpdateDraftBodyType | La enumeración UpdateDraftBodyType |
Métodos
Documentación detallada
newActionResponseBuilder()
Cree una ActionResponseBuilder
nueva
Volver
ActionResponseBuilder
: Es un compilador de ActionResponse vacío.
newActionStatus()
Cree una ActionStatus
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de Google Workspace.
const actionStatus = CardService.newActionStatus() .setStatusCode(CardService.Status.OK) .setUserFacingMessage('Success');
Volver
ActionStatus
: Un ActionStatus vacío.
newAttachment()
newAuthorizationAction()
Cree una AuthorizationAction
nueva
Volver
AuthorizationAction
: Es un objeto AuthorizationAction vacío.
newAuthorizationException()
Cree una AuthorizationException
nueva
Volver
AuthorizationException
: Es una AuthorizationException vacía.
newBorderStyle()
newCalendarEventActionResponseBuilder()
Cree una CalendarEventActionResponseBuilder
nueva
Volver
CalendarEventActionResponseBuilder
: Un CalendarEventActionResponseBuilder
vacío.
newCardAction()
newCardBuilder()
newCardHeader()
newCardSection()
newCardWithId()
Cree una CardWithId
nueva Se usa para enviar una tarjeta en un mensaje de Google Chat. El ID de tarjeta es un identificador único para una tarjeta en un mensaje cuando se envían varias tarjetas.
Solo está disponible para las apps de Google Chat. No está disponible para complementos de 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);
Volver
CardWithId
: Un CardWithId
vacío.
newChatActionResponse()
Cree una ChatActionResponse
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de 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);
Volver
ChatActionResponse
: Un ChatActionResponse
vacío.
newChatResponseBuilder()
Cree una ChatResponseBuilder
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de 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();
Volver
ChatResponseBuilder
: Un ChatResponseBuilder vacío.
newChip()
newChipList()
Cree una ChipList
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de Google Workspace.
const chip = CardService.newChip(); // Finish building the text chip... const chipList = CardService.newChipList() .setLayout(CardService.ChipListLayout.WRAPPED) .addChip(chip);
Volver
ChipList
: Es un ChipList vacío.
newCollapseControl()
Cree una CollapseControl
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de Google Workspace.
const collapseControl = CardService.newCollapseControl() .setHorizontalAlign(CardService.HorizontalAlignment.START) .setExpandButton(CardService.newTextButton().setText('Expand')) .setCollapseButton(CardService.newTextButton().setText('Collapse'));
Volver
CollapseControl
: Un CollapseControl vacío.
newColumn()
Cree una Column
nueva
Disponible para las apps de Google Chat y los complementos de 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);
Volver
Column
: Es una columna vacía.
newColumns()
Crea un nuevo conjunto de Columns
.
Disponible para las apps de Google Chat y los complementos de 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);
Volver
Columns
: Es un conjunto vacío de columnas.
newComposeActionResponseBuilder()
Cree una ComposeActionResponseBuilder
nueva
Volver
ComposeActionResponseBuilder
: Es un compilador ComposeActionResponse vacío.
newDatePicker()
newDateTimePicker()
newDecoratedText()
newDialog()
Cree una Dialog
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de 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);
Volver
newDialogAction()
Cree una DialogAction
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de 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);
Volver
DialogAction
: Un DialogAction
vacío.
newDivider()
Cree una Divider
nueva En el siguiente ejemplo, se compila una tarjeta simple con 2 párrafos separados por un 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; }
Volver
Divider
: Es un divisor.
newDriveItemsSelectedActionResponseBuilder()
Cree una DriveItemsSelectedActionResponseBuilder
nueva
Volver
DriveItemsSelectedActionResponseBuilder
: Es un DriveItemsSelectedActionResponseBuilder
vacío.
newEditorFileScopeActionResponseBuilder()
Cree una EditorFileScopeActionResponseBuilder
nueva
Volver
EditorFileScopeActionResponseBuilder
: Un EditorFileScopeActionResponseBuilder
vacío.
newImageButton()
newImageComponent()
newImageCropStyle()
newLinkPreview()
Cree una LinkPreview
nueva
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');
Volver
LinkPreview
: Es un LinkPreview vacío.
newMaterialIcon()
Cree una MaterialIcon
nueva
Disponible para las apps de Google Chat y los complementos de 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();
Volver
MaterialIcon
: Un MaterialIcon vacío.
newNotification()
newOverflowMenu()
Cree una OverflowMenu
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de Google Workspace.
const overflowMenuItem = CardService.newOverflowMenuItem(); // Finish building the overflow menu item... const overflowMenu = CardService.newOverflowMenu().addMenuItem(overflowMenuItem);
Volver
OverflowMenu
: Un OverflowMenu vacío.
newOverflowMenuItem()
Cree una OverflowMenuItem
nueva
Solo está disponible para las apps de Google Chat. No está disponible para complementos de 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'));
Volver
OverflowMenuItem
: Es un OverflowMenuItem vacío.
newSelectionInput()
newSuggestions()
newSuggestionsResponseBuilder()
Cree una SuggestionsResponseBuilder
nueva
Volver
SuggestionsResponseBuilder
: Es un compilador SuggestionsResponse vacío.
newTextButton()
newTextParagraph()
newTimePicker()
newUniversalActionResponseBuilder()
Cree una UniversalActionResponseBuilder
nueva
Volver
UniversalActionResponseBuilder
: Es un compilador UniversalActionResponse vacío.
newUpdateDraftActionResponseBuilder()
Cree una UpdateDraftActionResponseBuilder
nueva
Volver
UpdateDraftActionResponseBuilder
: Un UpdateDraftActionResponseBuilder vacío.
newUpdateDraftBccRecipientsAction()
Crea un UpdateDraftBccRecipientsAction
nuevo.
Volver
UpdateDraftBccRecipientsAction
: Un UpdateDraftBccRecipientsAction vacío.
newUpdateDraftBodyAction()
Cree una UpdateDraftBodyAction
nueva
Volver
UpdateDraftBodyAction
: Es un UpdateDraftBodyAction vacío.
newUpdateDraftCcRecipientsAction()
Cree una UpdateDraftCcRecipientsAction
nueva
Volver
UpdateDraftCcRecipientsAction
: Un UpdateDraftCcRecipientsAction vacío.
newUpdateDraftSubjectAction()
Cree una UpdateDraftSubjectAction
nueva
Volver
UpdateDraftSubjectAction
: Es un UpdateDraftSubjectAction vacío.
newUpdateDraftToRecipientsAction()
Cree una UpdateDraftToRecipientsAction
nueva
Volver
UpdateDraftToRecipientsAction
: Es un UpdateDraftToRecipientsAction vacío.
newValidation()
Cree una Validation
nueva
Disponible para las apps de Google Chat y los complementos de Google Workspace.
const validation = CardService.newValidation().setCharacterLimit(5).setInputType( CardService.InputType.EMAIL);
Volver
Validation
: Es una validación vacía.