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();
Oder du kannst 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
Attribut | Typ | Beschreibung |
---|---|---|
BorderType | BorderType | Die Aufzählung BorderType . |
ComposedEmailType | ComposedEmailType | Die Aufzählung ComposedEmailType . |
ContentType | ContentType | Die Aufzählung ContentType . |
GridItemLayout | GridItemLayout | Die Aufzählung GridItemLayout . |
HorizontalAlignment | HorizontalAlignment | Die Aufzählung HorizontalAlignment . |
Icon | Icon | Die Aufzählung Icon . |
ImageCropType | ImageCropType | Die Aufzählung ImageCropType . |
ImageStyle | ImageStyle | Die Aufzählung ImageStyle . |
LoadIndicator | LoadIndicator | Die Aufzählung LoadIndicator . |
OnClose | OnClose | Die Aufzählung OnClose . |
OpenAs | OpenAs | Die Aufzählung OpenAs . |
SelectionInputType | SelectionInputType | Die Aufzählung SelectionInputType . |
TextButtonStyle | TextButtonStyle | Die Aufzählung TextButtonStyle . |
UpdateDraftBodyType | UpdateDraftBodyType | Die Aufzählung UpdateDraftBodyType . |
Methoden
Detaillierte Dokumentation
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()
newAuthorizationAction()
Erstellt einen neuen AuthorizationAction
Rückflug
AuthorizationAction
: Eine leere AuthorizationAction.
newAuthorizationException()
Erstellt einen neuen AuthorizationException
Rückflug
AuthorizationException
: Eine leere AuthorizationException.
newBorderStyle()
newCalendarEventActionResponseBuilder()
Erstellt einen neuen CalendarEventActionResponseBuilder
Rückflug
CalendarEventActionResponseBuilder
: Ein leeres CalendarEventActionResponseBuilder
.
newCardAction()
newCardBuilder()
newCardHeader()
newCardSection()
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()
newDateTimePicker()
newDecoratedText()
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
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()
Erstellt einen neuen DriveItemsSelectedActionResponseBuilder
Rückflug
DriveItemsSelectedActionResponseBuilder
: Ein leeres DriveItemsSelectedActionResponseBuilder
.
newEditorFileScopeActionResponseBuilder()
Erstellt einen neuen EditorFileScopeActionResponseBuilder
Rückflug
EditorFileScopeActionResponseBuilder
: Ein leeres EditorFileScopeActionResponseBuilder
.
newImageButton()
newImageComponent()
newImageCropStyle()
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.
newNotification()
newSelectionInput()
newSuggestions()
newSuggestionsResponseBuilder()
Erstellt einen neuen SuggestionsResponseBuilder
Rückflug
SuggestionsResponseBuilder
: Ein leerer VorschlagResponse-Builder.
newTextButton()
newTextParagraph()
newTimePicker()
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.