ساخت رابط های تقویم گوگل

افزونه‌های Google Workspace می‌توانند هنگام مشاهده یا ویرایش تقویم‌ها و رویدادهای تقویم، رابط‌های سفارشی‌سازی شده را ارائه دهند. این به شما امکان می دهد اطلاعات مرتبط اضافی را در اختیار کاربر قرار دهید، وظایف را خودکار کنید و سیستم های شخص ثالث را به تقویم Google متصل کنید.

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

افزونه شما همچنین می‌تواند رابطی را تعریف کند که وقتی کاربر یک رویداد تقویم را باز می‌کند ظاهر می‌شود.

دسترسی به رابط کاربری افزونه

بسته به نحوه باز شدن، افزونه Google Workspace می‌تواند یک رابط صفحه اصلی، یک رابط رویداد تقویم Google، یک رابط انتخاب پیوست یا هر سه را تعریف کند:

  • اگر کاربر در نمای تقویم روی نماد افزونه کلیک کند، افزونه تابع calendar.homepageTrigger مربوطه را (در صورت وجود) اجرا می کند. این تابع یک کارت صفحه اصلی را برای نمایش به تقویم می سازد و برمی گرداند. اگر تابع calendar.homepageTrigger تعریف نشده باشد، به جای آن یک کارت صفحه اصلی عمومی نمایش داده می شود.
  • اگر کاربر یک رویداد Calendar را باز کند و سپس روی نماد برافزا کلیک کند، یا وقتی کاربر رویدادی را باز کند، افزونه باز باشد، برافزا تابع eventOpenTrigger مربوطه را (در صورت وجود) اجرا می‌کند. این تابع رابط رویداد تقویم افزونه را می سازد و برای نمایش به تقویم Google برمی گردد.
  • اگر برافزا یک تابع eventAttachmentTrigger را تعریف کند، زمانی که کاربر هنگام ویرایش یک رویداد تقویم روی افزودن پیوست کلیک می‌کند، افزونه به‌عنوان ارائه‌دهنده پیوست ظاهر می‌شود. وقتی افزونه انتخاب می شود، تابع eventAttachmentTrigger رابط انتخاب پیوست افزونه را می سازد و آن را برای نمایش به تقویم Google برمی گرداند.

ساخت رابط تقویم افزودنی

با دنبال کردن این مراحل می‌توانید Google Calendar را با افزونه Google Workspace گسترش دهید:

  1. تصمیم بگیرید که آیا می خواهید افزونه شما یک صفحه اصلی ویژه تقویم داشته باشد یا خیر. همچنین تصمیم بگیرید که آیا می خواهید یک رابط سفارشی در زمانی که کاربر در حال ویرایش رویدادهای تقویم است ارائه دهید.
  2. فیلدهای addOns.common و addOns.calendar مناسب را به مانیفست پروژه اسکریپت افزودنی اضافه کنید، از جمله دامنه‌های مورد نیاز.
  3. اگر یک صفحه اصلی اختصاصی تقویم ارائه می کنید، تابع calendar.homepageTrigger را برای ساخت این رابط پیاده سازی کنید. همچنین می‌توانید از رابط common.homepageTrigger برای چندین میزبان Google Workspace استفاده کنید.
  4. اگر یک رابط رویداد Calendar ارائه می کنید، باید یک تابع calendar.eventOpenTrigger را برای ساخت این رابط پیاده سازی کنید. برای جزئیات بیشتر به گسترش رابط رویداد تقویم مراجعه کنید.
  5. توابع مربوط به پاسخ به تماس مورد نیاز برای پاسخگویی به تعاملات رابط کاربری کاربر، مانند کلیک روی دکمه، را اجرا کنید.

صفحات اصلی تقویم

Google Calendar از نمایش صفحات اصلی افزونه Google Workspace پشتیبانی می کند. برای نمایش صفحه اصلی مشترک افزونه خود در Google Calendar، فقط مطمئن شوید که یک فیلد addOns.calendar در مانیفست افزونه وجود دارد.

از طرف دیگر، یک calendar.homepageTrigger را به مانیفست افزودنی اضافه کنید تا یک صفحه اصلی مخصوص تقویم ارائه شود.

