借助 Card
以下是插件卡片示例。
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();
属性
属性 | 类型 | 说明 |
---|---|---|
Border | Border | Border 枚举。 |
Chip | Chip | Chip 枚举。 |
Composed | Composed | Composed 枚举。 |
Content | Content | Content 枚举。 |
Grid | Grid | Grid 枚举。 |
Horizontal | Horizontal | Horizontal 枚举。 |
Icon | Icon | Icon 枚举。 |
Image | Image | Image 枚举。 |
Image | Image | Image 枚举。 |
Image | Image | Image 枚举。 |
Input | Input | Input 枚举。 |
Load | Load | Load 枚举。 |
On | On | On 枚举。 |
Open | Open | Open 枚举。 |
Selection | Selection | Selection 枚举。 |
Text | Text | Text 枚举。 |
Update | Update | Update 枚举。 |
方法
详细文档
new Action Response Builder()
new Action Status()
创建新的 Action
。
仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。
const actionStatus = CardService.newActionStatus() .setStatusCode(CardService.Status.OK) .setUserFacingMessage('Success');
返回
Action
- 空 ActionStatus。
new Attachment()
new Authorization Action()
new Authorization Exception()
new Border Style()
new Calendar Event Action Response Builder()
new Card Action()
new Card Builder()
new Card Header()
new Card Section()
new Card With Id()
创建新 Card
。用于在 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);
返回
Card
- 一个空的 Card
。
new Chat Action Response()
创建新的 Chat
。
仅适用于 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);
返回
Chat
- 一个空的 Chat
。
new Chat Response Builder()
创建新的 Chat
。
仅适用于 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();
返回
Chat
- 一个空的 ChatResponseBuilder。
new Chip()
new Chip List()
new Collapse Control()
创建新的 Collapse
。
仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。
const collapseControl = CardService.newCollapseControl() .setHorizontalAlign(CardService.HorizontalAlignment.START) .setExpandButton(CardService.newTextButton().setText('Expand')) .setCollapseButton(CardService.newTextButton().setText('Collapse'));
返回
Collapse
- 一个空的 CollapseControl。
new Column()
创建新的 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
- 空列。
new Columns()
创建一组新的 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
- 一组空列。
new Compose Action Response Builder()
创建新的 Compose
。
返回
Compose
- 一个空的 ComposeActionResponse 构建器。
new Date Picker()
new Date Time Picker()
new Decorated Text()
new Dialog()
new Dialog Action()
创建新的 Dialog
。
仅适用于 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);
返回
Dialog
- 一个空的 Dialog
。
new Divider()
创建新 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
- 分隔符。
new Drive Items Selected Action Response Builder()
new Editor File Scope Action Response Builder()
new Image Button()
new Image Component()
new Image Crop Style()
new Link Preview()
创建新的 Link
。
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');
返回
Link
- 空的 LinkPreview。
new Material Icon()
创建新的 Material
。
适用于 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();
返回
Material
- 空的 MaterialIcon。
new Notification()
new Overflow Menu()
创建新的 Overflow
。
仅适用于 Google Chat 应用。不适用于 Google Workspace 插件。
const overflowMenuItem = CardService.newOverflowMenuItem(); // Finish building the overflow menu item... const overflowMenu = CardService.newOverflowMenu().addMenuItem(overflowMenuItem);
返回
Overflow
- 一个空的 OverflowMenu。
new Overflow Menu Item()
创建新的 Overflow
。
仅适用于 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'));
返回
Overflow
- 一个空的 OverflowMenuItem。
new Selection Input()
new Suggestions()
new Suggestions Response Builder()
new Text Button()
new Text Paragraph()
new Time Picker()
new Universal Action Response Builder()
创建新的 Universal
。
返回
Universal
- 一个空的 UniversalActionResponse 构建器。
new Update Draft Action Response Builder()
创建新的 Update
。
返回
Update
- 一个空的 UpdateDraftActionResponseBuilder。
new Update Draft Bcc Recipients Action()
创建新的 Update
;
返回
Update
- 一个空的 UpdateDraftBccRecipientsAction。
new Update Draft Body Action()
new Update Draft Cc Recipients Action()
创建新的 Update
。
返回
Update
- 一个空的 UpdateDraftCcRecipientsAction。
new Update Draft Subject Action()
new Update Draft To Recipients Action()
创建新的 Update
。
返回
Update
- 一个空的 UpdateDraftToRecipientsAction。
new Validation()
创建新的 Validation
。
适用于 Google Chat 应用和 Google Workspace 插件。
const validation = CardService.newValidation().setCharacterLimit(5).setInputType( CardService.InputType.EMAIL);
返回
Validation
- 空验证。