Class CardService

CardService

CardService permite crear tarjetas genéricas que se usan en diferentes servicios de Google productos de extensibilidad, como los complementos de Google Workspace.

A continuación, se muestra un ejemplo de una tarjeta de complementos.

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

También puedes devolver varias tarjetas de la siguiente manera:

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

PropiedadTipoDescripción
BorderTypeBorderTypeLa enumeración BorderType.
ComposedEmailTypeComposedEmailTypeLa enumeración ComposedEmailType.
ContentTypeContentTypeLa enumeración ContentType.
GridItemLayoutGridItemLayoutLa enumeración GridItemLayout.
HorizontalAlignmentHorizontalAlignmentLa enumeración HorizontalAlignment.
IconIconLa enumeración Icon.
ImageCropTypeImageCropTypeLa enumeración ImageCropType.
ImageStyleImageStyleLa enumeración ImageStyle.
LoadIndicatorLoadIndicatorLa enumeración LoadIndicator.
OnCloseOnCloseLa enumeración OnClose.
OpenAsOpenAsLa enumeración OpenAs.
SelectionInputTypeSelectionInputTypeLa enumeración SelectionInputType.
TextButtonStyleTextButtonStyleLa enumeración TextButtonStyle.
UpdateDraftBodyTypeUpdateDraftBodyTypeLa enumeración UpdateDraftBodyType.

Métodos

MétodoTipo de datos que se muestraDescripción breve
newAction()ActionCree una Action nueva
newActionResponseBuilder()ActionResponseBuilderCree una ActionResponseBuilder nueva
newActionStatus()ActionStatusCree una ActionStatus nueva
newAttachment()AttachmentCree una Attachment nueva
newAuthorizationAction()AuthorizationActionCree una AuthorizationAction nueva
newAuthorizationException()AuthorizationExceptionCree una AuthorizationException nueva
newBorderStyle()BorderStyleCree una BorderStyle nueva
newButtonSet()ButtonSetCree una ButtonSet nueva
newCalendarEventActionResponseBuilder()CalendarEventActionResponseBuilderCree una CalendarEventActionResponseBuilder nueva
newCardAction()CardActionCree una CardAction nueva
newCardBuilder()CardBuilderCree una CardBuilder nueva
newCardHeader()CardHeaderCree una CardHeader nueva
newCardSection()CardSectionCree una CardSection nueva
newCardWithId()CardWithIdCree una CardWithId nueva
newChatActionResponse()ChatActionResponseCree una ChatActionResponse nueva
newChatResponseBuilder()ChatResponseBuilderCree una ChatResponseBuilder nueva
newColumn()ColumnCree una Column nueva
newColumns()ColumnsCrea un conjunto nuevo de Columns.
newComposeActionResponseBuilder()ComposeActionResponseBuilderCree una ComposeActionResponseBuilder nueva
newDatePicker()DatePickerCree una DatePicker nueva
newDateTimePicker()DateTimePickerCree una DateTimePicker nueva
newDecoratedText()DecoratedTextCree una DecoratedText nueva
newDialog()DialogCree una Dialog nueva
newDialogAction()DialogActionCree una DialogAction nueva
newDivider()DividerCree una Divider nueva
newDriveItemsSelectedActionResponseBuilder()DriveItemsSelectedActionResponseBuilderCree una DriveItemsSelectedActionResponseBuilder nueva
newEditorFileScopeActionResponseBuilder()EditorFileScopeActionResponseBuilderCree una EditorFileScopeActionResponseBuilder nueva
newFixedFooter()FixedFooterCree una FixedFooter nueva
newGrid()GridCree una Grid nueva
newGridItem()GridItemCree una GridItem nueva
newIconImage()IconImageCree una IconImage nueva
newImage()ImageCree una Image nueva
newImageButton()ImageButtonCree una ImageButton nueva
newImageComponent()ImageComponentCree una ImageComponent nueva
newImageCropStyle()ImageCropStyleCree una ImageCropStyle nueva
newKeyValue()KeyValueCree una KeyValue nueva
newLinkPreview()LinkPreviewCree una LinkPreview nueva
newNavigation()NavigationCree una Navigation nueva
newNotification()NotificationCree una Notification nueva
newOpenLink()OpenLinkCree una OpenLink nueva
newSelectionInput()SelectionInputCree una SelectionInput nueva
newSuggestions()SuggestionsCree una Suggestions nueva
newSuggestionsResponseBuilder()SuggestionsResponseBuilderCree una SuggestionsResponseBuilder nueva
newSwitch()SwitchCree una Switch nueva
newTextButton()TextButtonCree una TextButton nueva
newTextInput()TextInputCree una TextInput nueva
newTextParagraph()TextParagraphCree una TextParagraph nueva
newTimePicker()TimePickerCree una TimePicker nueva
newUniversalActionResponseBuilder()UniversalActionResponseBuilderCree una UniversalActionResponseBuilder nueva
newUpdateDraftActionResponseBuilder()UpdateDraftActionResponseBuilderCree una UpdateDraftActionResponseBuilder nueva
newUpdateDraftBccRecipientsAction()UpdateDraftBccRecipientsActionCrea un UpdateDraftBccRecipientsAction nuevo.
newUpdateDraftBodyAction()UpdateDraftBodyActionCree una UpdateDraftBodyAction nueva
newUpdateDraftCcRecipientsAction()UpdateDraftCcRecipientsActionCree una UpdateDraftCcRecipientsAction nueva
newUpdateDraftSubjectAction()UpdateDraftSubjectActionCree una UpdateDraftSubjectAction nueva
newUpdateDraftToRecipientsAction()UpdateDraftToRecipientsActionCree una UpdateDraftToRecipientsAction nueva
newValidation()ValidationCree una Validation nueva

