Class CardService

CardService

CardService memberikan kemampuan untuk membuat kartu generik yang digunakan di berbagai layanan Google produk ekstensibilitas, seperti Add-on Google Workspace.

Berikut adalah contoh kartu add-on.

return CardService.newCardBuilder()
         .setHeader(CardService.newCardHeader().setTitle("CardTitle"))
         .build();

Atau, Anda dapat mengembalikan beberapa Kartu seperti berikut:

return [
  CardService.newCardBuilder().build(),
  CardService.newCardBuilder().build(),
  CardService.newCardBuilder().build()
]

Berikut cara menentukan kartu dengan header, teks, gambar, dan item menu:

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

Contoh kartu Aplikasi 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();

Properti

PropertiJenisDeskripsi
BorderTypeBorderTypeEnumerasi BorderType.
ComposedEmailTypeComposedEmailTypeEnumerasi ComposedEmailType.
ContentTypeContentTypeEnumerasi ContentType.
GridItemLayoutGridItemLayoutEnumerasi GridItemLayout.
HorizontalAlignmentHorizontalAlignmentEnumerasi HorizontalAlignment.
IconIconEnumerasi Icon.
ImageCropTypeImageCropTypeEnumerasi ImageCropType.
ImageStyleImageStyleEnumerasi ImageStyle.
LoadIndicatorLoadIndicatorEnumerasi LoadIndicator.
OnCloseOnCloseEnumerasi OnClose.
OpenAsOpenAsEnumerasi OpenAs.
SelectionInputTypeSelectionInputTypeEnumerasi SelectionInputType.
TextButtonStyleTextButtonStyleEnumerasi TextButtonStyle.
UpdateDraftBodyTypeUpdateDraftBodyTypeEnumerasi UpdateDraftBodyType.

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
newAction()ActionMembuat Action baru.
newActionResponseBuilder()ActionResponseBuilderMembuat ActionResponseBuilder baru.
newActionStatus()ActionStatusMembuat ActionStatus baru.
newAttachment()AttachmentMembuat Attachment baru.
newAuthorizationAction()AuthorizationActionMembuat AuthorizationAction baru.
newAuthorizationException()AuthorizationExceptionMembuat AuthorizationException baru.
newBorderStyle()BorderStyleMembuat BorderStyle baru.
newButtonSet()ButtonSetMembuat ButtonSet baru.
newCalendarEventActionResponseBuilder()CalendarEventActionResponseBuilderMembuat CalendarEventActionResponseBuilder baru.
newCardAction()CardActionMembuat CardAction baru.
newCardBuilder()CardBuilderMembuat CardBuilder baru.
newCardHeader()CardHeaderMembuat CardHeader baru.
newCardSection()CardSectionMembuat CardSection baru.
newCardWithId()CardWithIdMembuat CardWithId baru.
newChatActionResponse()ChatActionResponseMembuat ChatActionResponse baru.
newChatResponseBuilder()ChatResponseBuilderMembuat ChatResponseBuilder baru.
newColumn()ColumnMembuat Column baru.
newColumns()ColumnsMembuat kumpulan Columns baru.
newComposeActionResponseBuilder()ComposeActionResponseBuilderMembuat ComposeActionResponseBuilder baru.
newDatePicker()DatePickerMembuat DatePicker baru.
newDateTimePicker()DateTimePickerMembuat DateTimePicker baru.
newDecoratedText()DecoratedTextMembuat DecoratedText baru.
newDialog()DialogMembuat Dialog baru.
newDialogAction()DialogActionMembuat DialogAction baru.
newDivider()DividerMembuat Divider baru.
newDriveItemsSelectedActionResponseBuilder()DriveItemsSelectedActionResponseBuilderMembuat DriveItemsSelectedActionResponseBuilder baru.
newEditorFileScopeActionResponseBuilder()EditorFileScopeActionResponseBuilderMembuat EditorFileScopeActionResponseBuilder baru.
newFixedFooter()FixedFooterMembuat FixedFooter baru.
newGrid()GridMembuat Grid baru.
newGridItem()GridItemMembuat GridItem baru.
newIconImage()IconImageMembuat IconImage baru.
newImage()ImageMembuat Image baru.
newImageButton()ImageButtonMembuat ImageButton baru.
newImageComponent()ImageComponentMembuat ImageComponent baru.
newImageCropStyle()ImageCropStyleMembuat ImageCropStyle baru.
newKeyValue()KeyValueMembuat KeyValue baru.
newLinkPreview()LinkPreviewMembuat LinkPreview baru.
newNavigation()NavigationMembuat Navigation baru.
newNotification()NotificationMembuat Notification baru.
newOpenLink()OpenLinkMembuat OpenLink baru.
newSelectionInput()SelectionInputMembuat SelectionInput baru.
newSuggestions()SuggestionsMembuat Suggestions baru.
newSuggestionsResponseBuilder()SuggestionsResponseBuilderMembuat SuggestionsResponseBuilder baru.
newSwitch()SwitchMembuat Switch baru.
newTextButton()TextButtonMembuat TextButton baru.
newTextInput()TextInputMembuat TextInput baru.
newTextParagraph()TextParagraphMembuat TextParagraph baru.
newTimePicker()TimePickerMembuat TimePicker baru.
newUniversalActionResponseBuilder()UniversalActionResponseBuilderMembuat UniversalActionResponseBuilder baru.
newUpdateDraftActionResponseBuilder()UpdateDraftActionResponseBuilderMembuat UpdateDraftActionResponseBuilder baru.
newUpdateDraftBccRecipientsAction()UpdateDraftBccRecipientsActionMembuat UpdateDraftBccRecipientsAction baru;
newUpdateDraftBodyAction()UpdateDraftBodyActionMembuat UpdateDraftBodyAction baru.
newUpdateDraftCcRecipientsAction()UpdateDraftCcRecipientsActionMembuat UpdateDraftCcRecipientsAction baru.
newUpdateDraftSubjectAction()UpdateDraftSubjectActionMembuat UpdateDraftSubjectAction baru.
newUpdateDraftToRecipientsAction()UpdateDraftToRecipientsActionMembuat UpdateDraftToRecipientsAction baru.
newValidation()ValidationMembuat Validation baru.