در هر صورت، باید نام یک تابع راه‌اندازی صفحه اصلی را در پروژه اسکریپت افزونه خود وارد کنید. این تابع به طور خودکار برای ساخت صفحه اصلی تقویم Google در صورت نیاز فراخوانی می شود. شما باید این تابع را برای ساختن و برگرداندن یک Card یا آرایه ای از اشیاء Card که صفحه اصلی را تشکیل می دهند، پیاده سازی کنید. تابع ماشه صفحه اصلی به یک شی رویداد به عنوان پارامتر ارسال می شود که حاوی برخی اطلاعات کلی مانند پلت فرم مشتری است. می‌توانید از داده‌های شی رویداد برای تنظیم ساخت صفحه اصلی استفاده کنید.

گسترش رابط رویداد Calendar

Google Calendar برای تعیین اینکه چه رابطی (در صورت وجود) هنگام ویرایش یک رویداد تقویم توسط کاربر نمایش داده شود، به یک راه‌انداز متنی متکی است. هنگامی که تریگر فعال می شود، تابع ماشه متنی مشخص شده توسط فیلد calendar.eventOpenTrigger در مانیفست افزودنی را اجرا می کند.

باید تابعی را که در قسمت calendar.eventOpenTrigger نامگذاری شده است پیاده سازی کنید. این تابع یک شی رویداد را به عنوان آرگومان می‌پذیرد و باید یک شی Card یا آرایه‌ای از اشیاء Card را برای نمایش در زمانی که کاربر رویداد را باز می‌کند، برگرداند.

اشیاء رویداد

هنگامی که کاربر یک رویداد Calendar را باز می کند، یک شی رویداد ایجاد می شود و به تابع ماشه زمینه ای calendar.eventOpenTrigger ارسال می شود. تابع ماشه می تواند از اطلاعات موجود در این شی رویداد برای تعیین نحوه ساخت کارت های افزودنی یا کنترل رفتار افزودنی استفاده کند. هنگامی که یک افزونه برای اولین بار باز می شود، و هنگامی که کاربر ویجت های تعاملی را کلیک یا انتخاب می کند، اشیاء رویداد ایجاد می شوند و به توابع homepageTrigger منتقل می شوند.

ساختار کامل اشیاء رویداد در اشیاء رویداد توضیح داده شده است. هنگامی که Calendar برنامه میزبان فعال برافزا است، اشیاء رویداد تعاملی فعال در زمینه و ویجت شامل فیلد شی رویداد Calendar می‌شود که اطلاعات مشتری ویژه تقویم را حمل می‌کند.

به روز رسانی رویدادهای تقویم

علاوه بر calendar.eventOpenTrigger متنی که وقتی کاربر یک رویداد Calendar را برای ویرایش باز می کند فعال می شود، شما همچنین می توانید یک calendar.eventUpdateTrigger را تعریف کنید که وقتی کاربر یک رویداد Calendar را به روز می کند و ذخیره می کند فعال می شود. این ماشه فقط در صورتی فعال می شود که کاربر یک یا چند مورد از ویرایش های زیر را انجام دهد:

  • یک یا چند شرکت کننده را اضافه می کند.
  • یک یا چند شرکت کننده را حذف می کند.
  • راه حل کنفرانس دیگری را اضافه یا تغییر می دهد.

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

calendar.eventUpdateTrigger معمولاً برای انجام یک یا چند مورد از موارد زیر استفاده می شود:

  • رابط رویداد تقویم افزونه را در پاسخ به تغییرات کاربر در رویداد تقویم به‌روزرسانی کنید.
  • داده‌های رویداد تقویم را با یک سیستم شخص ثالث، مانند سیستم کنفرانسی که به تقویم Google متصل است، همگام‌سازی کنید.

اگر به برافزای خود برای انجام تنظیمات مربوط به داده‌های رویداد تقویم (مانند فهرست شرکت‌کنندگان) نیاز دارید، باید فیلد مانیفست افزونه calendar.currentEventAccess را روی WRITE یا READ_WRITE تنظیم کنید. این همچنین مستلزم داشتن دامنه https://www.googleapis.com/auth/calendar.addons.current.event.write افزونه است.

اضافه کردن راه حل های کنفرانس

راه حل های کنفرانس گزینه های کنفرانس شخص ثالث را نشان می دهد که کاربران می توانند به رویدادهای تقویم Google پیوست کنند. مستندات نمای کلی کنفرانس شخص ثالث جزئیاتی را در مورد نحوه ساخت یک افزونه ارائه می دهد که راه حل های کنفرانس جدیدی را اضافه می کند. برای این نوع پسوند نیازی به ساخت UI نیست. راه حل های اضافه شده به سادگی به عنوان گزینه در منوی کشویی رابط کاربری رویداد تقویم Google ظاهر می شوند.