Class CardService

CardService

CardService bietet die Möglichkeit, generische Karten zu erstellen, die in verschiedenen Erweiterungsprodukte, z. B. Google Workspace-Add-ons.

Unten sehen Sie ein Beispiel für eine Add-on-Karte.

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

Alternativ kannst du auch mehrere Karten zurückgeben:

return [
  CardService.newCardBuilder().build(),
  CardService.newCardBuilder().build(),
  CardService.newCardBuilder().build()
]

Im Folgenden wird gezeigt, wie Sie eine Karte mit einer Überschrift, einem Text, einem Bild und einem Menüpunkt definieren können:

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();
}

Beispiel für eine Chat-Apps-Karte.

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

Attribute

AttributTypBeschreibung
BorderTypeBorderTypeDie Aufzählung BorderType.
ComposedEmailTypeComposedEmailTypeDie Aufzählung ComposedEmailType.
ContentTypeContentTypeDie Aufzählung ContentType.
GridItemLayoutGridItemLayoutDie Aufzählung GridItemLayout.
HorizontalAlignmentHorizontalAlignmentDie Aufzählung HorizontalAlignment.
IconIconDie Aufzählung Icon.
ImageCropTypeImageCropTypeDie Aufzählung ImageCropType.
ImageStyleImageStyleDie Aufzählung ImageStyle.
LoadIndicatorLoadIndicatorDie Aufzählung LoadIndicator.
OnCloseOnCloseDie Aufzählung OnClose.
OpenAsOpenAsDie Aufzählung OpenAs.
SelectionInputTypeSelectionInputTypeDie Aufzählung SelectionInputType.
TextButtonStyleTextButtonStyleDie Aufzählung TextButtonStyle.
UpdateDraftBodyTypeUpdateDraftBodyTypeDie Aufzählung UpdateDraftBodyType.

Methoden

MethodeRückgabetypKurzbeschreibung
newAction()ActionErstellt einen neuen Action
newActionResponseBuilder()ActionResponseBuilderErstellt einen neuen ActionResponseBuilder
newActionStatus()ActionStatusErstellt einen neuen ActionStatus
newAttachment()AttachmentErstellt einen neuen Attachment
newAuthorizationAction()AuthorizationActionErstellt einen neuen AuthorizationAction
newAuthorizationException()AuthorizationExceptionErstellt einen neuen AuthorizationException
newBorderStyle()BorderStyleErstellt einen neuen BorderStyle
newButtonSet()ButtonSetErstellt einen neuen ButtonSet
newCalendarEventActionResponseBuilder()CalendarEventActionResponseBuilderErstellt einen neuen CalendarEventActionResponseBuilder
newCardAction()CardActionErstellt einen neuen CardAction
newCardBuilder()CardBuilderErstellt einen neuen CardBuilder
newCardHeader()CardHeaderErstellt einen neuen CardHeader
newCardSection()CardSectionErstellt einen neuen CardSection
newCardWithId()CardWithIdErstellt einen neuen CardWithId
newChatActionResponse()ChatActionResponseErstellt einen neuen ChatActionResponse
newChatResponseBuilder()ChatResponseBuilderErstellt einen neuen ChatResponseBuilder
newColumn()ColumnErstellt einen neuen Column
newColumns()ColumnsErstellt einen neuen Satz von Columns.
newComposeActionResponseBuilder()ComposeActionResponseBuilderErstellt einen neuen ComposeActionResponseBuilder
newDatePicker()DatePickerErstellt einen neuen DatePicker
newDateTimePicker()DateTimePickerErstellt einen neuen DateTimePicker
newDecoratedText()DecoratedTextErstellt einen neuen DecoratedText
newDialog()DialogErstellt einen neuen Dialog
newDialogAction()DialogActionErstellt einen neuen DialogAction
newDivider()DividerErstellt einen neuen Divider
newDriveItemsSelectedActionResponseBuilder()DriveItemsSelectedActionResponseBuilderErstellt einen neuen DriveItemsSelectedActionResponseBuilder
newEditorFileScopeActionResponseBuilder()EditorFileScopeActionResponseBuilderErstellt einen neuen EditorFileScopeActionResponseBuilder
newFixedFooter()FixedFooterErstellt einen neuen FixedFooter
newGrid()GridErstellt einen neuen Grid
newGridItem()GridItemErstellt einen neuen GridItem
newIconImage()IconImageErstellt einen neuen IconImage
newImage()ImageErstellt einen neuen Image
newImageButton()ImageButtonErstellt einen neuen ImageButton
newImageComponent()ImageComponentErstellt einen neuen ImageComponent
newImageCropStyle()ImageCropStyleErstellt einen neuen ImageCropStyle
newKeyValue()KeyValueErstellt einen neuen KeyValue
newLinkPreview()LinkPreviewErstellt einen neuen LinkPreview
newNavigation()NavigationErstellt einen neuen Navigation
newNotification()NotificationErstellt einen neuen Notification
newOpenLink()OpenLinkErstellt einen neuen OpenLink
newSelectionInput()SelectionInputErstellt einen neuen SelectionInput
newSuggestions()SuggestionsErstellt einen neuen Suggestions
newSuggestionsResponseBuilder()SuggestionsResponseBuilderErstellt einen neuen SuggestionsResponseBuilder
newSwitch()SwitchErstellt einen neuen Switch
newTextButton()TextButtonErstellt einen neuen TextButton
newTextInput()TextInputErstellt einen neuen TextInput
newTextParagraph()TextParagraphErstellt einen neuen TextParagraph
newTimePicker()TimePickerErstellt einen neuen TimePicker
newUniversalActionResponseBuilder()UniversalActionResponseBuilderErstellt einen neuen UniversalActionResponseBuilder
newUpdateDraftActionResponseBuilder()UpdateDraftActionResponseBuilderErstellt einen neuen UpdateDraftActionResponseBuilder
newUpdateDraftBccRecipientsAction()UpdateDraftBccRecipientsActionErstellt ein neues UpdateDraftBccRecipientsAction;
newUpdateDraftBodyAction()UpdateDraftBodyActionErstellt einen neuen UpdateDraftBodyAction
newUpdateDraftCcRecipientsAction()UpdateDraftCcRecipientsActionErstellt einen neuen UpdateDraftCcRecipientsAction
newUpdateDraftSubjectAction()UpdateDraftSubjectActionErstellt einen neuen UpdateDraftSubjectAction
newUpdateDraftToRecipientsAction()UpdateDraftToRecipientsActionErstellt einen neuen UpdateDraftToRecipientsAction
newValidation()ValidationErstellt einen neuen Validation