Dokumentasi mendetail

newAction()

Membuat Action baru.

Pulang pergi

Action — Tindakan kosong.


newActionResponseBuilder()

Membuat ActionResponseBuilder baru.

Pulang pergi

ActionResponseBuilder — Builder ActionResponse kosong.


newActionStatus()

Membuat ActionStatus baru.

Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on Google Workspace.

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

Pulang pergi

ActionStatus — ActionStatus kosong.


newAttachment()

Membuat Attachment baru.

Pulang pergi

Attachment — Lampiran kosong.


newAuthorizationAction()

Membuat AuthorizationAction baru.

Pulang pergi

AuthorizationAction — AuthorizationAction kosong.


newAuthorizationException()

Membuat AuthorizationException baru.

Pulang pergi

AuthorizationException — AuthorizationException kosong.


newBorderStyle()

Membuat BorderStyle baru.

Pulang pergi

BorderStyle — BorderStyle kosong.


newButtonSet()

Membuat ButtonSet baru.

Pulang pergi

ButtonSet — ButtonSet kosong.


newCalendarEventActionResponseBuilder()


newCardAction()

Membuat CardAction baru.

Pulang pergi

CardAction — CardAction kosong.


newCardBuilder()

Membuat CardBuilder baru.

Pulang pergi

CardBuilder — Pembuat kartu kosong.


newCardHeader()

Membuat CardHeader baru.

Pulang pergi

CardHeader — CardHeader kosong.


newCardSection()

Membuat CardSection baru.

Pulang pergi

CardSection — CardSection kosong.


newCardWithId()

Membuat CardWithId baru. Ini digunakan untuk mengirim kartu dalam pesan Google Chat. ID kartu adalah pengidentifikasi unik untuk sebuah kartu dalam pesan saat mengirim beberapa kartu.

Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on 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);

Pulang pergi

CardWithIdCardWithId kosong.


newChatActionResponse()

Membuat ChatActionResponse baru.

Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on 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);

Pulang pergi

ChatActionResponseChatActionResponse kosong.


newChatResponseBuilder()

Membuat ChatResponseBuilder baru.

Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on 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();

Pulang pergi

ChatResponseBuilder — ChatResponseBuilder kosong.


newColumn()

Membuat Column baru.

Tersedia untuk aplikasi Google Chat dan Add-on 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 — Kolom kosong.


newColumns()

Membuat kumpulan Columns baru.

Tersedia untuk aplikasi Google Chat dan Add-on 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);

Pulang pergi

Columns — Kumpulan Kolom kosong.


newComposeActionResponseBuilder()

Membuat ComposeActionResponseBuilder baru.

Pulang pergi

ComposeActionResponseBuilder — Builder ComposeActionResponse kosong.


newDatePicker()

Membuat DatePicker baru.

Pulang pergi

DatePicker — DatePicker kosong.


newDateTimePicker()

Membuat DateTimePicker baru.

Pulang pergi

DateTimePicker — DateTimePicker kosong.


newDecoratedText()

