Class CardService

CardService

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

속성

속성유형설명
BorderTypeBorderTypeBorderType 열거형
ChipListLayoutChipListLayoutChipListLayout 열거형
ComposedEmailTypeComposedEmailTypeComposedEmailType 열거형
ContentTypeContentTypeContentType 열거형
GridItemLayoutGridItemLayoutGridItemLayout 열거형
HorizontalAlignmentHorizontalAlignmentHorizontalAlignment 열거형
IconIconIcon 열거형
ImageButtonStyleImageButtonStyleImageButtonStyle 열거형
ImageCropTypeImageCropTypeImageCropType 열거형
ImageStyleImageStyleImageStyle 열거형
InputTypeInputTypeInputType 열거형
LoadIndicatorLoadIndicatorLoadIndicator 열거형
OnCloseOnCloseOnClose 열거형
OpenAsOpenAsOpenAs 열거형
SelectionInputTypeSelectionInputTypeSelectionInputType 열거형
TextButtonStyleTextButtonStyleTextButtonStyle 열거형
UpdateDraftBodyTypeUpdateDraftBodyTypeUpdateDraftBodyType 열거형

메서드

메서드반환 유형간략한 설명
newAction()ActionAction를 만듭니다.
newActionResponseBuilder()ActionResponseBuilderActionResponseBuilder를 만듭니다.
newActionStatus()ActionStatusActionStatus를 만듭니다.
newAttachment()AttachmentAttachment를 만듭니다.
newAuthorizationAction()AuthorizationActionAuthorizationAction를 만듭니다.
newAuthorizationException()AuthorizationExceptionAuthorizationException를 만듭니다.
newBorderStyle()BorderStyleBorderStyle를 만듭니다.
newButtonSet()ButtonSetButtonSet를 만듭니다.
newCalendarEventActionResponseBuilder()CalendarEventActionResponseBuilderCalendarEventActionResponseBuilder를 만듭니다.
newCardAction()CardActionCardAction를 만듭니다.
newCardBuilder()CardBuilder새 카드 빌더를 만듭니다.
newCardHeader()CardHeaderCardHeader를 만듭니다.
newCardSection()CardSectionCardSection를 만듭니다.
newCardWithId()CardWithIdCardWithId를 만듭니다.
newChatActionResponse()ChatActionResponseChatActionResponse를 만듭니다.
newChatResponseBuilder()ChatResponseBuilderChatResponseBuilder를 만듭니다.
newChip()ChipChip를 만듭니다.
newChipList()ChipListChipList를 만듭니다.
newCollapseControl()CollapseControlCollapseControl를 만듭니다.
newColumn()ColumnColumn를 만듭니다.
newColumns()ColumnsColumns 세트를 만듭니다.
newComposeActionResponseBuilder()ComposeActionResponseBuilderComposeActionResponseBuilder를 만듭니다.
newDatePicker()DatePickerDatePicker를 만듭니다.
newDateTimePicker()DateTimePickerDateTimePicker를 만듭니다.
newDecoratedText()DecoratedTextDecoratedText를 만듭니다.
newDialog()DialogDialog를 만듭니다.
newDialogAction()DialogActionDialogAction를 만듭니다.
newDivider()DividerDivider를 만듭니다.
newDriveItemsSelectedActionResponseBuilder()DriveItemsSelectedActionResponseBuilderDriveItemsSelectedActionResponseBuilder를 만듭니다.
newEditorFileScopeActionResponseBuilder()EditorFileScopeActionResponseBuilderEditorFileScopeActionResponseBuilder를 만듭니다.
newFixedFooter()FixedFooterFixedFooter를 만듭니다.
newGrid()GridGrid를 만듭니다.
newGridItem()GridItemGridItem를 만듭니다.
newIconImage()IconImageIconImage를 만듭니다.
newImage()ImageImage를 만듭니다.
newImageButton()ImageButtonImageButton를 만듭니다.
newImageComponent()ImageComponentImageComponent를 만듭니다.
newImageCropStyle()ImageCropStyleImageCropStyle를 만듭니다.
newKeyValue()KeyValueKeyValue를 만듭니다.
newLinkPreview()LinkPreviewLinkPreview를 만듭니다.
newMaterialIcon()MaterialIconMaterialIcon를 만듭니다.
newNavigation()NavigationNavigation를 만듭니다.
newNotification()NotificationNotification를 만듭니다.
newOpenLink()OpenLinkOpenLink를 만듭니다.
newOverflowMenu()OverflowMenuOverflowMenu를 만듭니다.
newOverflowMenuItem()OverflowMenuItemOverflowMenuItem를 만듭니다.
newSelectionInput()SelectionInputSelectionInput를 만듭니다.
newSuggestions()SuggestionsSuggestions를 만듭니다.
newSuggestionsResponseBuilder()SuggestionsResponseBuilderSuggestionsResponseBuilder를 만듭니다.
newSwitch()SwitchSwitch를 만듭니다.
newTextButton()TextButtonTextButton를 만듭니다.
newTextInput()TextInputTextInput를 만듭니다.
newTextParagraph()TextParagraphTextParagraph를 만듭니다.
newTimePicker()TimePickerTimePicker를 만듭니다.
newUniversalActionResponseBuilder()UniversalActionResponseBuilderUniversalActionResponseBuilder를 만듭니다.
newUpdateDraftActionResponseBuilder()UpdateDraftActionResponseBuilderUpdateDraftActionResponseBuilder를 만듭니다.
newUpdateDraftBccRecipientsAction()UpdateDraftBccRecipientsActionUpdateDraftBccRecipientsAction를 만듭니다.
newUpdateDraftBodyAction()UpdateDraftBodyActionUpdateDraftBodyAction를 만듭니다.
newUpdateDraftCcRecipientsAction()UpdateDraftCcRecipientsActionUpdateDraftCcRecipientsAction를 만듭니다.
newUpdateDraftSubjectAction()UpdateDraftSubjectActionUpdateDraftSubjectAction를 만듭니다.
newUpdateDraftToRecipientsAction()UpdateDraftToRecipientsActionUpdateDraftToRecipientsAction를 만듭니다.
newValidation()ValidationValidation를 만듭니다.

