تریگرهای ساده و تریگرهای قابل نصب به Google Apps Script اجازه میدهند در صورت وقوع یک رویداد خاص، یک تابع را به طور خودکار اجرا کند. هنگامی که یک تریگر فعال میشود، Apps Script یک شیء رویداد را به عنوان آرگومان به تابع ارسال میکند، که معمولاً e . شیء رویداد حاوی اطلاعاتی در مورد زمینهای است که باعث فعال شدن تریگر شده است. به عنوان مثال، کد نمونه زیر یک تریگر ساده onEdit(e) را برای یک اسکریپت Google Sheets نشان میدهد که از شیء رویداد برای تعیین اینکه کدام سلول ویرایش شده است استفاده میکند.
function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
}
این صفحه فیلدهای موجود در شیء رویداد را برای انواع مختلف محرکها شرح میدهد.
رویدادهایی که توسط تریگرهای قابل نصب تولید میشوند، حاوی یک triggerUid هستند که تریگر ایجادکنندهی رویداد را شناسایی میکند. این به اسکریپتهایی که چندین تریگر قابل نصب دارند، کمک میکند.
رویدادهای گوگل شیت
محرکهای مختلف مخصوص گوگل شیت به اسکریپتها اجازه میدهند تا به اقدامات کاربر در یک صفحه گسترده پاسخ دهند.
باز( ساده و قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به LIMITED |
source | یک شیء Spreadsheet |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب). 4034124084959907503 |
user | یک شیء amin@example.com |
تغییر( قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به FULL |
changeType | نوع تغییر ( INSERT_ROW |
source | یک شیء Spreadsheet |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است. 4034124084959907503 |
user | یک شیء amin@example.com |
ویرایش( ساده و قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به LIMITED |
oldValue | مقدار سلول قبل از ویرایش، در صورت وجود. فقط در صورتی موجود است که محدوده ویرایش شده یک سلول واحد باشد. اگر سلول هیچ محتوای قبلی نداشته باشد، تعریف نشده است. 1234 |
range | یک شیء Range |
source | یک شیء Spreadsheet |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب). 4034124084959907503 |
user | یک شیء amin@example.com |
value | مقدار سلول جدید پس از ویرایش. فقط در صورتی در دسترس است که محدوده ویرایش شده یک سلول واحد باشد. 10 |
ارسال فرم( قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به FULL |
namedValues | یک شیء حاوی نامها و مقادیر سوالات از فرم ارسالی. {
'First Name': ['Jane'],
'Timestamp': ['6/7/2015 20:54:13'],
'Last Name': ['Doe']
} |
range | یک شیء Range |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است. 4034124084959907503 |
values | آرایهای با مقادیر به همان ترتیبی که در صفحه گسترده ظاهر میشوند. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
رویدادهای گوگل داکس
تریگرها به داکز اجازه میدهند تا وقتی کاربر یک سند را باز میکند، واکنش نشان دهد.
باز( ساده و قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به LIMITED |
source | یک شیء Document |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب). 4034124084959907503 |
user | یک شیء amin@example.com |
رویدادهای گوگل اسلایدز
تریگرها به اسلایدها اجازه میدهند تا هنگام باز شدن یک ارائه توسط کاربر، واکنش نشان دهند.
باز( ساده ) | |
|---|---|
authMode | مقداری از enum مربوط به LIMITED |
source | یک شیء Presentation |
user | یک شیء amin@example.com |
رویدادهای گوگل فرم
تریگرهای مخصوص فرمها به اسکریپتها اجازه میدهند زمانی که کاربر فرمی را ویرایش میکند یا پاسخی ارسال میکند، واکنش نشان دهند.
باز* ( ساده و قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به LIMITED |
source | یک شیء Form |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب). 4034124084959907503 |
user | یک شیء amin@example.com |
* این رویداد زمانی رخ نمیدهد که کاربر فرمی را برای پاسخ دادن باز میکند، بلکه زمانی رخ میدهد که ویرایشگر فرم را برای تغییر آن باز میکند.
ارسال فرم( قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به FULL |
response | یک شیء FormResponse |
source | یک شیء Form |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است. 4034124084959907503 |
رویدادهای تقویم گوگل
تقویم گوگل (Google Calendar) زمانی فعال میشود که رویدادهای تقویم کاربر بهروزرسانی (ایجاد، ویرایش یا حذف) شوند.
این تریگرها به شما نمیگویند کدام رویداد تغییر کرده یا چگونه تغییر کرده است. در عوض، آنها نشان میدهند که کد شما برای دریافت تغییرات اخیر در تقویم، باید یک عملیات همگامسازی افزایشی انجام دهد. برای شرح کامل این رویه، به راهنمای منابع همگامسازی برای API تقویم مراجعه کنید.
برای همگامسازی با تقویم در Apps Script، مراحل زیر را انجام دهید:
- سرویس پیشرفته تقویم را برای پروژه اسکریپت فعال کنید. سرویس تقویم داخلی برای این گردش کار کافی نیست.
- تعیین کنید که چه تقویمهایی را میخواهید همگامسازی کنید. برای هر تقویم، یک عملیات همگامسازی اولیه با استفاده از متد Events.list() از سرویس پیشرفتهی تقویم انجام دهید.
- همگامسازی اولیه یک
nextSyncTokenبرای آن تقویم برمیگرداند. این توکن را برای استفادههای بعدی ذخیره کنید. - وقتی تریگر
EventUpdatedاسکریپت برنامهها فعال میشود و نشاندهندهی تغییر رویداد تقویم است، با استفاده ازnextSyncTokenذخیرهشده، یک همگامسازی افزایشی برای تقویم آسیبدیده انجام دهید. این اساساً یک درخواست Events.list() دیگر است، اما ارائهnextSyncTokenپاسخ را فقط به رویدادهایی محدود میکند که از آخرین همگامسازی تغییر کردهاند. - پاسخ همگامسازی را بررسی کنید تا بفهمید چه رویدادهایی بهروزرسانی شدهاند و کد شما به طور مناسب پاسخ دهد. برای مثال، تغییر را ثبت کنید، یک صفحه گسترده را بهروزرسانی کنید، ایمیلهای اطلاعرسانی ارسال کنید یا اقدامات دیگری انجام دهید.
-
nextSyncTokenذخیره شده برای آن تقویم را با توکنی که توسط درخواست همگامسازی افزایشی برگردانده شده است، بهروزرسانی کنید. این کار عملیات همگامسازی بعدی را مجبور میکند که فقط جدیدترین تغییرات را برگرداند.
گاهی اوقات توکنهای همگامسازی توسط سرور نامعتبر میشوند و منجر به خطای 410 میشوند. وقتی این اتفاق میافتد، کد شما باید یک همگامسازی کامل انجام دهد و تمام دادهها و توکنهای همگامسازی شده ذخیره شده برای آن تقویم را جایگزین کند.
رویداد بهروز شد( قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به FULL |
calendarId | شناسهی رشتهای تقویمی که بهروزرسانی رویداد در آن رخ داده است. susan@example.com |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است. 4034124084959907503 |
رویدادهای افزونهی Google Workspace
تریگر onInstall() به طور خودکار زمانی که کاربر یک افزونه را نصب میکند، اجرا میشود.
نصب( ساده ) | |
|---|---|
authMode | مقداری از enum مربوط به FULL |
رویدادهای برنامه گوگل چت
برای کسب اطلاعات بیشتر در مورد اشیاء رویداد در Google Chat، به بخش دریافت و پاسخ به تعاملات با برنامه Google Chat خود مراجعه کنید.
رویدادهای زمانمحور
تریگرهای زمانمحور (که تریگرهای ساعتی نیز نامیده میشوند) به اسکریپتها اجازه میدهند در یک زمان خاص یا در یک بازه زمانی تکرارشونده اجرا شوند.
| زمان محور ( قابل نصب ) | |
|---|---|
authMode | مقداری از enum مربوط به FULL |
day-of-month | بین از آنجا که نام این ویژگی شامل خط تیره است، باید به جای نقطه، از طریق 31 |
day-of-week | بین از آنجا که نام این ویژگی شامل خط تیره است، باید به جای نقطه، از طریق 7 |
hour | بین 23 |
minute | بین 59 |
month | بین 12 |
second | بین 59 |
timezone | منطقه زمانی. UTC |
triggerUid | شناسهی تریگری که این رویداد را ایجاد کرده است. 4034124084959907503 |
week-of-year | بین از آنجا که نام این ویژگی شامل خط تیره است، باید به جای نقطه، از طریق 52 |
year | سال. 2015 |