Detaillierte Dokumentation

newAction()

Erstellt einen neuen Action

Rückflug

Action: Eine leere Aktion.


newActionResponseBuilder()

Erstellt einen neuen ActionResponseBuilder

Rückflug

ActionResponseBuilder: Ein leerer ActionResponse-Builder.


newActionStatus()

Erstellt einen neuen ActionStatus

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

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

Rückflug

ActionStatus: Ein leerer ActionStatus.


newAttachment()

Erstellt einen neuen Attachment

Rückflug

Attachment: Ein leerer Anhang.


newAuthorizationAction()

Erstellt einen neuen AuthorizationAction

Rückflug

AuthorizationAction: Eine leere AuthorizationAction.


newAuthorizationException()

Erstellt einen neuen AuthorizationException

Rückflug

AuthorizationException: Eine leere AuthorizationException.


newBorderStyle()

Erstellt einen neuen BorderStyle

Rückflug

BorderStyle: Ein leerer BorderStyle.


newButtonSet()

Erstellt einen neuen ButtonSet

Rückflug

ButtonSet: Ein leeres ButtonSet.


newCalendarEventActionResponseBuilder()


newCardAction()

Erstellt einen neuen CardAction

Rückflug

CardAction: Eine leere CardAction.


newCardBuilder()

Erstellt einen neuen CardBuilder

Rückflug

CardBuilder: Ein leerer Kartenersteller.


newCardHeader()

Erstellt einen neuen CardHeader

Rückflug

CardHeader: Ein leerer CardHeader.


newCardSection()

Erstellt einen neuen CardSection

Rückflug

CardSection: Ein leerer CardSection.


newCardWithId()

Erstellt einen neuen CardWithId Hiermit wird eine Karte in einer Google Chat-Nachricht gesendet. Karten-ID ist eine eindeutige Kennung für eine Karte in einer Nachricht, wenn mehrere Karten gesendet werden.

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

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

Rückflug

CardWithId: Ein leeres CardWithId.


newChatActionResponse()

Erstellt einen neuen ChatActionResponse

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

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

Rückflug

ChatActionResponse: Ein leeres ChatActionResponse.


newChatResponseBuilder()

Erstellt einen neuen ChatResponseBuilder

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

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

Rückflug

ChatResponseBuilder: Ein leerer ChatResponseBuilder.


newColumn()

Erstellt einen neuen Column

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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: Eine leere Spalte.


newColumns()

Erstellt einen neuen Satz von Columns.

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

Rückflug

Columns: Ein leerer Satz von Spalten.


newComposeActionResponseBuilder()

Erstellt einen neuen ComposeActionResponseBuilder

Rückflug

ComposeActionResponseBuilder: Ein leerer ComposeActionResponse-Builder.


newDatePicker()

Erstellt einen neuen DatePicker

Rückflug

DatePicker: Ein leerer DatePicker.


newDateTimePicker()

Erstellt einen neuen DateTimePicker

Rückflug

DateTimePicker: Ein leerer DateTimePicker.


newDecoratedText()

Erstellt einen neuen DecoratedText

Rückflug

DecoratedText: Ein leerer dekorierterText.


newDialog()

Erstellt einen neuen Dialog

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title')).build();

// Sets the card of the dialog.
const dialog = CardService.newDialog()
    .setBody(card);

Rückflug

