Class 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()Action新しい Action を作成します。
newActionResponseBuilder()ActionResponseBuilder新しい ActionResponseBuilder を作成します。
newActionStatus()ActionStatus新しい ActionStatus を作成します。
newAttachment()Attachment新しい Attachment を作成します。
newAuthorizationAction()AuthorizationAction新しい AuthorizationAction を作成します。
newAuthorizationException()AuthorizationException新しい AuthorizationException を作成します。
newBorderStyle()BorderStyle新しい BorderStyle を作成します。
newButtonSet()ButtonSet新しい ButtonSet を作成します。
newCalendarEventActionResponseBuilder()CalendarEventActionResponseBuilder新しい CalendarEventActionResponseBuilder を作成します。
newCardAction()CardAction新しい CardAction を作成します。
newCardBuilder()CardBuilder新しいカード ビルダーを作成します。
newCardHeader()CardHeader新しい CardHeader を作成します。
newCardSection()CardSection新しい CardSection を作成します。
newCardWithId()CardWithId新しい CardWithId を作成します。
newChatActionResponse()ChatActionResponse新しい ChatActionResponse を作成します。
newChatResponseBuilder()ChatResponseBuilder新しい ChatResponseBuilder を作成します。
newChip()Chip新しい Chip を作成します。
newChipList()ChipList新しい ChipList を作成します。
newCollapseControl()CollapseControl新しい CollapseControl を作成します。
newColumn()Column新しい Column を作成します。
newColumns()Columns新しい Columns セットを作成します。
newComposeActionResponseBuilder()ComposeActionResponseBuilder新しい ComposeActionResponseBuilder を作成します。
newDatePicker()DatePicker新しい DatePicker を作成します。
newDateTimePicker()DateTimePicker新しい DateTimePicker を作成します。
newDecoratedText()DecoratedText新しい DecoratedText を作成します。
newDialog()Dialog新しい Dialog を作成します。
newDialogAction()DialogAction新しい DialogAction を作成します。
newDivider()Divider新しい Divider を作成します。
newDriveItemsSelectedActionResponseBuilder()DriveItemsSelectedActionResponseBuilder新しい DriveItemsSelectedActionResponseBuilder を作成します。
newEditorFileScopeActionResponseBuilder()EditorFileScopeActionResponseBuilder新しい EditorFileScopeActionResponseBuilder を作成します。
newFixedFooter()FixedFooter新しい FixedFooter を作成します。
newGrid()Grid新しい Grid を作成します。
newGridItem()GridItem新しい GridItem を作成します。
newIconImage()IconImage新しい IconImage を作成します。
newImage()Image新しい Image を作成します。
newImageButton()ImageButton新しい ImageButton を作成します。
newImageComponent()ImageComponent新しい ImageComponent を作成します。
newImageCropStyle()ImageCropStyle新しい ImageCropStyle を作成します。
newKeyValue()KeyValue新しい KeyValue を作成します。
newLinkPreview()LinkPreview新しい LinkPreview を作成します。
newMaterialIcon()MaterialIcon新しい MaterialIcon を作成します。
newNavigation()Navigation新しい Navigation を作成します。
newNotification()Notification新しい Notification を作成します。
newOpenLink()OpenLink新しい OpenLink を作成します。
newOverflowMenu()OverflowMenu新しい OverflowMenu を作成します。
newOverflowMenuItem()OverflowMenuItem新しい OverflowMenuItem を作成します。
newSelectionInput()SelectionInput新しい SelectionInput を作成します。
newSuggestions()Suggestions新しい Suggestions を作成します。
newSuggestionsResponseBuilder()SuggestionsResponseBuilder新しい SuggestionsResponseBuilder を作成します。
newSwitch()Switch新しい Switch を作成します。
newTextButton()TextButton新しい TextButton を作成します。
newTextInput()TextInput新しい TextInput を作成します。
newTextParagraph()TextParagraph新しい TextParagraph を作成します。
newTimePicker()TimePicker新しい TimePicker を作成します。
newUniversalActionResponseBuilder()UniversalActionResponseBuilder新しい UniversalActionResponseBuilder を作成します。
newUpdateDraftActionResponseBuilder()UpdateDraftActionResponseBuilder新しい UpdateDraftActionResponseBuilder を作成します。
newUpdateDraftBccRecipientsAction()UpdateDraftBccRecipientsAction新しい UpdateDraftBccRecipientsAction を作成します。
newUpdateDraftBodyAction()UpdateDraftBodyAction新しい UpdateDraftBodyAction を作成します。
newUpdateDraftCcRecipientsAction()UpdateDraftCcRecipientsAction新しい UpdateDraftCcRecipientsAction を作成します。
newUpdateDraftSubjectAction()UpdateDraftSubjectAction新しい UpdateDraftSubjectAction を作成します。
newUpdateDraftToRecipientsAction()UpdateDraftToRecipientsAction新しい UpdateDraftToRecipientsAction を作成します。
newValidation()Validation新しい Validation を作成します。

詳細なドキュメント

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 を作成します。次のサンプルでは、区切り線で区切られた 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 - 区切り線。


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

新しい FixedFooter を作成します。

戻る

FixedFooter - 空の FixedFooter。


newGrid()

新しい Grid を作成します。

戻る

Grid - 空のグリッド。


newGridItem()

新しい GridItem を作成します。

戻る

GridItem - 空の GridItem。


newIconImage()

新しい IconImage を作成します。

戻る

IconImage - 空のアイコン画像。


newImage()

新しい Image を作成します。

戻る

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 - 空の 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 - 空の検証。