Class CardService

CardService

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

属性

媒体资源类型说明
BorderTypeBorderTypeBorderType 枚举。
ComposedEmailTypeComposedEmailTypeComposedEmailType 枚举。
ContentTypeContentTypeContentType 枚举。
GridItemLayoutGridItemLayoutGridItemLayout 枚举。
HorizontalAlignmentHorizontalAlignmentHorizontalAlignment 枚举。
IconIconIcon 枚举。
ImageCropTypeImageCropTypeImageCropType 枚举。
ImageStyleImageStyleImageStyle 枚举。
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创建新的 CardBuilder
newCardHeader()CardHeader创建新的 CardHeader
newCardSection()CardSection创建新的 CardSection
newCardWithId()CardWithId创建新的 CardWithId
newChatActionResponse()ChatActionResponse创建新的 ChatActionResponse
newChatResponseBuilder()ChatResponseBuilder创建新的 ChatResponseBuilder
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
newNavigation()Navigation创建新的 Navigation
newNotification()Notification创建新的 Notification
newOpenLink()OpenLink创建新的 OpenLink
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

详细文档

newAction()

创建新的 Action

弃踢回攻

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

弃踢回攻

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。


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


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。


newNavigation()

创建新的 Navigation

弃踢回攻

Navigation - 空 Navigation。


newNotification()

创建新的 Notification

弃踢回攻

Notification - 空通知。


创建新的 OpenLink

弃踢回攻

OpenLink - 一个空的 OpenLink。


newSelectionInput()

创建新的 SelectionInput

弃踢回攻

SelectionInput - 一个空的 SelectionInput。


newSuggestions()

创建新的 Suggestions

弃踢回攻

Suggestions - 一个空的 Suggestion。


newSuggestionsResponseBuilder()

创建新的 SuggestionsResponseBuilder

弃踢回攻

SuggestionsResponseBuilder - 一个空的 SuggestionResponse 构建器。


newSwitch()

创建新的 Switch

弃踢回攻

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。