Documentación detallada

newAction()

Cree una Action nueva

Volver

Action: Es una acción vacía.


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 los complementos de Google Workspace.

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

Volver

ActionStatus: Indica un ActionStatus vacío.


newAttachment()

Cree una Attachment nueva

Volver

Attachment: Es un archivo adjunto vacío.


newAuthorizationAction()

Cree una AuthorizationAction nueva

Volver

AuthorizationAction: Es un AuthorizationAction vacío.


newAuthorizationException()

Cree una AuthorizationException nueva

Volver

AuthorizationException: Es una AuthorizationException vacía.


newBorderStyle()

Cree una BorderStyle nueva

Volver

BorderStyle: Es un BorderStyle vacío.


newButtonSet()

Cree una ButtonSet nueva

Volver

ButtonSet: Un ButtonSet vacío.


newCalendarEventActionResponseBuilder()


newCardAction()

Cree una CardAction nueva

Volver

CardAction: Es un CardAction vacío.


newCardBuilder()

Cree una CardBuilder nueva

Volver

CardBuilder: Es un Creador de tarjetas vacío.


newCardHeader()

Cree una CardHeader nueva

Volver

CardHeader: Es un CardHeader vacío.


newCardSection()

Cree una CardSection nueva

Volver

CardSection: Es una CardSection vacía.


newCardWithId()

Cree una CardWithId nueva Se usa para enviar una tarjeta en un mensaje de Google Chat. ID de la tarjeta es un identificador único de una tarjeta en un mensaje cuando se envían varias tarjetas.

Solo está disponible para las apps de Google Chat. No está disponible para los 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: Es un CardWithId vacío.


newChatActionResponse()

Cree una ChatActionResponse nueva

Solo está disponible para las apps de Google Chat. No está disponible para los 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: Es un ChatActionResponse vacío.


newChatResponseBuilder()

Cree una ChatResponseBuilder nueva

Solo está disponible para las apps de Google Chat. No está disponible para los 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: Es un ChatResponseBuilder vacío.


newColumn()

Cree una Column nueva

Disponible para apps de Google Chat y 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);

Column: Es una columna vacía.


newColumns()

Crea un conjunto nuevo de Columns.

Disponible para apps de Google Chat y 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(column)
    .addColumn(secondColumn)
    .setWrapStyle(CardService.WrapStyle.WRAP);

Volver

Columns: Indica un conjunto de columnas vacío.


newComposeActionResponseBuilder()

Cree una ComposeActionResponseBuilder nueva

Volver

ComposeActionResponseBuilder: Es un compilador de ComposeActionResponse vacío.


newDatePicker()

Cree una DatePicker nueva

