راهاندازهای Apps Script باعث میشوند تا هر زمان که یک رویداد مشخص رخ میدهد، یک تابع اسکریپت مشخص ( عملکرد ماشه ) اجرا شود. فقط رویدادهای خاصی میتوانند باعث فعال شدن محرکها شوند و هر برنامه Google Workspace مجموعه متفاوتی از رویدادها را پشتیبانی میکند.
هنگامی که یک ماشه فعال می شود، یک شی رویداد ایجاد می شود. این ساختار JSON حاوی جزئیات مربوط به رویدادی است که رخ داده است. اطلاعات در ساختار شی رویداد بر اساس نوع ماشه سازماندهی متفاوتی دارد.
پس از ایجاد شی رویداد، Apps Script آن را به عنوان پارامتر به تابع ماشه ارسال می کند. تابع ماشه یک تابع تماس است که باید خودتان آن را پیاده سازی کنید تا هر اقدامی را که برای پاسخ به رویداد مناسب است انجام دهید. به عنوان مثال، در یک افزونه Google Workspace که Gmail را گسترش میدهد، میتوانید یک ماشه تعریف کنید که وقتی کاربر یک رشته پیام را باز میکند، یک رابط کارت جدید ایجاد میکند. در این مورد، یک تابع فراخوان متنی را برای ایجاد کارت هایی که رابط کاربری جدید را با استفاده از داده های ارسال شده در شی رویداد ایجاد می کنند، پیاده سازی می کنید.
این صفحه دستورالعملهایی درباره استفاده از محرکها در پروژههای الحاقی Google Workspace ارائه میکند.
محرک های آشکار
بر خلاف افزونههای ویرایشگر، افزونههای Google Workspace در حال حاضر نمیتوانند از محرکهای ساده Apps Script استفاده کنند، در عوض، از محرکهایی استفاده میکنند که بهطور خاص برای افزونههای Google Workspace طراحی شدهاند: محرکهای مانیفست .
محرک های مانیفست به طور کامل در مانیفست افزونه Google Workspace تعریف شده اند. نمونه هایی از محرک های مانیفست شامل موارد زیر است:
- صفحه اصلی باعث ایجاد و نمایش صفحه اصلی افزونه می شود.
- Calendar eventOpen راهاندازی میکند که یک کارت جدید را نمایش میدهد یا وقتی یک رویداد تقویم باز میشود، اقدامات دیگری انجام میدهد.
- Calendar eventUpdate راهاندازی میکند که یک کارت جدید را نمایش میدهد یا زمانی که کاربر یک رویداد تقویم را ویرایش و ذخیره میکند، اقدامات دیگری انجام میدهد.
- درایو onItemsSelected محرک هایی است که وقتی کاربر یک یا چند فایل یا پوشه را در Drive انتخاب می کند، کارت جدیدی را نمایش می دهد یا اقدامات دیگری انجام می دهد.
- راهاندازهای نوشتن Gmail که وقتی کاربر افزونه را در پنجره نوشتن Gmail باز میکند، یک کارت افزونه را نمایش میدهد.
- محرکهای متنی Gmail که یک کارت جدید را نمایش میدهند یا وقتی کاربر یک پیام Gmail را باز میکند، اقدامات دیگری انجام میدهد.
- Editor onFileScopeGranted راهاندازهایی را نشان میدهد که وقتی کاربران مجوزی برای حوزه
drive.file
OAuth در سند ویرایشگر فعلی اعطا میکنند، کارت جدیدی را نمایش میدهند.
در لیست بالا، فقط محرک های صفحه اصلی غیر متنی هستند. بقیه محرک های زمینه ای هستند. برای اطلاعات بیشتر درباره تعاریف ماشه مانیفست، به Manifest مراجعه کنید.
افزونههای Google Workspace علاوه بر محرکهای مانیفست، میتوانند از محرکهای قابل نصب Apps Script نیز استفاده کنند.
محدودیت ها
محرک های آشکار محدودیت های خاصی برای استفاده از آنها دارند.
- این محرکها فقط در پروژههای الحاقی Google Workspace استفاده میشوند. آنها هیچ هدفی در هیچ برنامه دیگری ندارند.
- از آنجایی که آنها در مانیفست افزودنی تعریف شدهاند و نه در کد آن، نمیتوانید از سرویس Apps Script
Script
برای ایجاد یا تغییر این محرکها استفاده کنید. - راهاندازهای متنی Gmail در حال حاضر فقط میتوانند یک معیار
unconditional
داشته باشند. این بدان معناست که برای هر پیام ایمیل، صرف نظر از محتوا، محرک های متنی فعال می شوند. - هر افزونه فقط میتواند از هر نوع یک راهانداز، به ازای هر کاربر، در هر سند داشته باشد.