CardService는 다양한 Google 서비스에서 사용되는 일반 카드를 만드는 기능을 제공합니다. 확장 제품(예: Google Workspace 부가기능)
다음은 부가기능 카드 샘플입니다.
return CardService.newCardBuilder() .setHeader(CardService.newCardHeader().setTitle("CardTitle")) .build();
또는 다음과 같이 여러 카드를 반환할 수도 있습니다.
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();
속성
속성 | 유형 | 설명 |
---|---|---|
BorderType | BorderType | BorderType 열거형. |
ComposedEmailType | ComposedEmailType | ComposedEmailType 열거형. |
ContentType | ContentType | ContentType 열거형. |
GridItemLayout | GridItemLayout | GridItemLayout 열거형. |
HorizontalAlignment | HorizontalAlignment | HorizontalAlignment 열거형. |
Icon | Icon | Icon 열거형. |
ImageCropType | ImageCropType | ImageCropType 열거형. |
ImageStyle | ImageStyle | ImageStyle 열거형. |
LoadIndicator | LoadIndicator | LoadIndicator 열거형. |
OnClose | OnClose | OnClose 열거형. |
OpenAs | OpenAs | OpenAs 열거형. |
SelectionInputType | SelectionInputType | SelectionInputType 열거형. |
TextButtonStyle | TextButtonStyle | TextButtonStyle 열거형. |
UpdateDraftBodyType | UpdateDraftBodyType | UpdateDraftBodyType 열거형. |
메서드
자세한 문서
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
입니다.
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입니다.
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(column) .addColumn(secondColumn) .setWrapStyle(CardService.WrapStyle.WRAP);
리턴
Columns
- 빈 열 집합입니다.
newComposeActionResponseBuilder()
새 ComposeActionResponseBuilder
를 만듭니다.
리턴
ComposeActionResponseBuilder
- 빈 ComposeActionResponse 빌더입니다.
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() { 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; }
리턴
Divider
- 구분선.
newDriveItemsSelectedActionResponseBuilder()
newEditorFileScopeActionResponseBuilder()
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(); const linkPreview = CardService.newLinkPreview() .setPreviewCard(card) .setTitle('Smart chip title');
리턴
LinkPreview
- 빈 LinkPreview입니다.
newNotification()
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입니다.
newValidation()
새 Validation
를 만듭니다.
Google Chat 앱 및 Google Workspace 부가기능에서 사용할 수 있습니다.
const validation = CardService.newValidation() .setCharacterLimit(5) .setInputType(CardService.InputType.EMAIL);
리턴
Validation
- 빈 유효성 검사입니다.