اشیاء رویداد

راه‌اندازهای ساده و تریگرهای قابل نصب به 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());
}

این صفحه جزئیات فیلدهای موجود در شی رویداد را برای انواع مختلف تریگرها شرح می دهد.

رویدادهای Google Sheets

راه‌اندازهای مختلف Google Sheets به اسکریپت‌ها اجازه می‌دهند به اقدامات کاربر در یک صفحه‌گسترده پاسخ دهند.

باز کن

( ساده و قابل نصب )
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']

رویدادهای Google Docs

راه‌اندازها به Google Docs اجازه می‌دهند وقتی کاربر سندی را باز می‌کند پاسخ دهد.

باز کن

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

مقداری از enum ScriptApp.AuthMode .

LIMITED
source

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

Document
triggerUid

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

4034124084959907503
user

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

amin@example.com

رویدادهای اسلایدهای Google

راه‌اندازها به Google Slides اجازه می‌دهند زمانی که کاربر یک ارائه را باز می‌کند، پاسخ دهد.

باز کن

( ساده )
authMode

مقداری از enum ScriptApp.AuthMode .

LIMITED
source

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

Presentation
user

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

amin@example.com

رویدادهای Google Forms

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

باز کن

* ( ساده و قابل نصب )
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 تقویم مراجعه کنید.

برای همگام سازی با Calendar در Apps Script، مراحل زیر را انجام دهید:

  1. سرویس پیشرفته تقویم را برای پروژه اسکریپت فعال کنید. سرویس تقویم داخلی برای این گردش کار کافی نیست.
  2. تعیین کنید که چه تقویم هایی باید همگام شوند. برای هر یک از این تقویم‌ها، یک عملیات همگام‌سازی اولیه را با استفاده از روش ()Events.list سرویس پیشرفته Calendar انجام دهید.
  3. نتیجه همگام‌سازی اولیه nextSyncToken را برای آن تقویم برمی‌گرداند. این توکن را برای استفاده بعدی ذخیره کنید.
  4. وقتی برنامه Apps Script 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

برای آشنایی با اشیاء رویداد در 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