اشیاء رویداد

تریگرهای ساده و تریگرهای قابل نصب به 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 مربوط به ScriptApp.AuthMode .

LIMITED
source

یک شیء Spreadsheet که نشان‌دهنده‌ی فایل Sheets است که اسکریپت به آن متصل شده است.

Spreadsheet
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب).

4034124084959907503
user

یک شیء User ، که در صورت موجود بودن، کاربر فعال را نشان می‌دهد ( بسته به مجموعه‌ای پیچیده از محدودیت‌های امنیتی ).

amin@example.com

تغییر

( قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

FULL
changeType

نوع تغییر ( EDIT ، INSERT_ROW ، INSERT_COLUMN ، REMOVE_ROW ، REMOVE_COLUMN ، INSERT_GRID ، REMOVE_GRID ، FORMAT یا OTHER ).

INSERT_ROW
source

یک شیء Spreadsheet که نشان‌دهنده‌ی فایل Sheets است که اسکریپت به آن متصل شده است.

Spreadsheet
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است.

4034124084959907503
user

یک شیء User ، که در صورت موجود بودن، کاربر فعال را نشان می‌دهد ( بسته به مجموعه‌ای پیچیده از محدودیت‌های امنیتی ).

amin@example.com

ویرایش

( ساده و قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

LIMITED
oldValue

مقدار سلول قبل از ویرایش، در صورت وجود. فقط در صورتی موجود است که محدوده ویرایش شده یک سلول واحد باشد. اگر سلول هیچ محتوای قبلی نداشته باشد، تعریف نشده است.

1234
range

یک شیء Range ، که نشان دهنده سلول یا محدوده‌ای از سلول‌های ویرایش شده است.

Range
source

یک شیء Spreadsheet که نشان‌دهنده‌ی فایل Sheets است که اسکریپت به آن متصل شده است.

Spreadsheet
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب).

4034124084959907503
user

یک شیء User ، که در صورت موجود بودن، کاربر فعال را نشان می‌دهد ( بسته به مجموعه‌ای پیچیده از محدودیت‌های امنیتی ).

amin@example.com
value

مقدار سلول جدید پس از ویرایش. فقط در صورتی در دسترس است که محدوده ویرایش شده یک سلول واحد باشد.

10

ارسال فرم

( قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

FULL
namedValues

یک شیء حاوی نام‌ها و مقادیر سوالات از فرم ارسالی.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

یک شیء Range ، که نشان دهنده سلول یا محدوده‌ای از سلول‌های ویرایش شده است.

Range
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است.

4034124084959907503
values

آرایه‌ای با مقادیر به همان ترتیبی که در صفحه گسترده ظاهر می‌شوند.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

رویدادهای گوگل داکس

تریگرها به داکز اجازه می‌دهند تا وقتی کاربر یک سند را باز می‌کند، واکنش نشان دهد.

باز

( ساده و قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

LIMITED
source

یک شیء Document که نشان‌دهنده‌ی فایل Docs است که اسکریپت به آن متصل شده است.

Document
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب).

4034124084959907503
user

یک شیء User ، که در صورت موجود بودن، کاربر فعال را نشان می‌دهد ( بسته به مجموعه‌ای پیچیده از محدودیت‌های امنیتی ).

amin@example.com

رویدادهای گوگل اسلایدز

تریگرها به اسلایدها اجازه می‌دهند تا هنگام باز شدن یک ارائه توسط کاربر، واکنش نشان دهند.

باز

( ساده )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

LIMITED
source

یک شیء Presentation که نشان‌دهنده‌ی فایل Slides است که اسکریپت به آن متصل شده است.

Presentation
user

یک شیء User ، که در صورت موجود بودن، کاربر فعال را نشان می‌دهد ( بسته به مجموعه‌ای پیچیده از محدودیت‌های امنیتی ).

amin@example.com

رویدادهای گوگل فرم

تریگرهای مخصوص فرم‌ها به اسکریپت‌ها اجازه می‌دهند زمانی که کاربر فرمی را ویرایش می‌کند یا پاسخی ارسال می‌کند، واکنش نشان دهند.

باز

* ( ساده و قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

LIMITED
source

یک شیء Form ، که نشان‌دهنده‌ی فایل Forms است که اسکریپت به آن متصل شده است.

Form
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است (فقط تریگرهای قابل نصب).

4034124084959907503
user

یک شیء User ، که در صورت موجود بودن، کاربر فعال را نشان می‌دهد ( بسته به مجموعه‌ای پیچیده از محدودیت‌های امنیتی ).

amin@example.com

* این رویداد زمانی رخ نمی‌دهد که کاربر فرمی را برای پاسخ دادن باز می‌کند، بلکه زمانی رخ می‌دهد که ویرایشگر فرم را برای تغییر آن باز می‌کند.

ارسال فرم

( قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

FULL
response

یک شیء FormResponse ، که نشان دهنده پاسخ کاربر به فرم به طور کلی است.

FormResponse
source

یک شیء Form ، که نشان‌دهنده‌ی فایل Forms است که اسکریپت به آن متصل شده است.

Form
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است.

4034124084959907503

رویدادهای تقویم گوگل

تقویم گوگل (Google Calendar) زمانی فعال می‌شود که رویدادهای تقویم کاربر به‌روزرسانی (ایجاد، ویرایش یا حذف) شوند.

این تریگرها به شما نمی‌گویند کدام رویداد تغییر کرده یا چگونه تغییر کرده است. در عوض، آنها نشان می‌دهند که کد شما برای دریافت تغییرات اخیر در تقویم، باید یک عملیات همگام‌سازی افزایشی انجام دهد. برای شرح کامل این رویه، به راهنمای منابع همگام‌سازی برای API تقویم مراجعه کنید.

برای همگام‌سازی با تقویم در Apps Script، مراحل زیر را انجام دهید:

  1. سرویس پیشرفته تقویم را برای پروژه اسکریپت فعال کنید. سرویس تقویم داخلی برای این گردش کار کافی نیست.
  2. تعیین کنید که چه تقویم‌هایی را می‌خواهید همگام‌سازی کنید. برای هر تقویم، یک عملیات همگام‌سازی اولیه با استفاده از متد Events.list() از سرویس پیشرفته‌ی تقویم انجام دهید.
  3. همگام‌سازی اولیه یک nextSyncToken برای آن تقویم برمی‌گرداند. این توکن را برای استفاده‌های بعدی ذخیره کنید.
  4. وقتی تریگر EventUpdated اسکریپت برنامه‌ها فعال می‌شود و نشان‌دهنده‌ی تغییر رویداد تقویم است، با استفاده از nextSyncToken ذخیره‌شده، یک همگام‌سازی افزایشی برای تقویم آسیب‌دیده انجام دهید. این اساساً یک درخواست Events.list() دیگر است، اما ارائه nextSyncToken پاسخ را فقط به رویدادهایی محدود می‌کند که از آخرین همگام‌سازی تغییر کرده‌اند.
  5. پاسخ همگام‌سازی را بررسی کنید تا بفهمید چه رویدادهایی به‌روزرسانی شده‌اند و کد شما به طور مناسب پاسخ دهد. برای مثال، تغییر را ثبت کنید، یک صفحه گسترده را به‌روزرسانی کنید، ایمیل‌های اطلاع‌رسانی ارسال کنید یا اقدامات دیگری انجام دهید.
  6. nextSyncToken ذخیره شده برای آن تقویم را با توکنی که توسط درخواست همگام‌سازی افزایشی برگردانده شده است، به‌روزرسانی کنید. این کار عملیات همگام‌سازی بعدی را مجبور می‌کند که فقط جدیدترین تغییرات را برگرداند.

گاهی اوقات توکن‌های همگام‌سازی توسط سرور نامعتبر می‌شوند و منجر به خطای 410 می‌شوند. وقتی این اتفاق می‌افتد، کد شما باید یک همگام‌سازی کامل انجام دهد و تمام داده‌ها و توکن‌های همگام‌سازی شده ذخیره شده برای آن تقویم را جایگزین کند.

رویداد به‌روز شد

( قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

FULL
calendarId

شناسه‌ی رشته‌ای تقویمی که به‌روزرسانی رویداد در آن رخ داده است.

susan@example.com
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است.

4034124084959907503

رویدادهای افزونه‌ی Google Workspace

تریگر onInstall() به طور خودکار زمانی که کاربر یک افزونه را نصب می‌کند، اجرا می‌شود.

نصب

( ساده )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

FULL

رویدادهای برنامه گوگل چت

برای کسب اطلاعات بیشتر در مورد اشیاء رویداد در Google Chat، به بخش دریافت و پاسخ به تعاملات با برنامه Google Chat خود مراجعه کنید.

رویدادهای زمان‌محور

تریگرهای زمان‌محور (که تریگرهای ساعتی نیز نامیده می‌شوند) به اسکریپت‌ها اجازه می‌دهند در یک زمان خاص یا در یک بازه زمانی تکرارشونده اجرا شوند.

زمان محور ( قابل نصب )
authMode

مقداری از enum مربوط به ScriptApp.AuthMode .

FULL
day-of-month

بین 1 تا 31 .

از آنجا که نام این ویژگی شامل خط تیره است، باید به جای نقطه، از طریق e['day-of-month'] قابل دسترسی باشد.

31
day-of-week

بین 1 (دوشنبه) و 7 (یکشنبه).

از آنجا که نام این ویژگی شامل خط تیره است، باید به جای نقطه، از طریق e['day-of-week'] به آن دسترسی پیدا کرد.

7
hour

بین 0 تا 23 .

23
minute

بین 0 تا 59 .

59
month

بین 1 تا 12 .

12
second

بین 0 تا 59 .

59
timezone

منطقه زمانی.

UTC
triggerUid

شناسه‌ی تریگری که این رویداد را ایجاد کرده است.

4034124084959907503
week-of-year

بین 1 تا 52 .

از آنجا که نام این ویژگی شامل خط تیره است، باید به جای نقطه، از طریق e['week-of-year'] به آن دسترسی پیدا کرد.

52
year

سال.

2015