CardService предоставляет возможность создавать универсальные карточки, используемые в различных продуктах расширения Google, таких как дополнения Google Workspace .
Ниже приведён пример карты дополнительных услуг.
function createCard() { return CardService.newCardBuilder() .setHeader(CardService.newCardHeader().setTitle('CardTitle')) .build(); }
Или вы можете вернуть несколько карт следующим образом:
function createCards() { return [ CardService.newCardBuilder().build(), CardService.newCardBuilder().build(), CardService.newCardBuilder().build(), ]; }
Ниже показано, как можно определить карточку с заголовком, текстом, изображением и пунктом меню:
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(); }
Пример карточки для чат-приложения.
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();
Характеристики
| Свойство | Тип | Описание |
|---|---|---|
Border Type | Border Type | Перечисление Border Type . |
Chip List Layout | Chip List Layout | Перечисление Chip List Layout . |
Common Data Source | Common Data Source | Перечисление Common Data Source . |
Composed Email Type | Composed Email Type | Перечисление Composed Email Type . |
Content Type | Content Type | Перечисление Content Type . |
Drive Item Type | Drive Item Type | Перечисление Drive Item Type . |
Expression Data Action Type | Expression Data Action Type | Перечисление Expression Data Action Type . |
Expression Data Condition Type | Expression Data Condition Type | Перечисление Expression Data Condition Type . |
Grid Item Layout | Grid Item Layout | Перечисление Grid Item Layout . |
Horizontal Alignment | Horizontal Alignment | Перечисление Horizontal Alignment . |
Icon | Icon | Перечисление Icon . |
Image Button Style | Image Button Style | Перечисление Image Button Style . |
Image Crop Type | Image Crop Type | Перечисление Image Crop Type . |
Image Style | Image Style | Перечисление Image Style . |
Input Type | Input Type | Перечисление Input Type . |
Load Indicator | Load Indicator | Перечисление Load Indicator . |
On Close | On Close | Перечисление « On Close . |
Open As | Open As | Перечисление Open As . |
Selection Input Type | Selection Input Type | Перечисление Selection Input Type . |
Text Button Style | Text Button Style | Перечисление Text Button Style . |
Text Input Mode | Text Input Mode | Перечисление Text Input Mode . |
Update Draft Body Type | Update Draft Body Type | Перечисление Update Draft Body Type . |
Variable Button Size | Variable Button Size | Перечисление Variable Button Size . |
Visibility | Visibility | Перечисление Visibility . |
Workflow Data Source Type | Workflow Data Source Type | Перечисление Workflow Data Source Type . |
Методы
Подробная документация
newActionResponseBuilder()
Создает новый объект ActionResponseBuilder .
Возвращаться
ActionResponseBuilder — Пустой конструктор ActionResponse.
newActionStatus()
Создает новый ActionStatus .
Доступно только для приложений Google Chat. Недоступно для дополнений Google Workspace.
const actionStatus = CardService.newActionStatus() .setStatusCode(CardService.Status.OK) .setUserFacingMessage('Success');
Возвращаться
ActionStatus — Пустой объект ActionStatus.
newAttachment()
newAuthorizationAction()
Создает новый объект AuthorizationAction .
Возвращаться
AuthorizationAction — Пустой объект AuthorizationAction.
newAuthorizationException()
Создает новое исключение AuthorizationException .
Возвращаться
AuthorizationException — Пустое исключение AuthorizationException.
newBorderStyle()
newCalendarEventActionResponseBuilder()
Создает новый объект CalendarEventActionResponseBuilder .
Возвращаться
CalendarEventActionResponseBuilder — Пустой объект CalendarEventActionResponseBuilder .
newCardAction()
newCardBuilder()
newCardHeader()
newCardSection()
newCardWithId()
Создает новый объект CardWithId . Он используется для отправки карточки в сообщении Google Chat. CardID — это уникальный идентификатор карточки в сообщении при отправке нескольких карточек.
Доступно только для приложений Google Chat. Недоступно для дополнений 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);
Возвращаться
CardWithId — Пустой объект CardWithId .
newCarousel()
Создает Carousel .
const carousel = CardService.newCarousel() .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The first text paragraph in carousel'))) .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The second text paragraph in carousel'))) .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The third text paragraph in carousel')))
Возвращаться
Carousel — Пустая карусель.
newCarouselCard()
Создает новую CarouselCard .
const carouselCard = CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('Text paragraph in carousel'));
Возвращаться
CarouselCard — Пустая карта.
newChatActionResponse()
Создает новый объект ChatActionResponse .
Доступно только для приложений Google Chat. Недоступно для дополнений 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);
Возвращаться
ChatActionResponse — пустой ChatActionResponse .
newChatResponseBuilder()
Создает новый объект ChatResponseBuilder .
Доступно только для приложений Google Chat. Недоступно для дополнений 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();
Возвращаться
ChatResponseBuilder — пустой ChatResponseBuilder.
newChip()
Создает новый Chip .
Доступно для приложений Google Chat. Для дополнений Google Workspace доступна предварительная версия для разработчиков.
const chip = CardService.newChip() .setLabel('Open Link') .setOpenLink(CardService.newOpenLink().setUrl( 'https://www.google.com'));
Возвращаться
Chip — Пустой чип.
newChipList()
Создает новый ChipList .
Доступно для приложений Google Chat. Для дополнений Google Workspace доступна предварительная версия для разработчиков.
const chip = CardService.newChip(); // Finish building the text chip... const chipList = CardService.newChipList() .setLayout(CardService.ChipListLayout.WRAPPED) .addChip(chip);
Возвращаться
ChipList — Пустой ChipList.
newCollapseControl()
Создает новый элемент CollapseControl .
Доступно для приложений Google Chat. Для дополнений Google Workspace доступна предварительная версия для разработчиков.
const collapseControl = CardService.newCollapseControl() .setHorizontalAlign(CardService.HorizontalAlignment.START) .setExpandButton(CardService.newTextButton().setText('Expand')) .setCollapseButton(CardService.newTextButton().setText('Collapse'));
Возвращаться
CollapseControl — Пустой объект CollapseControl.
newColumn()
Создает новый Column .
Доступно для приложений Google Chat и дополнений 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 — Пустая колонка.
newColumns()
Создает новый набор Columns .
Доступно для приложений Google Chat и дополнений 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);
Возвращаться
Columns — Пустое множество столбцов.
newCommonWidgetAction()
Создает новый объект CommonWidgetAction .
Возвращаться
CommonWidgetAction — Пустой объект CommonWidgetAction .
newComposeActionResponseBuilder()
Создает новый объект ComposeActionResponseBuilder .
Возвращаться
ComposeActionResponseBuilder — Пустой конструктор ComposeActionResponse.
newCondition()
newDataSourceConfig()
Создает новый пустой DataSourceConfig .
Возвращаться
DataSourceConfig — Пустой объект DataSourceConfig .
newDatePicker()
newDateTimePicker()
newDecoratedText()
newDialog()
Создает новый Dialog .
Доступно только для приложений Google Chat. Недоступно для дополнений 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);
Возвращаться
newDialogAction()
Создает новый объект DialogAction .
Доступно только для приложений Google Chat. Недоступно для дополнений 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);
Возвращаться
DialogAction — Пустой объект DialogAction .
newDivider()
Создает новый Divider . В следующем примере создается простая карточка с двумя абзацами, разделенными разделителем.
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; }
Возвращаться
Divider — Разделитель.
newDriveDataSourceSpec()
Создает новый объект DriveDataSourceSpec .
Возвращаться
DriveDataSourceSpec — Пустой DriveDataSourceSpec .
newDriveItemsSelectedActionResponseBuilder()
Создает новый объект DriveItemsSelectedActionResponseBuilder .
Возвращаться
DriveItemsSelectedActionResponseBuilder — Пустой объект DriveItemsSelectedActionResponseBuilder .
newEditorFileScopeActionResponseBuilder()
Создает новый объект EditorFileScopeActionResponseBuilder .
Возвращаться
EditorFileScopeActionResponseBuilder — Пустой объект EditorFileScopeActionResponseBuilder .
newEventAction()
Создает новый EventAction , используемый для проверки данных на стороне клиента.
Возвращаться
EventAction — Пустой объект EventAction .
newExpressionData()
Создает новый ExpressionData , используемый для проверки данных на стороне клиента.
Возвращаться
ExpressionData — Пустой объект ExpressionData .
newExpressionDataAction()
Создает новый объект ExpressionDataAction , используемый для проверки данных на стороне клиента.
Возвращаться
ExpressionDataAction — Пустой объект ExpressionDataAction .
newExpressionDataCondition()
Создает новый объект ExpressionDataCondition , используемый для проверки данных на стороне клиента.
Возвращаться
ExpressionDataCondition — Пустое значение ExpressionDataCondition .
newHostAppDataSource()
Создает новый объект HostAppDataSource .
Возвращаться
HostAppDataSource — Объект HostAppDataSource .
newImageButton()
newImageComponent()
newImageCropStyle()
newLinkPreview()
Создает новый LinkPreview .
const decoratedText = CardService.newDecoratedText().setTopLabel('Hello').setText('Hi!'); const cardSection = CardService.newCardSection().addWidget(decoratedText); const card = CardService.newCardBuilder().addSection(cardSection).build(); return CardService.newLinkPreview().setPreviewCard(card).setTitle( 'Smart chip title');
Возвращаться
LinkPreview — Пустой объект LinkPreview.
newMaterialIcon()
Создает новый MaterialIcon .
Доступно для приложений Google Chat и дополнений 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();
Возвращаться
MaterialIcon — Пустой MaterialIcon.
newNotification()
newOverflowMenu()
Создает новое OverflowMenu ).
Доступно для приложений Google Chat. Для дополнений Google Workspace доступна предварительная версия для разработчиков.
const overflowMenuItem = CardService.newOverflowMenuItem(); // Finish building the overflow menu item... const overflowMenu = CardService.newOverflowMenu().addMenuItem(overflowMenuItem);
Возвращаться
OverflowMenu — Пустое меню переполнения.
newOverflowMenuItem()
Создает новый элемент OverflowMenuItem .
Доступно для приложений Google Chat. Для дополнений 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'));
Возвращаться
OverflowMenuItem — Пустой объект OverflowMenuItem.
newPlatformDataSource()
Создает новый объект PlatformDataSource .
Возвращаться
PlatformDataSource — Пустой объект PlatformDataSource .
newSelectionInput()
newSuggestions()
newSuggestionsResponseBuilder()
Создает новый объект SuggestionsResponseBuilder .
Возвращаться
SuggestionsResponseBuilder — Пустой конструктор SuggestionsResponse.
newTextButton()
newTextParagraph()
newTimePicker()
newTrigger()
newUniversalActionResponseBuilder()
Создает новый объект UniversalActionResponseBuilder .
Возвращаться
UniversalActionResponseBuilder — Пустой конструктор UniversalActionResponse.
newUpdateDraftActionResponseBuilder()
Создает новый объект UpdateDraftActionResponseBuilder .
Возвращаться
UpdateDraftActionResponseBuilder — Пустой объект UpdateDraftActionResponseBuilder.
newUpdateDraftBccRecipientsAction()
Создает новый объект UpdateDraftBccRecipientsAction ;
Возвращаться
UpdateDraftBccRecipientsAction — Пустой объект UpdateDraftBccRecipientsAction.
newUpdateDraftBodyAction()
Создает новый объект UpdateDraftBodyAction .
Возвращаться
UpdateDraftBodyAction — Пустой объект UpdateDraftBodyAction.
newUpdateDraftCcRecipientsAction()
Создает новый объект UpdateDraftCcRecipientsAction .
Возвращаться
UpdateDraftCcRecipientsAction — Пустой объект UpdateDraftCcRecipientsAction.
newUpdateDraftSubjectAction()
Создает новый объект UpdateDraftSubjectAction .
Возвращаться
UpdateDraftSubjectAction — Пустой объект UpdateDraftSubjectAction.
newUpdateDraftToRecipientsAction()
Создает новый объект UpdateDraftToRecipientsAction .
Возвращаться
UpdateDraftToRecipientsAction — Пустой объект UpdateDraftToRecipientsAction.
newUpdateVisibilityAction()
Создает новый объект UpdateVisibilityAction .
Возвращаться
UpdateVisibilityAction — Пустой объект UpdateVisibilityAction .
newValidation()
Создает новую Validation .
Доступно для приложений Google Chat и дополнений Google Workspace.
const validation = CardService.newValidation().setCharacterLimit(5).setInputType( CardService.InputType.EMAIL);
Возвращаться
Validation — Пустая проверка.
newWorkflowDataSource()
Создает новый объект WorkflowDataSource .
Возвращаться
WorkflowDataSource — Пустой объект WorkflowDataSource .