سطح کدنویسی : مبتدی
مدت زمان : ۵ دقیقه
نوع پروژه : اتوماسیون با منوی سفارشی و تریگر رویداد محور
اهداف
- بفهمید که راه حل چه کاری انجام میدهد.
- درک کنید که سرویسهای Apps Script در این راهکار چه کاری انجام میدهند.
- اسکریپت را تنظیم کنید.
- اسکریپت را اجرا کنید.
درباره این راهکار
یک سیستم ثبت رویداد جامع ایجاد کنید. اگر رویدادی مانند کنفرانس در پیش دارید، میتوانید یک تقویم جدید برای جلسات کنفرانس تنظیم کنید، یک فرم ثبت نام ایجاد کنید و به طور خودکار برنامههای سفر شخصیسازی شده را برای شرکتکنندگان ایمیل کنید.


چگونه کار میکند؟
این راهکار از یک منوی سفارشی در گوگل شیت برای پیادهسازی یک سیستم ثبت خودکار رویداد استفاده میکند. اسکریپت، تقویمی با رویدادهای کنفرانس فهرستشده در صفحه گسترده شیت ایجاد میکند. سپس، اسکریپت فرمی با فهرست رویدادهایی که شرکتکنندگان میتوانند در آنها ثبتنام کنند، ایجاد میکند. پس از اینکه شرکتکنندگان فرم را پر کردند، اسکریپت شرکتکنندگان را به رویدادهای تقویم اضافه میکند و برنامههای سفر را برای آنها ایمیل میکند.
سرویسهای اسکریپت برنامهها
این راهکار از سرویسهای زیر استفاده میکند:
- سرویس صفحه گسترده - اطلاعات رویداد را برای سایر سرویسها فراهم میکند.
- سرویس تقویم - یک تقویم جدید برای رویداد ایجاد میکند، رویدادها را به تقویم اضافه میکند و شرکتکنندگان را به رویدادهایی که در آنها ثبتنام کردهاند اضافه میکند.
- سرویس Properties - شناسه تقویم ایجاد شده توسط سرویس Calendar را ذخیره میکند. وقتی کاربر روی Set up conference از منوی Custom Conference کلیک میکند، سرویس Properties با بررسی وجود ویژگی calendar ID، بررسی میکند که آیا سیستم ثبت رویداد قبلاً راهاندازی شده است یا خیر. انجام این کار به جلوگیری از ایجاد فرمها و تقویمهای تکراری کمک میکند.
- سرویس فرمها - فرمی از اطلاعات موجود در صفحه گسترده ایجاد میکند که به شرکتکنندگان اجازه میدهد در جلسات ثبتنام کنند.
- سرویس اسکریپت - ماشه ای ایجاد می کند که هنگام پر کردن فرم توسط شرکت کننده فعال می شود.
- سرویس سند - اطلاعات رویداد مربوط به رویدادهایی که یک شرکتکننده در آنها ثبتنام میکند را دریافت کرده و فهرستی از رویدادها را به یک سند جدید اضافه میکند. این اسکریپت به شرکتکننده اجازه ویرایش سند را میدهد.
- سرویس پستی - سند برنامه سفر را برای شرکتکننده ایمیل میکند.
پیشنیازها
برای استفاده از این نمونه، به پیشنیازهای زیر نیاز دارید:
- یک حساب گوگل (حسابهای کاربری گوگل ورکاسپیس ممکن است نیاز به تأیید مدیر داشته باشند).
- یک مرورگر وب با دسترسی به اینترنت.
اسکریپت را تنظیم کنید
- برای ایجاد یک کپی از صفحه گسترده نمونه «ایجاد ثبت نام برای جلسات در یک کنفرانس» روی دکمه زیر کلیک کنید. پروژه Apps Script برای این راهکار به صفحه گسترده پیوست شده است.
یک کپی تهیه کنید - روی کنفرانس > راهاندازی کنفرانس کلیک کنید. ممکن است لازم باشد صفحه را برای نمایش این منوی سفارشی رفرش کنید.
وقتی از شما خواسته شد، اسکریپت را تأیید کنید. اگر صفحه رضایت OAuth هشدار « این برنامه تأیید نشده است» را نشان میدهد، با انتخاب Advanced > Go to {Project Name} (unsafe) ادامه دهید.
دوباره روی کنفرانس > تنظیم کنفرانس کلیک کنید.
اسکریپت را اجرا کنید
- روی ابزارها > مدیریت فرم > رفتن به فرم زنده کلیک کنید.
- فرم را پر کنید و ارسال کنید.
- به calendar.google.com بروید.
- در سمت چپ، مطمئن شوید که کادر کنار «تقویم کنفرانس» علامت زده شده باشد.
- به تاریخ رویدادهایی که در آنها ثبت نام کردهاید بروید و تأیید کنید که به عنوان شرکتکننده اضافه شدهاید.
(اختیاری) راه حل را دوباره تنظیم کنید
اگر میخواهید این راهحل را دوباره امتحان کنید، یا آن را طوری سفارشی کنید که از اطلاعات رویداد خودتان استفاده کند، باید برخی از مواردی را که هنگام اولین اجرای اسکریپت تنظیم شدهاند، بازنشانی کنید. برای مشاهده مراحل بازنشانی راهحل، روی بازنشانی راهحل در زیر کلیک کنید:
راه حل را دوباره تنظیم کنید
مرحله ۱: ویژگیهای اسکریپت ذخیره شده را بازنشانی کنید
اگر بیش از یک بار سعی کنید اسکریپت را اجرا کنید، با پیغام «کنفرانس شما قبلاً راهاندازی شده است» مواجه خواهید شد. در گوگل درایو به دنبال فرم ثبت نام خود بگردید! این اتفاق به این دلیل میافتد که پس از ایجاد تقویم کنفرانس، شناسه تقویم به عنوان یک ویژگی اسکریپت ذخیره میشود. وقتی اسکریپت اجرا میشود، بررسی میکند که آیا ویژگی شناسه تقویم از قبل وجود دارد یا خیر و در صورت وجود، اجرا را متوقف میکند.
برای حذف ویژگی شناسه تقویم موجود، مراحل زیر را دنبال کنید:
- در صفحه گسترده، روی افزونهها > اسکریپت برنامهها کلیک کنید.
- در ویرایشگر Apps Script، از فهرست کشویی تابع،
resetPropertiesانتخاب کرده و روی Run کلیک کنید.
مرحله ۲: تقویم کنفرانس را حذف کنید
هر بار که اسکریپت اجرا میشود، یک تقویم جدید ایجاد میکند. اگر نمیخواهید تقویم اصلی ایجاد شده را نگه دارید، این مراحل را دنبال کنید:
- به calendar.google.com بروید.
- در کنار تقویم کنفرانس، روی گزینههای تقویم کنفرانس کلیک کنید
> تنظیمات و اشتراکگذاری .
- به پایین تنظیمات بروید و روی حذف کلیک کنید.
مرحله ۳: تریگر ارسال فرم را حذف کنید
این اسکریپت هر بار که اجرا میشود، یک تریگر برای ارسال فرم ایجاد میکند. برای جلوگیری از تریگرهای متعدد که منجر به ایمیلهای تکراری میشوند، تریگر اصلی را حذف کنید. این مراحل را دنبال کنید:
- در صفحه گسترده، روی افزونهها > اسکریپت برنامهها کلیک کنید.
- در پروژه Apps Script، در سمت چپ، روی Triggers کلیک کنید.
.
- در کنار ماشه، روی «بیشتر» کلیک کنید
> حذف تریگر .
مرحله ۴: فرم را از حالت لینک خارج کرده و حذف کنید
هر بار که اسکریپت را اجرا میکنید، یک فرم جدید ایجاد میشود. برای جدا کردن فرم از صفحه گسترده و حذف آن، این مراحل را دنبال کنید:
- در صفحه گسترده، روی برگه پاسخهای فرم کلیک راست کرده و روی Unlink form > Ok کلیک کنید.
- دوباره روی برگه پاسخهای فرم کلیک راست کرده و Delete > Ok را انتخاب کنید.
- به forms.google.com بروید.
- روی فرم کنفرانس کلیک راست کرده و گزینه حذف > انتقال به سطل زباله را انتخاب کنید.
پس از تنظیم مجدد راهحل، میتوانید دادههای خودتان را اضافه کنید، یا به استفاده از دادههای نمونه ادامه دهید و اسکریپت را دوباره اجرا کنید.
کد را مرور کنید
برای بررسی کد Apps Script برای این راهکار، روی مشاهده کد منبع در زیر کلیک کنید:
مشاهده کد منبع
کد.gs
مشارکتکنندگان
این نمونه توسط گوگل و با کمک متخصصان توسعهدهنده گوگل نگهداری میشود.