Membuat DecoratedText baru.

Pulang pergi

DecoratedText — DecoratedText kosong.


newDialog()

Membuat Dialog baru.

Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on 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);

Pulang pergi

DialogDialog kosong.


newDialogAction()

Membuat DialogAction baru.

Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on 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)

Pulang pergi

DialogActionDialogAction kosong.


newDivider()

Membuat Divider baru. Contoh berikut membuat kartu sederhana dengan 2 paragraf yang dipisahkan oleh sebuah pemisah.

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

Pulang pergi

Divider — Pemisah.


newDriveItemsSelectedActionResponseBuilder()


newEditorFileScopeActionResponseBuilder()


newFixedFooter()

Membuat FixedFooter baru.

Pulang pergi

FixedFooter — FixedFooter kosong.


newGrid()

Membuat Grid baru.

Pulang pergi

Grid — Petak kosong.


newGridItem()

Membuat GridItem baru.

Pulang pergi

GridItem — GridItem kosong.


newIconImage()

Membuat IconImage baru.

Pulang pergi

IconImage — Gambar ikon kosong.


newImage()

Membuat Image baru.

Pulang pergi

Image — Gambar kosong.


newImageButton()

Membuat ImageButton baru.

Pulang pergi

ImageButton — ImageButton kosong.


newImageComponent()

Membuat ImageComponent baru.

Pulang pergi

ImageComponent — ImageComponent kosong.


newImageCropStyle()

Membuat ImageCropStyle baru.

Pulang pergi

ImageCropStyle — ImageCropStyle kosong.


newKeyValue()

Membuat KeyValue baru.

Pulang pergi

KeyValue — KeyValue kosong.


newLinkPreview()

Membuat LinkPreview baru.

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

Pulang pergi

LinkPreview — LinkPreview kosong.


newNavigation()

Membuat Navigation baru.

Pulang pergi

Navigation — Navigasi kosong.


newNotification()

Membuat Notification baru.

Pulang pergi

Notification — Notifikasi kosong.


Membuat OpenLink baru.

Pulang pergi

OpenLink — OpenLink kosong.


newSelectionInput()

Membuat SelectionInput baru.

Pulang pergi

SelectionInput — SelectionInput kosong.


newSuggestions()

Membuat Suggestions baru.

Pulang pergi

Suggestions — Saran kosong.


newSuggestionsResponseBuilder()

Membuat SuggestionsResponseBuilder baru.

Pulang pergi

SuggestionsResponseBuilder — Builder SuggestionsResponse kosong.


newSwitch()

Membuat Switch baru.

Pulang pergi

Switch — Tombol kosong.


newTextButton()

Membuat TextButton baru.

Pulang pergi

TextButton — TextButton kosong.


newTextInput()

Membuat TextInput baru.

Pulang pergi

TextInput — TextInput kosong.


newTextParagraph()

Membuat TextParagraph baru.

Pulang pergi

TextParagraph — TextParagraf kosong.


newTimePicker()

Membuat TimePicker baru.

Pulang pergi

TimePicker — TimePicker kosong.


newUniversalActionResponseBuilder()

Membuat UniversalActionResponseBuilder baru.

Pulang pergi

UniversalActionResponseBuilder — Builder UniversalActionResponse kosong.


newUpdateDraftActionResponseBuilder()

Membuat UpdateDraftActionResponseBuilder baru.

Pulang pergi

UpdateDraftActionResponseBuilder — UpdateDraftActionResponseBuilder kosong.


newUpdateDraftBccRecipientsAction()

Membuat UpdateDraftBccRecipientsAction baru;

Pulang pergi

UpdateDraftBccRecipientsAction — UpdateDraftBccRecipientsAction kosong.


newUpdateDraftBodyAction()

Membuat UpdateDraftBodyAction baru.

Pulang pergi

UpdateDraftBodyAction — UpdateDraftBodyAction kosong.


newUpdateDraftCcRecipientsAction()

Membuat UpdateDraftCcRecipientsAction baru.

Pulang pergi

UpdateDraftCcRecipientsAction — UpdateDraftCcRecipientsAction Kosong.


newUpdateDraftSubjectAction()

Membuat UpdateDraftSubjectAction baru.

Pulang pergi

UpdateDraftSubjectAction — UpdateDraftSubjectAction kosong.


newUpdateDraftToRecipientsAction()

Membuat UpdateDraftToRecipientsAction baru.

Pulang pergi

UpdateDraftToRecipientsAction — UpdateDraftToRecipientsAction kosong.


newValidation()

Membuat Validation baru.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

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

Pulang pergi

Validation — Validasi kosong.