اشیاء رویداد

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

LIMITED
source

یک شیء Spreadsheet که نشان‌دهنده‌ی فایل Google 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 که نشان‌دهنده‌ی فایل Google Sheets است که اسکریپت به آن متصل شده است.

Spreadsheet
triggerUid

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

4034124084959907503
user

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

amin@example.com

ویرایش

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

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

LIMITED
oldValue

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

1234
range

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

Range
source

یک شیء Spreadsheet که نشان‌دهنده‌ی فایل Google 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 که نشان‌دهنده‌ی فایل Google Docs است که اسکریپت به آن متصل شده است.

Document
triggerUid

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

4034124084959907503
user

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

amin@example.com

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

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

باز

( ساده )
authMode

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

LIMITED
source

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

Presentation
user

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

amin@example.com

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

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

باز

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

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

LIMITED
source

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

Form
triggerUid

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

4034124084959907503
user

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

amin@example.com

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

ارسال فرم

( قابل نصب )
authMode

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

FULL
response

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

FormResponse
source

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

Form
triggerUid

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

4034124084959907503

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

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

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

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

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

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

( قابل نصب )
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