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