자세한 문서

newAction()

Action를 만듭니다.

리턴

Action: 빈 작업입니다.


newActionResponseBuilder()

ActionResponseBuilder를 만듭니다.

리턴

ActionResponseBuilder: 빈 ActionResponse 빌더입니다.


newActionStatus()

ActionStatus를 만듭니다.

Google Chat 앱에서만 사용할 수 있습니다. Google Workspace 부가기능에는 사용할 수 없습니다.

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

리턴

ActionStatus: 빈 ActionStatus입니다.


newAttachment()

Attachment를 만듭니다.

리턴

Attachment: 빈 첨부파일입니다.


newAuthorizationAction()

AuthorizationAction를 만듭니다.

리턴

AuthorizationAction: 빈 AuthorizationAction입니다.


newAuthorizationException()

AuthorizationException를 만듭니다.

리턴

AuthorizationException: 빈 AuthorizationException입니다.


newBorderStyle()

BorderStyle를 만듭니다.

리턴

BorderStyle: 빈 BorderStyle입니다.


newButtonSet()

ButtonSet를 만듭니다.

리턴

ButtonSet: 빈 ButtonSet입니다.


newCalendarEventActionResponseBuilder()


newCardAction()

CardAction를 만듭니다.

리턴

CardAction: 빈 CardAction입니다.


newCardBuilder()

새 카드 빌더를 만듭니다.

리턴

CardBuilder: 빈 카드 빌더입니다.


newCardHeader()

CardHeader를 만듭니다.

리턴

CardHeader: 빈 CardHeader입니다.


newCardSection()

CardSection를 만듭니다.

리턴

CardSection: 빈 CardSection입니다.


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입니다.


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: 빈 열 집합입니다.


newComposeActionResponseBuilder()

ComposeActionResponseBuilder를 만듭니다.

리턴

ComposeActionResponseBuilder: 빈 ComposeActionResponse 빌더입니다.


newDatePicker()

DatePicker를 만듭니다.

리턴

DatePicker: 빈 DatePicker입니다.


newDateTimePicker()

DateTimePicker를 만듭니다.

리턴

DateTimePicker: 빈 DateTimePicker입니다.


newDecoratedText()

DecoratedText를 만듭니다.

리턴

DecoratedText: 빈 DecoratedText입니다.


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

리턴

Dialog: 빈 Dialog입니다.


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: 구분자입니다.


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

FixedFooter를 만듭니다.

리턴

FixedFooter: 빈 FixedFooter입니다.


newGrid()

Grid를 만듭니다.

리턴

Grid: 빈 그리드입니다.


newGridItem()

GridItem를 만듭니다.

리턴

GridItem: 빈 GridItem입니다.


newIconImage()

IconImage를 만듭니다.

리턴

IconImage: 빈 아이콘 이미지입니다.


newImage()

Image를 만듭니다.

리턴

Image: 빈 이미지입니다.


newImageButton()

ImageButton를 만듭니다.

리턴

ImageButton: 빈 ImageButton입니다.


newImageComponent()

ImageComponent를 만듭니다.

리턴

ImageComponent: 빈 ImageComponent입니다.


newImageCropStyle()

ImageCropStyle를 만듭니다.

리턴

ImageCropStyle: 빈 ImageCropStyle입니다.


newKeyValue()

KeyValue를 만듭니다.

리턴

KeyValue: 빈 KeyValue입니다.


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입니다.


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입니다.


newNavigation()

Navigation를 만듭니다.

리턴

Navigation: 빈 탐색입니다.


newNotification()

Notification를 만듭니다.

리턴

Notification: 빈 알림입니다.


OpenLink를 만듭니다.

리턴

OpenLink: 빈 OpenLink입니다.


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입니다.


newSelectionInput()

SelectionInput를 만듭니다.

리턴

SelectionInput: 빈 SelectionInput입니다.


newSuggestions()

Suggestions를 만듭니다.

리턴

Suggestions: 추천이 비어 있습니다.


newSuggestionsResponseBuilder()

SuggestionsResponseBuilder를 만듭니다.

리턴

SuggestionsResponseBuilder: 빈 SuggestionsResponse 빌더입니다.


newSwitch()

Switch를 만듭니다.

리턴

Switch: 빈 스위치입니다.


newTextButton()

TextButton를 만듭니다.

리턴

TextButton: 빈 TextButton입니다.


newTextInput()

TextInput를 만듭니다.

리턴

TextInput: 빈 TextInput입니다.


newTextParagraph()

TextParagraph를 만듭니다.

리턴

TextParagraph: 빈 TextParagraph입니다.


newTimePicker()

TimePicker를 만듭니다.

리턴

TimePicker: 빈 TimePicker입니다.


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입니다.


newValidation()

Validation를 만듭니다.

Google Chat 앱 및 Google Workspace 부가기능에서 사용할 수 있습니다.

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

리턴

Validation: 빈 유효성 검사입니다.