Volver

DatePicker: Es un selector de fecha vacío.


newDateTimePicker()

Cree una DateTimePicker nueva

Volver

DateTimePicker: Es un selector de fecha y hora vacío.


newDecoratedText()

Cree una DecoratedText nueva

Volver

DecoratedText: Es un elemento DecoratedText vacío.


newDialog()

Cree una Dialog nueva

Solo está disponible para las apps de Google Chat. No está disponible para los 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

Dialog: Es un Dialog vacío.


newDialogAction()

Cree una DialogAction nueva

Solo está disponible para las apps de Google Chat. No está disponible para los 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: Es un DialogAction vacío.


newDivider()

Cree una Divider nueva En el siguiente ejemplo, se crea una tarjeta simple de 2 párrafos separadas por un 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;
}

Volver

Divider: Es un divisor.


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

Cree una FixedFooter nueva

Volver

FixedFooter: Es un elemento FixFooter vacío.


newGrid()

Cree una Grid nueva

Volver

Grid: Indica una cuadrícula vacía.


newGridItem()

Cree una GridItem nueva

Volver

GridItem: Es un GridItem vacío.


newIconImage()

Cree una IconImage nueva

Volver

IconImage: Es una imagen de ícono vacía.


newImage()

Cree una Image nueva

Volver

Image: Es una imagen vacía.


newImageButton()

Cree una ImageButton nueva

Volver

ImageButton: Es un ImageButton vacío.


newImageComponent()

Cree una ImageComponent nueva

Volver

ImageComponent: Es un ImageComponent vacío.


newImageCropStyle()

Cree una ImageCropStyle nueva

Volver

ImageCropStyle: Es un elemento ImageCropStyle vacío.


newKeyValue()

Cree una KeyValue nueva

Volver

KeyValue: Es un valor clave-valor vacío.


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.


newNavigation()

Cree una Navigation nueva

Volver

Navigation: Es un objeto Navigation vacío.


newNotification()

Cree una Notification nueva

Volver

Notification: Una notificación vacía.


Cree una OpenLink nueva

Volver

OpenLink: Es un OpenLink vacío.


newSelectionInput()

Cree una SelectionInput nueva

Volver

SelectionInput: Es un SelectionInput vacío.


newSuggestions()

Cree una Suggestions nueva

Volver

Suggestions: Son sugerencias vacías.


newSuggestionsResponseBuilder()

Cree una SuggestionsResponseBuilder nueva

Volver

SuggestionsResponseBuilder: Es un compilador de SuggestionsResponse vacío.


newSwitch()

Cree una Switch nueva

Volver

Switch: Es un switch vacío.


newTextButton()

Cree una TextButton nueva

Volver

TextButton: Es un TextButton vacío.


newTextInput()

Cree una TextInput nueva

Volver

TextInput: Es un objeto TextInput vacío.


newTextParagraph()

Cree una TextParagraph nueva

Volver

TextParagraph: Es un TextParagraph vacío.


newTimePicker()

Cree una TimePicker nueva

Volver

TimePicker: Es un selector de hora vacío.


newUniversalActionResponseBuilder()

Cree una UniversalActionResponseBuilder nueva

Volver

UniversalActionResponseBuilder: Es un compilador de UniversalActionResponse vacío.


newUpdateDraftActionResponseBuilder()

Cree una UpdateDraftActionResponseBuilder nueva

Volver

UpdateDraftActionResponseBuilder: Es un UpdateDraftActionResponseBuilder vacío.


newUpdateDraftBccRecipientsAction()

Crea un UpdateDraftBccRecipientsAction nuevo.

Volver

UpdateDraftBccRecipientsAction: Es una UpdateDraftBccRecipientsAction vacía.


newUpdateDraftBodyAction()

Cree una UpdateDraftBodyAction nueva

Volver

UpdateDraftBodyAction: Es una UpdateDraftBodyAction vacío.


newUpdateDraftCcRecipientsAction()

Cree una UpdateDraftCcRecipientsAction nueva

Volver

UpdateDraftCcRecipientsAction: Una UpdateDraftCcRecipientsAction vacía.


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 apps de Google Chat y complementos de Google Workspace.

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

Volver

Validation: Una validación vacía.