Dialog: Ein leeres Dialog.


newDialogAction()

Erstellt einen neuen DialogAction

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

const card = CardService.newCardBuilder()
    .setHeader(CardService.newCardHeader().setTitle('Card title')).build();
const dialog = CardService.newDialog()
    .setBody(card);

const dialogAction = CardService.newDialogAction()
    .setDialog(dialog)

Rückflug

DialogAction: Ein leeres DialogAction.


newDivider()

Erstellt einen neuen Divider Im folgenden Beispiel wird eine einfache Karte mit zwei Absätzen erstellt durch eine Trennlinie getrennt.

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;
}

Rückflug

Divider: Eine Trennlinie.


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

Erstellt einen neuen FixedFooter

Rückflug

FixedFooter: Ein leerer FixedFooter.


newGrid()

Erstellt einen neuen Grid

Rückflug

Grid: Ein leeres Raster.


newGridItem()

Erstellt einen neuen GridItem

Rückflug

GridItem: Ein leeres GridItem.


newIconImage()

Erstellt einen neuen IconImage

Rückflug

IconImage: Ein leeres Symbolbild.


newImage()

Erstellt einen neuen Image

Rückflug

Image: Ein leeres Bild.


newImageButton()

Erstellt einen neuen ImageButton

Rückflug

ImageButton: Ein leeres ImageButton.


newImageComponent()

Erstellt einen neuen ImageComponent

Rückflug

ImageComponent: Eine leere ImageComponent.


newImageCropStyle()

Erstellt einen neuen ImageCropStyle

Rückflug

ImageCropStyle: Ein leerer ImageZuschneidenStyle.


newKeyValue()

Erstellt einen neuen KeyValue

Rückflug

KeyValue: Ein leerer KeyValue.


newLinkPreview()

Erstellt einen neuen 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');

Rückflug

LinkPreview: Eine leere LinkPreview.


newNavigation()

Erstellt einen neuen Navigation

Rückflug

Navigation: Eine leere Navigation.


newNotification()

Erstellt einen neuen Notification

Rückflug

Notification: Eine leere Benachrichtigung.


Erstellt einen neuen OpenLink

Rückflug

OpenLink: Ein leerer OpenLink.


newSelectionInput()

Erstellt einen neuen SelectionInput

Rückflug

SelectionInput: Ein leeres Auswahlfeld.


newSuggestions()

Erstellt einen neuen Suggestions

Rückflug

Suggestions: Ein leeres Feld für Vorschläge.


newSuggestionsResponseBuilder()

Erstellt einen neuen SuggestionsResponseBuilder

Rückflug

SuggestionsResponseBuilder: Ein leerer VorschlagResponse-Builder.


newSwitch()

Erstellt einen neuen Switch

Rückflug

Switch: Ein leerer Schalter.


newTextButton()

Erstellt einen neuen TextButton

Rückflug

TextButton: Ein leeres TextButton.


newTextInput()

Erstellt einen neuen TextInput

Rückflug

TextInput: Ein leeres TextInput.


newTextParagraph()

Erstellt einen neuen TextParagraph

Rückflug

TextParagraph: Ein leerer TextParagraph.


newTimePicker()

Erstellt einen neuen TimePicker

Rückflug

TimePicker: Ein leerer TimePicker.


newUniversalActionResponseBuilder()

Erstellt einen neuen UniversalActionResponseBuilder

Rückflug

UniversalActionResponseBuilder: Ein leerer UniversalActionResponse-Builder.


newUpdateDraftActionResponseBuilder()

Erstellt einen neuen UpdateDraftActionResponseBuilder

Rückflug

UpdateDraftActionResponseBuilder: Ein leerer UpdateDraftActionResponseBuilder.


newUpdateDraftBccRecipientsAction()

Erstellt ein neues UpdateDraftBccRecipientsAction;

Rückflug

UpdateDraftBccRecipientsAction: Ein leeres UpdateDraftBccRecipientsAction.


newUpdateDraftBodyAction()

Erstellt einen neuen UpdateDraftBodyAction

Rückflug

UpdateDraftBodyAction: Eine leere UpdateDraftBodyAction.


newUpdateDraftCcRecipientsAction()

Erstellt einen neuen UpdateDraftCcRecipientsAction

Rückflug

UpdateDraftCcRecipientsAction: Eine leere UpdateDraftCcRecipientsAction.


newUpdateDraftSubjectAction()

Erstellt einen neuen UpdateDraftSubjectAction

Rückflug

UpdateDraftSubjectAction: Eine leere UpdateDraftSubjectAction.


newUpdateDraftToRecipientsAction()

Erstellt einen neuen UpdateDraftToRecipientsAction

Rückflug

UpdateDraftToRecipientsAction: Ein leeres UpdateDraftToRecipientsAction-Element.


newValidation()

Erstellt einen neuen Validation

Verfügbar für Google Chat-Apps und Google Workspace-Add-ons.

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

Rückflug

Validation: Eine leere Validierung.