توفّر CardService إمكانية إنشاء بطاقات عامة تُستخدم في مختلف منتجات Google القابلة للتوسيع، مثل إضافات Google Workspace.
في ما يلي نموذج لبطاقة إضافات.
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();
الخصائص
الطُرق
مستندات تفصيلية
newActionResponseBuilder()
تنشئ هذه الدالة ActionResponseBuilder جديدة.
الإرجاع
ActionResponseBuilder: أداة إنشاء ActionResponse فارغة.
newActionStatus()
تنشئ هذه الدالة ActionStatus جديدة.
لا تتوفّر هذه الميزة إلا لتطبيقات Google Chat. لا يتوفّر هذا الخيار لإضافات Google Workspace.
const actionStatus = CardService.newActionStatus() .setStatusCode(CardService.Status.OK) .setUserFacingMessage('Success');
الإرجاع
ActionStatus: تمثّل هذه السمة قيمة فارغة لـ ActionStatus.
newAttachment()
newAuthorizationAction()
تنشئ هذه الدالة AuthorizationAction جديدة.
الإرجاع
AuthorizationAction — تمثّل هذه السمة AuthorizationAction فارغة.
newAuthorizationException()
تنشئ هذه الدالة AuthorizationException جديدة.
الإرجاع
AuthorizationException — An empty AuthorizationException.
newBorderStyle()
newCalendarEventActionResponseBuilder()
تنشئ هذه الدالة CalendarEventActionResponseBuilder جديدة.
الإرجاع
CalendarEventActionResponseBuilder: CalendarEventActionResponseBuilder فارغ
newCardAction()
newCardBuilder()
newCardHeader()
newCardSection()
newCardWithId()
تنشئ هذه الدالة CardWithId جديدة. يُستخدَم هذا الحقل لإرسال بطاقة في رسالة Google 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);
الإرجاع
CardWithId: CardWithId فارغ
newCarousel()
تنشئ هذه الطريقة Carousel.
const carousel = CardService.newCarousel() .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The first text paragraph in carousel'))) .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The second text paragraph in carousel'))) .addCarouselCard(CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('The third text paragraph in carousel')))
الإرجاع
Carousel: لوحة عرض دوّارة فارغة
newCarouselCard()
تنشئ هذه الدالة CarouselCard جديدة.
const carouselCard = CardService.newCarouselCard().addWidget( CardService.newTextParagraph().setText('Text paragraph in carousel'));
الإرجاع
CarouselCard: شريحة فارغة
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);
الإرجاع
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()
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: مجموعة فارغة من الأعمدة
newCommonWidgetAction()
newComposeActionResponseBuilder()
تنشئ هذه الدالة ComposeActionResponseBuilder جديدة.
الإرجاع
ComposeActionResponseBuilder: أداة إنشاء ComposeActionResponse فارغة.
newCondition()
newDataSourceConfig()
newDatePicker()
newDateTimePicker()
newDecoratedText()
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);
الإرجاع
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: فاصل
newDriveDataSourceSpec()
newDriveItemsSelectedActionResponseBuilder()
تنشئ هذه الدالة DriveItemsSelectedActionResponseBuilder جديدة.
الإرجاع
DriveItemsSelectedActionResponseBuilder: DriveItemsSelectedActionResponseBuilder فارغ
newEditorFileScopeActionResponseBuilder()
تنشئ هذه الدالة EditorFileScopeActionResponseBuilder جديدة.
الإرجاع
EditorFileScopeActionResponseBuilder: EditorFileScopeActionResponseBuilder فارغ
newEventAction()
تنشئ هذه السمة EventAction جديدة تُستخدَم للتحقّق من صحة البيانات من جهة العميل.
الإرجاع
EventAction: EventAction فارغ
newExpressionData()
تنشئ هذه السمة ExpressionData جديدة تُستخدَم للتحقّق من صحة البيانات من جهة العميل.
الإرجاع
ExpressionData: ExpressionData فارغ
newExpressionDataAction()
تنشئ هذه السمة ExpressionDataAction جديدة تُستخدَم للتحقّق من صحة البيانات من جهة العميل.
الإرجاع
newExpressionDataCondition()
تنشئ هذه السمة ExpressionDataCondition جديدة تُستخدَم للتحقّق من صحة البيانات من جهة العميل.
الإرجاع
newHostAppDataSource()
newImageButton()
newImageComponent()
newImageCropStyle()
newLinkPreview()
تنشئ هذه الدالة LinkPreview جديدة.
const decoratedText = CardService.newDecoratedText().setTopLabel('Hello').setText('Hi!'); const cardSection = CardService.newCardSection().addWidget(decoratedText); const card = CardService.newCardBuilder().addSection(cardSection).build(); return 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 فارغًا.
newNotification()
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 فارغ
newPlatformDataSource()
newSelectionInput()
تنشئ هذه الدالة SelectionInput جديدة.
الإرجاع
SelectionInput: يمثّل هذا النوع SelectionInput فارغًا.
newSuggestions()
newSuggestionsResponseBuilder()
تنشئ هذه الدالة SuggestionsResponseBuilder جديدة.
الإرجاع
SuggestionsResponseBuilder: أداة إنشاء فارغة لـ SuggestionsResponse.
newTextButton()
newTextParagraph()
newTimePicker()
newTrigger()
newUniversalActionResponseBuilder()
تنشئ هذه الدالة UniversalActionResponseBuilder جديدة.
الإرجاع
UniversalActionResponseBuilder: أداة إنشاء UniversalActionResponse فارغة.
newUpdateDraftActionResponseBuilder()
تنشئ هذه الدالة UpdateDraftActionResponseBuilder جديدة.
الإرجاع
UpdateDraftActionResponseBuilder: تمثّل هذه السمة UpdateDraftActionResponseBuilder فارغًا.
newUpdateDraftBccRecipientsAction()
تُنشئ هذه الطريقة UpdateDraftBccRecipientsAction جديدًا.
الإرجاع
UpdateDraftBccRecipientsAction: تمثّل هذه السمة إجراء UpdateDraftBccRecipientsAction فارغًا.
newUpdateDraftBodyAction()
تنشئ هذه الدالة UpdateDraftBodyAction جديدة.
الإرجاع
UpdateDraftBodyAction: تمثّل UpdateDraftBodyAction فارغًا.
newUpdateDraftCcRecipientsAction()
تنشئ هذه الدالة UpdateDraftCcRecipientsAction جديدة.
الإرجاع
UpdateDraftCcRecipientsAction: Empty UpdateDraftCcRecipientsAction.
newUpdateDraftSubjectAction()
تنشئ هذه الدالة UpdateDraftSubjectAction جديدة.
الإرجاع
UpdateDraftSubjectAction: تمثّل UpdateDraftSubjectAction فارغًا.
newUpdateDraftToRecipientsAction()
تنشئ هذه الدالة UpdateDraftToRecipientsAction جديدة.
الإرجاع
UpdateDraftToRecipientsAction: تمثّل هذه السمة UpdateDraftToRecipientsAction فارغة.
newUpdateVisibilityAction()
تنشئ هذه الدالة UpdateVisibilityAction جديدة.
الإرجاع
newValidation()
تنشئ هذه الدالة Validation جديدة.
متاحة لتطبيقات Google Chat وإضافات Google Workspace.
const validation = CardService.newValidation().setCharacterLimit(5).setInputType( CardService.InputType.EMAIL);
الإرجاع
Validation: عملية تحقّق فارغة