اقدامی که تعامل را در عناصر رابط کاربری فعال می کند. این عمل مستقیماً روی کلاینت انجام نمیشود، بلکه یک تابع فراخوانی Apps Script را با پارامترهای اختیاری فراخوانی میکند.
برای افزونههای Google Workspace و برنامههای Google Chat موجود است.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
روش ها
روش | نوع برگشت | شرح مختصر |
---|---|---|
addRequiredWidget(requiredWidget) | Action | نام ویجتهایی را که این Action برای ارسال معتبر به آن نیاز دارد، اضافه میکند. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | نشان می دهد که آیا این اقدام به ورودی از همه ویجت ها نیاز دارد یا خیر. |
setFunctionName(functionName) | Action | نام تابع برگشت به فراخوانی را تنظیم می کند. |
setInteraction(interaction) | Action | تعامل با یک کاربر را تنظیم می کند، فقط هنگام باز کردن یک گفتگو لازم است. |
setLoadIndicator(loadIndicator) | Action | نشانگر بارگیری را تنظیم می کند که در حین انجام عمل نمایش داده شود. |
setParameters(parameters) | Action | اجازه می دهد تا پارامترهای سفارشی به عملکرد برگشت به تماس منتقل شوند. |
setPersistValues(persistValues) | Action | نشان می دهد که آیا مقادیر فرم توسط مقادیر مشتری یا سرور پس از به روز رسانی Card فرم توسط یک پاسخ اقدام تعیین می شود. |
مستندات دقیق
addRequiredWidget(requiredWidget)
نام ویجتهایی را که این Action برای ارسال معتبر به آن نیاز دارد، اضافه میکند. اگر هنگام فراخوانی این Action، ابزارکهای موجود در این فهرست، مقداری نداشته باشند، ارسال فرم لغو میشود.
فقط برای برنامههای گپ Google در دسترس است. برای افزونههای Google Workspace در دسترس نیست.
var textInput = CardService.newTextInput() .setFieldName("text_input_1") .setTitle("Text input title") // Creates a footer button that requires an input from the above TextInput Widget. var action = CardService.newAction() .setFunctionName("notificationCallback") .addRequiredWidget("text_input_1"); var fixedFooter = CardService .newFixedFooter() .setPrimaryButton( CardService .newTextButton() .setText("help") .setOnClickAction(action));
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
requiredWidget | String | نام ویجت مورد نیاز این عمل. |
بازگشت
Action
- این شی، برای زنجیر کردن.
setAllWidgetsAreRequired(allWidgetsAreRequired)
نشان می دهد که آیا این اقدام به ورودی از همه ویجت ها نیاز دارد یا خیر.
فقط برای برنامههای گپ Google در دسترس است. برای افزونههای Google Workspace در دسترس نیست.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setAllWidgetsAreRequired(true));
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
allWidgetsAreRequired | Boolean | اینکه آیا این اقدام به ورودی از همه ویجت ها نیاز دارد یا خیر. پیش فرض ها به false . |
بازگشت
Action
- این شی، برای زنجیر کردن.
setFunctionName(functionName)
نام تابع برگشت به فراخوانی را تنظیم می کند. مورد نیاز.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
functionName | String | نام تابع. می توانید از توابع کتابخانه های موجود مانند Library.libFunction1 استفاده کنید. |
بازگشت
Action
- این شی، برای زنجیر کردن.
setInteraction(interaction)
تعامل با یک کاربر را تنظیم می کند، فقط هنگام باز کردن یک گفتگو لازم است. اگر مشخص نشده باشد، برنامه با اجرای یک Action
مانند باز کردن یک پیوند یا اجرای یک تابع - به طور معمول پاسخ می دهد.
فقط برای برنامههای گپ Google در دسترس است. برای افزونههای Google Workspace در دسترس نیست.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
interaction | Interaction | تعامل برای مشخص کردن. |
بازگشت
Action
- این شی، برای زنجیر کردن.
setLoadIndicator(loadIndicator)
نشانگر بارگیری را تنظیم می کند که در حین انجام عمل نمایش داده شود.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
loadIndicator | LoadIndicator | نشانگر برای نمایش |
بازگشت
Action
- این شی، برای زنجیر کردن.
setParameters(parameters)
اجازه می دهد تا پارامترهای سفارشی به عملکرد برگشت به تماس منتقل شوند. اختیاری.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
parameters | Object | هم کلیدها و هم مقادیر باید رشته ای باشند. |
بازگشت
Action
- این شی، برای زنجیر کردن.
setPersistValues(persistValues)
نشان می دهد که آیا مقادیر فرم توسط مقادیر مشتری یا سرور پس از به روز رسانی Card
فرم توسط یک پاسخ اقدام تعیین می شود. وقتی روی true
تنظیم شود، مقادیر مشتری پس از پاسخ سرور باقی می مانند. وقتی روی false
تنظیم می شود، مقادیر سرور مقادیر فرم را بازنویسی می کند. پیش فرض ها به false
.
تداوم مقادیر مشتری به جلوگیری از شرایطی که یک فرم پس از انجام ویرایش توسط کاربر به طور غیرمنتظره تغییر می کند، کمک می کند. به عنوان مثال، اگر کاربر پس از ارسال فرم، اما قبل از پاسخ دادن سرور، یک TextInput
را ویرایش کند. اگر مقادیر باقی بمانند، ویرایشی که کاربر انجام داده است، پس از بهروزرسانی پاسخ سرور، Card
باقی میماند. در غیر این صورت مقدار فرم به مقداری که کاربر در ابتدا به فرم ارسال کرده است برمی گردد.
ثابت ماندن مقادیر مشتری می تواند در توانایی اسکریپت شما برای پاک کردن فیلدهای فرم یا نادیده گرفتن مقادیر فرم تداخل ایجاد کند، بنابراین از روشن کردن ماندگاری برای آن نوع عملکرد خودداری کنید. بدون تداوم، توصیه می شود از LoadIndicator.SPINNER
برای رویدادها استفاده کنید، زیرا این کار رابط کاربری را قفل می کند و از ویرایش های کاربر قبل از پاسخگویی سرور جلوگیری می کند. از طرف دیگر، میتوانید از LoadIndicator.NONE
استفاده کنید و مطمئن شوید که هر عنصر در فرم دارای یک عمل onChange است.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
persistValues | Boolean | اینکه آیا ارزش ها را حفظ کنیم. پیش فرض ها به false . |
بازگشت
Action
- این شی، برای زنجیر کردن.