افزونههای Google Workspace میتوانند هنگام مشاهده یا ویرایش تقویمها و رویدادهای تقویم، رابطهای سفارشیسازی شده را ارائه دهند. این به شما امکان می دهد اطلاعات مرتبط اضافی را در اختیار کاربر قرار دهید، وظایف را خودکار کنید و سیستم های شخص ثالث را به تقویم Google متصل کنید.
هنگام ساختن یک رابط افزودنی برای Google Calendar، می توانید یک صفحه اصلی ارائه دهید. می توانید از یک صفحه اصلی برای چندین هاست استفاده کنید یا یک صفحه خاص را برای تقویم Google طراحی کنید.
افزونه شما همچنین میتواند رابطی را تعریف کند که وقتی کاربر یک رویداد تقویم را باز میکند ظاهر میشود.
دسترسی به رابط کاربری افزونه
بسته به نحوه باز شدن، افزونه Google Workspace میتواند یک رابط صفحه اصلی، یک رابط رویداد تقویم Google، یک رابط انتخاب پیوست یا هر سه را تعریف کند:
- اگر کاربر در نمای تقویم روی نماد افزونه کلیک کند، افزونه تابع
calendar.homepageTrigger
مربوطه را (در صورت وجود) اجرا می کند. این تابع یک کارت صفحه اصلی را برای نمایش به تقویم می سازد و برمی گرداند. اگر تابعcalendar.homepageTrigger
تعریف نشده باشد، به جای آن یک کارت صفحه اصلی عمومی نمایش داده می شود. - اگر کاربر یک رویداد Calendar را باز کند و سپس روی نماد برافزا کلیک کند، یا وقتی کاربر رویدادی را باز کند، افزونه باز باشد، برافزا تابع
eventOpenTrigger
مربوطه را (در صورت وجود) اجرا میکند. این تابع رابط رویداد تقویم افزونه را می سازد و برای نمایش به تقویم Google برمی گردد. - اگر برافزا یک تابع
eventAttachmentTrigger
را تعریف کند، زمانی که کاربر هنگام ویرایش یک رویداد تقویم روی افزودن پیوست کلیک میکند، افزونه بهعنوان ارائهدهنده پیوست ظاهر میشود. وقتی افزونه انتخاب می شود، تابعeventAttachmentTrigger
رابط انتخاب پیوست افزونه را می سازد و آن را برای نمایش به تقویم Google برمی گرداند.
ساخت رابط تقویم افزودنی
با دنبال کردن این مراحل میتوانید Google Calendar را با افزونه Google Workspace گسترش دهید:
- تصمیم بگیرید که آیا می خواهید افزونه شما یک صفحه اصلی ویژه تقویم داشته باشد یا خیر. همچنین تصمیم بگیرید که آیا می خواهید یک رابط سفارشی در زمانی که کاربر در حال ویرایش رویدادهای تقویم است ارائه دهید.
- فیلدهای
addOns.common
وaddOns.calendar
مناسب را به مانیفست پروژه اسکریپت افزودنی اضافه کنید، از جمله دامنههای مورد نیاز. - اگر یک صفحه اصلی اختصاصی تقویم ارائه می کنید، تابع
calendar.homepageTrigger
را برای ساخت این رابط پیاده سازی کنید. همچنین میتوانید از رابطcommon.homepageTrigger
برای چندین میزبان Google Workspace استفاده کنید. - اگر یک رابط رویداد Calendar ارائه می کنید، باید یک تابع
calendar.eventOpenTrigger
را برای ساخت این رابط پیاده سازی کنید. برای جزئیات بیشتر به گسترش رابط رویداد تقویم مراجعه کنید. - توابع مربوط به پاسخ به تماس مورد نیاز برای پاسخگویی به تعاملات رابط کاربری کاربر، مانند کلیک روی دکمه، را اجرا کنید.
صفحات اصلی تقویم
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 متصل است، همگامسازی کنید.
اگر به برافزای خود برای انجام تنظیمات مربوط به دادههای رویداد تقویم (مانند فهرست شرکتکنندگان) نیاز دارید، باید فیلد مانیفست افزونه calendar.currentEventAccess
را روی WRITE
یا READ_WRITE
تنظیم کنید. این همچنین مستلزم داشتن دامنه https://www.googleapis.com/auth/calendar.addons.current.event.write
افزونه است.
اضافه کردن راه حل های کنفرانس
راه حل های کنفرانس گزینه های کنفرانس شخص ثالث را نشان می دهد که کاربران می توانند به رویدادهای تقویم Google پیوست کنند. مستندات نمای کلی کنفرانس شخص ثالث جزئیاتی را در مورد نحوه ساخت یک افزونه ارائه می دهد که راه حل های کنفرانس جدیدی را اضافه می کند. برای این نوع پسوند نیازی به ساخت UI نیست. راه حل های اضافه شده به سادگی به عنوان گزینه در منوی کشویی رابط کاربری رویداد تقویم Google ظاهر می شوند.