বর্ধিত বৈশিষ্ট্য

ইভেন্ট রিসোর্সের ক্ষেত্রগুলি কোনও ইভেন্টের সাথে সম্পর্কিত সবচেয়ে সাধারণ ডেটা, যেমন অবস্থান, শুরুর সময় ইত্যাদি কভার করে, তবে অ্যাপ্লিকেশনগুলি তাদের ব্যবহারের ক্ষেত্রে নির্দিষ্ট অতিরিক্ত মেটাডেটা সংরক্ষণ করতে চাইতে পারে। ক্যালেন্ডার API একটি ইভেন্টের সাথে লুকানো কী-মান জোড়া সেট করার ক্ষমতা প্রদান করে, যাকে বলা হয় extended properties । বর্ধিত বৈশিষ্ট্যগুলি কোনও বাহ্যিক ডাটাবেস ব্যবহার না করেই কোনও ইভেন্টের জন্য অ্যাপ্লিকেশন-নির্দিষ্ট ডেটা সংরক্ষণ করা সহজ করে তোলে।

দৃশ্যমানতা

দুই ধরণের বর্ধিত সম্পত্তি পাওয়া যায়: ব্যক্তিগত এবং ভাগ করা। ভাগ করা সম্পত্তিগুলি একটি ইভেন্টের সকল অংশগ্রহণকারীর দ্বারা দৃশ্যমান এবং সম্পাদনাযোগ্য, যখন ব্যক্তিগত সম্পত্তিগুলি একজন অংশগ্রহণকারীর ইভেন্টের স্থানীয় "কপি"-তে সেট করা থাকে। আরও স্পষ্টভাবে, ব্যক্তিগত সম্পত্তিগুলি অনুরোধে ব্যবহৃত calendarId এবং eventId সাথে নির্দিষ্ট, যখন ভাগ করা সম্পত্তিগুলি অনুরোধে ব্যবহৃত calendarId নির্বিশেষে দেখানো হবে।

বৈশিষ্ট্য যোগ করুন এবং আপডেট করুন

বর্ধিত বৈশিষ্ট্যগুলি ইভেন্ট রিসোর্সে সেট করা থাকে এবং অন্যান্য ক্ষেত্রগুলির মতো insert , update , এবং patch requests-এ সেট করা যেতে পারে। প্যাচ অনুরোধ ব্যবহার করা পছন্দের পদ্ধতি, কারণ এটি আপনাকে কিছু বৈশিষ্ট্য পরিচালনা করতে দেয় এবং অন্যগুলিকে অক্ষত রাখে। একই কী দিয়ে একটি নতুন বৈশিষ্ট্য যুক্ত করলে একই কী দিয়ে বিদ্যমান যেকোনো বৈশিষ্ট্য ওভাররাইট হয়ে যাবে। নিম্নলিখিত উদাহরণটি একটি ব্যক্তিগত সম্পত্তি সেট করার বিষয়টি দেখায়:

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 অনুরোধ ব্যবহার করে তাদের বর্ধিত বৈশিষ্ট্যের মানের উপর ভিত্তি করে ইভেন্টগুলি অনুসন্ধান করতে পারেন। privateExtendedProperty বা sharedExtendedProperty ক্ষেত্রটিকে propertyName=value ফর্ম্যাটে একটি সীমাবদ্ধতায় সেট করুন, যা যথাক্রমে private এবং shared properties অনুসন্ধান করে। নিম্নলিখিত উদাহরণটি private property petsAllowed=yes সহ ইভেন্টগুলি ফেরত দেয়:

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
    ?privateExtendedProperty=petsAllowed%3Dyes

আপনি এই ক্ষেত্রগুলি একাধিকবার পুনরাবৃত্তি করতে পারেন এবং সীমাবদ্ধতাগুলি একসাথে OR'ed করা হয়, তাই ইভেন্টগুলিকে কেবলমাত্র ফেরত দেওয়ার জন্য সীমাবদ্ধতার একটির সাথে মিলতে হবে। নিম্নলিখিত উদাহরণটি ব্যক্তিগত সম্পত্তি petsAllowed=yes অথবা isOutside=yes সহ ইভেন্টগুলি খুঁজে পায়:

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
    ?privateExtendedProperty=petsAllowed%3Dyes
    &privateExtendedProperty=isOutside%3Dyes

তবে মনে রাখবেন যে ব্যক্তিগত এবং ভাগ করা সম্পত্তির সীমাবদ্ধতাগুলি একসাথে AND'ed করা হয়, তাই ইভেন্টগুলি ফেরত দেওয়ার জন্য উভয় সীমাবদ্ধতার সেটের সাথে মিলিত হতে হবে। নিম্নলিখিত উদাহরণটি ব্যক্তিগত সম্পত্তি petsAllowed=yes এবং পাবলিক সম্পত্তি createdBy=myApp সহ ইভেন্টগুলি খুঁজে পায়:

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events
    ?privateExtendedProperty=petsAllowed%3Dyes
    &sharedExtendedProperty=createdBy%3DmyApp

সীমা

  1. একটি প্রপার্টির কী-এর সর্বোচ্চ আকার ৪৪ অক্ষর, এবং লম্বা কী-এর বৈশিষ্ট্যগুলি নীরবে বাদ দেওয়া হবে।
  2. একটি প্রোপার্টির মানের সর্বোচ্চ আকার ১০২৪ অক্ষর, এবং লম্বা মান সহ প্রোপার্টিগুলি নীরবে কেটে ফেলা হবে।
  3. একটি ইভেন্টে সর্বাধিক ৩০০টি প্রপার্টি থাকতে পারে যার মোট আকার ৩২kB (কী সাইজ + মানের সাইজ)। এই ৩০০টি প্রপার্টিতে ইভেন্টের সমস্ত "কপি" জুড়ে শেয়ার্ড এবং প্রাইভেট প্রপার্টি অন্তর্ভুক্ত।