تریگرهای ساده و تریگرهای قابل نصب به 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());
}
این صفحه جزئیات فیلدهای موجود در شیء رویداد را برای انواع مختلف محرکها شرح میدهد.
رویدادهای گوگل شیت
محرکهای مختلف مخصوص گوگل شیت به اسکریپتها اجازه میدهند تا به اقدامات کاربر در یک صفحه گسترده پاسخ دهند.
باز( ساده و قابل نصب ) | |
|---|---|
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 |
رویدادهای تقویم گوگل
تقویم زمانی فعال میشود که رویدادهای تقویم کاربر بهروزرسانی شوند (ایجاد، ویرایش یا حذف شوند).
این تریگرها به شما نمیگویند کدام رویداد تغییر کرده یا چگونه تغییر کرده است. در عوض، آنها نشان میدهند که کد شما برای دریافت تغییرات اخیر در تقویم، باید یک عملیات همگامسازی افزایشی انجام دهد. برای شرح کامل این رویه، به راهنمای منابع همگامسازی برای API تقویم مراجعه کنید.
برای همگامسازی با تقویم در Apps Script، مراحل زیر را انجام دهید:
- سرویس پیشرفته تقویم را برای پروژه اسکریپت فعال کنید. سرویس تقویم داخلی برای این گردش کار کافی نیست.
- تعیین کنید که کدام تقویمها باید همگامسازی شوند. برای هر یک از این تقویمها، یک عملیات همگامسازی اولیه با استفاده از متد Events.list() از سرویس پیشرفتهی تقویم انجام دهید.
- نتیجه همگامسازی اولیه، یک
nextSyncTokenبرای آن تقویم برمیگرداند. این توکن را برای استفادههای بعدی ذخیره کنید. - وقتی تریگر
EventUpdatedاسکریپت برنامهها فعال میشود و نشاندهندهی تغییر رویداد تقویم است، با استفاده ازnextSyncTokenذخیرهشده، یک همگامسازی افزایشی برای تقویم آسیبدیده انجام دهید. این اساساً یک درخواست Events.list() دیگر است، اما ارائهnextSyncTokenپاسخ را فقط به رویدادهایی محدود میکند که از آخرین همگامسازی تغییر کردهاند. - پاسخ همگامسازی را بررسی کنید تا بفهمید چه رویدادهایی بهروزرسانی شدهاند و کد شما به طور مناسب پاسخ دهد. برای مثال، میتوانید تغییر را ثبت کنید، یک صفحه گسترده را بهروزرسانی کنید، ایمیلهای اطلاعرسانی ارسال کنید یا اقدامات دیگری انجام دهید.
-
nextSyncTokenکه برای آن تقویم ذخیره کردهاید را با توکنی که توسط درخواست همگامسازی افزایشی برگردانده شده است، بهروزرسانی کنید. این کار عملیات همگامسازی بعدی را مجبور میکند که فقط جدیدترین تغییرات را برگرداند.
رویداد بهروز شد( قابل نصب ) | |
|---|---|
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 |