CardService는 Google Workspace 부가기능과 같은 다양한 Google 확장성 제품에서 사용되는 일반 카드를 만들 수 있는 기능을 제공합니다.
다음은 부가기능 카드의 샘플입니다.
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(); }
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();
속성
메서드
자세한 문서
newActionResponseBuilder()
newActionStatus()
새 ActionStatus를 만듭니다.
Google Chat 앱에서만 사용할 수 있습니다. Google Workspace 부가기능에는 사용할 수 없습니다.
const actionStatus = CardService.newActionStatus() .setStatusCode(CardService.Status.OK) .setUserFacingMessage('Success');
리턴
ActionStatus - 빈 ActionStatus입니다.
newAttachment()
newAuthorizationAction()
newAuthorizationException()
newBorderStyle()
newCalendarEventActionResponseBuilder()
newCardAction()
newCardBuilder()
newCardHeader()
newCardSection()
newCardWithId()
새 CardWithId를 만듭니다. Google Chat 메시지에서 카드를 전송하는 데 사용됩니다. 카드 ID는 여러 카드를 전송할 때 메시지의 카드에 대한 고유 식별자입니다.
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()
newChipList()
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()
newComposeActionResponseBuilder()
새 ComposeActionResponseBuilder를 만듭니다.
리턴
ComposeActionResponseBuilder — 빈 ComposeActionResponse 빌더입니다.
newDataSourceConfig()
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를 만듭니다. 다음 샘플은 구분선으로 구분된 단락 2개가 있는 간단한 카드를 빌드합니다.
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()
newDriveItemsSelectedActionResponseBuilder()
newEditorFileScopeActionResponseBuilder()
newEventAction()
newExpressionData()
newExpressionDataAction()
클라이언트 측 유효성 검사에 사용되는 새 ExpressionDataAction를 만듭니다.
리턴
newExpressionDataCondition()
클라이언트 측 유효성 검사에 사용되는 새 ExpressionDataCondition를 만듭니다.
리턴
newHostAppDataSource()
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 - 빈 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()
newSelectionInput()
newSuggestions()
newSuggestionsResponseBuilder()
newTextButton()
newTextParagraph()
newTimePicker()
newUniversalActionResponseBuilder()
새 UniversalActionResponseBuilder를 만듭니다.
리턴
UniversalActionResponseBuilder - 빈 UniversalActionResponse 빌더입니다.
newUpdateDraftActionResponseBuilder()
새 UpdateDraftActionResponseBuilder를 만듭니다.
리턴
UpdateDraftActionResponseBuilder - 빈 UpdateDraftActionResponseBuilder입니다.
newUpdateDraftBccRecipientsAction()
새 UpdateDraftBccRecipientsAction를 만듭니다.
리턴
UpdateDraftBccRecipientsAction - 빈 UpdateDraftBccRecipientsAction입니다.
newUpdateDraftBodyAction()
newUpdateDraftCcRecipientsAction()
새 UpdateDraftCcRecipientsAction를 만듭니다.
리턴
UpdateDraftCcRecipientsAction - 빈 UpdateDraftCcRecipientsAction입니다.
newUpdateDraftSubjectAction()
newUpdateDraftToRecipientsAction()
새 UpdateDraftToRecipientsAction를 만듭니다.
리턴
UpdateDraftToRecipientsAction - 빈 UpdateDraftToRecipientsAction입니다.
newUpdateVisibilityAction()
newValidation()
새 Validation를 만듭니다.
Google Chat 앱 및 Google Workspace 부가기능에서 사용할 수 있습니다.
const validation = CardService.newValidation().setCharacterLimit(5).setInputType( CardService.InputType.EMAIL);
리턴
Validation - 빈 유효성 검사입니다.