ইভেন্ট সংস্থানগুলির ক্ষেত্রগুলি একটি ইভেন্টের সাথে সম্পর্কিত সর্বাধিক সাধারণ ডেটা যেমন অবস্থান, শুরুর সময়, ইত্যাদি কভার করে, তবে অ্যাপ্লিকেশনগুলি তাদের ব্যবহারের ক্ষেত্রে নির্দিষ্ট অতিরিক্ত মেটাডেটা সংরক্ষণ করতে চাইতে পারে। ক্যালেন্ডার API একটি ইভেন্টের সাথে লুকানো কী-মান জোড়া সেট করার ক্ষমতা প্রদান করে, যাকে বলা হয় বর্ধিত বৈশিষ্ট্য । বর্ধিত বৈশিষ্ট্যগুলি একটি বহিরাগত ডাটাবেস ব্যবহার না করেই একটি ইভেন্টের জন্য অ্যাপ্লিকেশন-নির্দিষ্ট ডেটা সংরক্ষণ করা সহজ করে তোলে।
দৃশ্যমানতা
দুটি ধরণের বর্ধিত বৈশিষ্ট্য উপলব্ধ: ব্যক্তিগত এবং ভাগ করা। ভাগ করা বৈশিষ্ট্যগুলি একটি ইভেন্টের সমস্ত অংশগ্রহণকারীদের দ্বারা দৃশ্যমান এবং সম্পাদনাযোগ্য, যখন ব্যক্তিগত বৈশিষ্ট্যগুলি ইভেন্টের একজন অংশগ্রহণকারীর স্থানীয় "অনুলিপি" এর উপর সেট করা হয়। আরও সুনির্দিষ্টভাবে, ব্যক্তিগত বৈশিষ্ট্যগুলি অনুরোধে ব্যবহৃত calendarId
এবং eventId
জন্য নির্দিষ্ট, যখন অনুরোধে ব্যবহৃত calendarId
নির্বিশেষে ভাগ করা বৈশিষ্ট্যগুলি দেখানো হবে৷
বৈশিষ্ট্য যোগ করুন এবং আপডেট করুন
বর্ধিত বৈশিষ্ট্যগুলি ইভেন্ট রিসোর্সে সেট করা হয়, এবং অন্যান্য ক্ষেত্রগুলির মতো সন্নিবেশ , আপডেট এবং প্যাচ অনুরোধগুলিতে সেট করা যেতে পারে। প্যাচ অনুরোধগুলি ব্যবহার করা হল পছন্দের পদ্ধতি, কারণ এটি আপনাকে কিছু বৈশিষ্ট্য পরিচালনা করতে দেয় এবং অন্যগুলিকে স্পর্শ না করে। একই কী দিয়ে একটি নতুন প্রপার্টি যোগ করলে একই কী দিয়ে বিদ্যমান যেকোন প্রপার্টি ওভাররাইট হবে। নিম্নলিখিত উদাহরণ একটি ব্যক্তিগত সম্পত্তি সেট দেখায়:
PATCH https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
{
"extendedProperties": {
"private": {
"petsAllowed": "yes"
}
}
}
বৈশিষ্ট্য মুছুন
আপডেটের অনুরোধে অন্তর্ভুক্ত নয় এমন কোনো বৈশিষ্ট্য মুছে ফেলা হবে, তবে মানটিকে নাল সেট করার জন্য একটি প্যাচ অনুরোধ করা একটি ভাল পদ্ধতি। নিম্নলিখিত উদাহরণে একটি ব্যক্তিগত সম্পত্তি মুছে ফেলা দেখায়:
PATCH https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
{
"extendedProperties": {
"private": {
"petsAllowed": null
}
}
}
বৈশিষ্ট্য অনুসন্ধান করুন
আপনি একটি Events.list অনুরোধ ব্যবহার করে তাদের বর্ধিত বৈশিষ্ট্যের মানগুলির উপর ভিত্তি করে ইভেন্টগুলি অনুসন্ধান করতে পারেন। প্রাইভেটএক্সটেন্ডেড প্রপার্টি বা শেয়ার্ডএক্সটেন্ডেড প্রপার্টি ক্ষেত্রটিকে propertyName=value
বিন্যাসে একটি সীমাবদ্ধতায় সেট করুন, যা যথাক্রমে ব্যক্তিগত এবং ভাগ করা সম্পত্তির বিরুদ্ধে অনুসন্ধান করে। নিম্নলিখিত উদাহরণটি ব্যক্তিগত সম্পত্তির সাথে ইভেন্টগুলি প্রদান করে petsAllowed=yes
:
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events ?privateExtendedProperty=petsAllowed%3Dyes
আপনি এই ক্ষেত্রগুলিকে একাধিকবার পুনরাবৃত্তি করতে পারেন এবং সীমাবদ্ধতাগুলি একসাথে বা করা হয়, তাই ইভেন্টগুলিকে শুধুমাত্র একটি সীমাবদ্ধতার সাথে মেলে যা ফেরত দিতে হবে৷ নিম্নলিখিত উদাহরণটি ব্যক্তিগত সম্পত্তি petsAllowed=yes
বা isOutside=yes
এর সাথে ইভেন্টগুলি খুঁজে পায়:
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events ?privateExtendedProperty=petsAllowed%3Dyes &privateExtendedProperty=isOutside%3Dyes
সচেতন থাকুন যে ব্যক্তিগত এবং ভাগ করা সম্পত্তির সীমাবদ্ধতাগুলিকে একসাথে এবং করা হয়েছে, তাই ইভেন্টগুলিকে ফেরত দেওয়ার জন্য উভয় সেটের সীমাবদ্ধতার সাথে মেলে। নিম্নলিখিত উদাহরণটি ব্যক্তিগত সম্পত্তি petsAllowed=yes
এবং createdBy=myApp
:
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events ?privateExtendedProperty=petsAllowed%3Dyes &sharedExtendedProperty=createdBy%3DmyApp
সীমা
- একটি প্রপার্টির কী-এর সর্বোচ্চ আকার হল 44টি অক্ষর, এবং লম্বা কী সহ বৈশিষ্ট্যগুলি নিঃশব্দে বাদ দেওয়া হবে।
- একটি প্রপার্টির মানের সর্বোচ্চ মাপ হল 1024 অক্ষর, এবং দীর্ঘ মানের বৈশিষ্ট্যগুলি নীরবে কেটে ফেলা হবে৷
- একটি ইভেন্টে 32kB পর্যন্ত মোট 300 বৈশিষ্ট্য থাকতে পারে (কী আকার + মান আকার)। এই 300টি সম্পত্তির মধ্যে ইভেন্টের সমস্ত "কপি" জুড়ে শেয়ার করা এবং ব্যক্তিগত সম্পত্তি অন্তর্ভুক্ত রয়েছে।