ইভেন্টের ধরন

এই পৃষ্ঠাটি eventType প্রপার্টি এবং Google ক্যালেন্ডার API-এ উপলব্ধ ইভেন্ট প্রকারের স্পেসিফিকেশন ব্যাখ্যা করে।

Google ক্যালেন্ডার ব্যবহারকারীদের জেনেরিক ইভেন্টগুলি তৈরি করতে দেয়, সেইসাথে ইভেন্টগুলি যা নির্দিষ্ট ব্যবহারের ক্ষেত্রে এবং কাস্টম বৈশিষ্ট্যগুলির জন্য ডিজাইন করা হয়৷

এপিআই-এর নিম্নলিখিত জায়গায় ইভেন্টের ধরন খুঁজে পাওয়া যাবে:

  • সমস্ত ইভেন্ট একটি eventType দিয়ে ফেরত দেওয়া হয়।
  • একটি ইভেন্ট সংস্থান তৈরি বা আপডেট করার সময় eventType সেট করা প্রয়োজন। সেট না থাকলে, 'default' টাইপ ব্যবহার করা হবে।
  • eventTypes একটি Events:list কলে নির্দিষ্ট করা যেতে পারে নির্দিষ্ট ধরনের ইভেন্টের তালিকা করতে। কোনো প্রকার নির্দিষ্ট না থাকলে, সমস্ত ইভেন্টের ধরন ফেরত দেওয়া হবে।
  • eventTypes একটি Events:watch ৷ যদি কোন প্রকার নির্দিষ্ট করা না থাকে, তাহলে অনুরোধের ফলে সমস্ত ইভেন্ট প্রকারে সদস্যতা নেওয়া হবে।

ডিফল্ট ইভেন্ট

default ইভেন্ট টাইপ সহ ইভেন্টগুলি তৈরি করা হয় এবং Google ক্যালেন্ডার API এর অন্যতম প্রধান সংস্থান হিসাবে ব্যবহার করা হয়। তারা বিস্তৃত বৈশিষ্ট্য সমর্থন করে যা ইভেন্টটিকে আরও কাস্টমাইজ করতে ব্যবহার করা যেতে পারে।

Google ক্যালেন্ডার ইভেন্টগুলির সাথে কাজ শুরু করতে ইভেন্টগুলি তৈরি করুন দেখুন৷

জন্মদিন

জন্মদিনগুলি বার্ষিক পুনরাবৃত্তি সহ সারাদিনের বিশেষ ইভেন্ট।

ব্যবহারকারীরা ম্যানুয়ালি গুগল ক্যালেন্ডারে জন্মদিনের ইভেন্ট তৈরি করতে পারেন। এছাড়াও, ব্যবহারকারীরা যখন একজন ব্যক্তিকে যুক্ত করে এবং Google পরিচিতিতে তাদের জন্মদিন এবং অন্যান্য উল্লেখযোগ্য তারিখগুলি অন্তর্ভুক্ত করে তখন জন্মদিনের তথ্য Google ক্যালেন্ডারের সাথে সিঙ্ক হয়৷ ব্যবহারকারীদের নিজের জন্মদিন তাদের Google অ্যাকাউন্ট প্রোফাইল থেকে Google ক্যালেন্ডারে সিঙ্ক করা হয়।

Google ক্যালেন্ডার API জন্মদিনের ইভেন্ট পড়ার জন্য get , instances এবং list পদ্ধতি সমর্থন করে। শুধুমাত্র জন্মদিনের ইভেন্টগুলি তালিকাভুক্ত করতে eventTypes 'birthday' -এ সেট করা যেতে পারে। যদি কোন প্রকার নির্দিষ্ট করা না থাকে, তাহলে জন্মদিনগুলি অন্যান্য সমস্ত ইভেন্ট প্রকারের সাথে তালিকাভুক্ত করা হবে৷

ফিরে আসা Event অবজেক্টে, এই বিশেষ ইভেন্ট সম্পর্কে আরও বিশদ বিবরণের জন্য birthdayProperties ক্ষেত্রটি পরিদর্শন করুন। birthdayProperties নিম্নলিখিত ক্ষেত্র রয়েছে:

  • type : এই বিশেষ ইভেন্টের ধরন, এটি একটি জন্মদিন, একটি বার্ষিকী, বা অন্য উল্লেখযোগ্য তারিখ হোক না কেন।
  • customTypeName : এই বিশেষ ইভেন্টের জন্য ব্যবহারকারী-নির্দিষ্ট লেবেল। type 'custom' -এ সেট করা থাকলে এটি পপুলেট করা হয়।
  • contact : এই বিশেষ ইভেন্টের সাথে যোগাযোগের সংস্থানের নাম, যদি থাকে। এটির 'people/c12345' ফরম্যাট রয়েছে এবং পিপল API থেকে যোগাযোগের বিবরণ আনতে ব্যবহার করা যেতে পারে।

API নিম্নলিখিত স্পেসিফিকেশন সহ insert পদ্ধতি ব্যবহার করে জন্মদিনের ইভেন্ট তৈরি করার অনুমতি দেয়:

  • eventType 'birthday' সেট করা আছে।
  • start এবং end ক্ষেত্রগুলিকে একটি সারাদিনের ইভেন্ট সংজ্ঞায়িত করতে হবে যা ঠিক একদিন বিস্তৃত।
  • visibility ক্ষেত্রের মান অবশ্যই 'private' হতে হবে।
  • transparency ক্ষেত্রের মান অবশ্যই 'transparent' হতে হবে।
  • একটি বার্ষিক পুনরাবৃত্তি থাকা প্রয়োজন, যার অর্থ recurrence ক্ষেত্রটি হতে হবে 'RRULE:FREQ=YEARLY' । 29শে ফেব্রুয়ারীতে জন্মদিনের ইভেন্টগুলিতে অবশ্যই নিম্নলিখিত পুনরাবৃত্তির নিয়ম থাকতে হবে: 'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
  • একটি colorId , summary এবং reminders থাকতে পারে।
  • birthdayProperties থাকতে পারে। নির্দিষ্ট করা থাকলে, type অবশ্যই 'birthday' হতে হবে, এবং customTypeName এবং contact উভয়ই খালি হতে হবে।
  • অন্য কোন ইভেন্ট বৈশিষ্ট্য থাকতে পারে না.

API update এবং patch পদ্ধতি ব্যবহার করে colorId , summary এবং জন্মদিনের ইভেন্টের reminders আপডেট করার অনুমতি দেয়। ইভেন্ট তারিখ পরিবর্তন করতে start এবং end ক্ষেত্রগুলিও আপডেট করা যেতে পারে। এই ক্ষেত্রে, নতুন মানগুলিকে একটি সারাদিনের ইভেন্টকে সংজ্ঞায়িত করতে হবে যা ঠিক একদিন বিস্তৃত। একটি জন্মদিনের ইভেন্টের সময় বিবরণ আপডেট করা যাবে না যদি ইভেন্টটি একটি contact সাথে লিঙ্ক করা হয়, বা এর type 'self' হয়।

Google ক্যালেন্ডার API কাস্টম birthdayProperties সাথে জন্মদিনের ইভেন্টগুলি তৈরি করতে বা এই বৈশিষ্ট্যগুলি আপডেট করার অনুমতি দেয় না৷ পিপল এপিআই এর সাথে উল্লেখযোগ্য তারিখগুলি সম্পাদনা করা যেতে পারে এবং পরিবর্তনগুলি Google ক্যালেন্ডারের সাথে সিঙ্ক করা হয়৷ একইভাবে, ব্যবহারকারীরা তাদের Google অ্যাকাউন্ট প্রোফাইলে তাদের নিজস্ব জন্মদিন সম্পাদনা করতে পারে এবং এটি Google ক্যালেন্ডারের সাথে সিঙ্ক হয়।

একটি অসমর্থিত উপায়ে জন্মদিন তৈরি বা আপডেট করার চেষ্টা করে এমন অনুরোধগুলি ব্যর্থ হবে৷ এই ক্ষেত্রে, সমস্যা সনাক্ত করতে ত্রুটি বার্তা পরিদর্শন করুন.

API জন্মদিনের ইভেন্টগুলির জন্য import ক্রিয়াকলাপ সমর্থন করে; যাইহোক, ইভেন্টটি ডিফল্ট ইভেন্ট হিসাবে আমদানি করা হবে। অন্য কথায়, eventType হবে 'default'

এপিআই গুগল ক্যালেন্ডারে জন্মদিনের ইভেন্টে পরিবর্তনের সদস্যতা নিতে watch পদ্ধতি সমর্থন করে। জন্মদিনের ইভেন্টের আপডেটের সদস্যতা নিতে eventTypes 'birthday' -এ সেট করা যেতে পারে। যদি কোন প্রকার নির্দিষ্ট করা না থাকে, তাহলে জন্মদিন সহ সমস্ত ইভেন্টের ধরন সাবস্ক্রাইব করা হবে।

Google ক্যালেন্ডার API-এর delete পদ্ধতি ব্যবহার করে জন্মদিনের ইভেন্টগুলি মুছে ফেলা যেতে পারে। Google ক্যালেন্ডার থেকে একটি জন্মদিনের ইভেন্ট মুছে ফেলা Google পরিচিতি বা Google অ্যাকাউন্ট প্রোফাইলের ডেটাকে প্রভাবিত করে না।

move বা update পদ্ধতি ব্যবহার করে জন্মদিনের ইভেন্টের সংগঠক পরিবর্তন করা সমর্থিত নয়।

Gmail থেকে ইভেন্ট

Gmail থেকে স্বয়ংক্রিয়ভাবে তৈরি হওয়া ইভেন্টগুলিতে 'fromGmail' ইভেন্টের ধরন থাকে।

Google ক্যালেন্ডার API insert পদ্ধতি ব্যবহার করে এই ইভেন্টের প্রকার তৈরি করার অনুমতি দেয় না।

API update এবং patch পদ্ধতি ব্যবহার করে colorId , reminders , দৃশ্যমানতা, visibility , transparency , attendees , private এবং shared বর্ধিত বৈশিষ্ট্যগুলি আপডেট করার অনুমতি দেয় status

এপিআই জিমেইল থেকে ইভেন্ট পড়ার জন্য get এবং list পদ্ধতি সমর্থন করে। eventTypes 'fromGmail' এ সেট করা যেতে পারে শুধুমাত্র Gmail থেকে জেনারেট হওয়া ইভেন্টগুলিকে তালিকাভুক্ত করতে। যদি কোন প্রকার নির্দিষ্ট করা না থাকে, তাহলে Gmail থেকে ইভেন্টগুলি অন্যান্য সমস্ত ইভেন্টের প্রকারের সাথে তালিকাভুক্ত হবে৷

এপিআই Google ক্যালেন্ডারে Gmail থেকে ইভেন্টে পরিবর্তনের সদস্যতা নিতে watch পদ্ধতি সমর্থন করে। যদি কোনো প্রকার নির্দিষ্ট করা না থাকে, তাহলে 'fromGmail' সহ সমস্ত ইভেন্টের ধরন সাবস্ক্রাইব করা হবে।

Google ক্যালেন্ডার API এর delete পদ্ধতি ব্যবহার করে Gmail থেকে ইভেন্টগুলি মুছে ফেলা যেতে পারে।

move বা update পদ্ধতি ব্যবহার করে Gmail থেকে একটি ইভেন্টের সংগঠক পরিবর্তন করা সমর্থিত নয়।

ফোকাস সময়, অফিসের বাইরে এবং কাজের অবস্থান

Google ক্যালেন্ডার API ইভেন্টগুলি তৈরি এবং পরিচালনা করতে ব্যবহার করা যেতে পারে যা Google ক্যালেন্ডার ব্যবহারকারীদের অবস্থা দেখায়।

এই বৈশিষ্ট্যগুলি শুধুমাত্র প্রাথমিক ক্যালেন্ডারে এবং কিছু Google ক্যালেন্ডার ব্যবহারকারীদের জন্য উপলব্ধ৷ আরও জানতে ফোকাস সময়, অফিসের বাইরে এবং কাজের অবস্থান ইভেন্টগুলি পরিচালনা করুন দেখুন।

Google Apps স্ক্রিপ্টে ইভেন্টের প্রকারগুলি অন্বেষণ করুন৷

Google Apps Script হল একটি JavaScript-ভিত্তিক ক্লাউড স্ক্রিপ্টিং ভাষা যা আপনাকে Google Workspace-এর সাথে একীভূত ব্যবসার অ্যাপ্লিকেশন তৈরি করতে দেয়। স্ক্রিপ্টগুলি একটি ব্রাউজার-ভিত্তিক কোড এডিটরে তৈরি করা হয় এবং সেগুলি Google এর সার্ভারে সংরক্ষণ করা হয় এবং চালানো হয়৷ Google ক্যালেন্ডার API-এ অনুরোধ পাঠাতে Apps Script ব্যবহার শুরু করতে Google Apps Script quickstart দেখুন।

Google Apps স্ক্রিপ্টে একটি উন্নত পরিষেবা হিসাবে Google ক্যালেন্ডার API ব্যবহার করে কীভাবে ইভেন্টগুলি পড়তে এবং পরিচালনা করতে হয় তা নিম্নলিখিত নির্দেশাবলী বর্ণনা করে৷ Google ক্যালেন্ডার API সংস্থান এবং পদ্ধতিগুলির একটি সম্পূর্ণ তালিকার জন্য, রেফারেন্স ডকুমেন্টেশন দেখুন।

স্ক্রিপ্ট তৈরি করুন এবং সেট আপ করুন

  1. script.google.com/create এ গিয়ে একটি স্ক্রিপ্ট তৈরি করুন।
  2. পরিষেবাগুলির পাশে বাম ফলকে, একটি পরিষেবা ক্লিক করুন৷
  3. Google ক্যালেন্ডার API নির্বাচন করুন এবং যোগ করুন ক্লিক করুন।
  4. সক্রিয় করার পরে, API বাম ফলকে প্রদর্শিত হবে। API-এ উপলব্ধ পদ্ধতি এবং ক্লাসগুলি সম্পাদকে ক্যালেন্ডার কীওয়ার্ড ব্যবহার করে তালিকাভুক্ত করা যেতে পারে।

(ঐচ্ছিক) Google ক্লাউড প্রকল্প আপডেট করুন

প্রতিটি Google Apps স্ক্রিপ্ট প্রকল্পের একটি সংশ্লিষ্ট Google ক্লাউড প্রকল্প রয়েছে৷ আপনার স্ক্রিপ্ট ডিফল্ট প্রকল্প ব্যবহার করতে পারে যা Google Apps স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে তৈরি করে। আপনি যদি একটি কাস্টম Google ক্লাউড প্রকল্প ব্যবহার করতে চান, তাহলে একটি ভিন্ন স্ট্যান্ডার্ড ক্লাউড প্রকল্পে স্যুইচ করুন দেখুন। Google ক্লাউড প্রকল্প সেট করার পরে, কোড সম্পাদকে ফিরে যেতে বাম দিকে সম্পাদক নির্বাচন করুন।

স্ক্রিপ্টে কোড যোগ করুন

নিম্নলিখিত কোড নমুনা দেখায় কিভাবে বিভিন্ন eventType মান সহ ইভেন্টগুলি তালিকাভুক্ত করতে, পড়তে এবং তৈরি করতে হয়।

  1. কোড এডিটরে নিম্নলিখিত পেস্ট করুন।

    const CALENDAR_ID = 'CALENDAR_ID' || 'primary';
    
    /** Lists default events. */
    function listDefaultEvents() {
      listEvents('default');
    }
    
    /** Lists birthday events. */
    function listBirthdays() {
      listEvents('birthday');
    }
    
    /** Lists events from Gmail. */
    function listEventsFromGmail() {
      listEvents('fromGmail');
    }
    
    /**
      * Lists events with the given event type. If no type is specified, lists all events.
      * See https://developers.google.com/calendar/api/v3/reference/events/list
      */
    function listEvents(eventType = undefined) {
      // Query parameters for the list request.
      const optionalArgs = {
        eventTypes: eventType ? [eventType] : undefined,
        singleEvents: true,
        timeMax: '2024-07-30T00:00:00+01:00',
        timeMin: '2024-07-29T00:00:00+01:00',
      }
      try {
        var response = Calendar.Events.list(CALENDAR_ID, optionalArgs);
        response.items.forEach(event => console.log(event));
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /**
      * Reads the event with the given eventId.
      * See https://developers.google.com/calendar/api/v3/reference/events/get
      */
    function readEvent() {
      try {
        var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID');
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /** Creates a default event. */
    function createDefaultEvent() {
      const event = {
        start: { dateTime: '2024-07-30T10:30:00+01:00'},
        end: { dateTime: '2024-07-30T12:30:00+01:00'},
        description: 'Created from Apps Script.',
        eventType: 'default',
        summary: 'Sample event',
      }
      createEvent(event);
    }
    
    /** Creates a birthday event. */
    function createBirthday() {
      const event = {
        start: { date: '2024-01-29' },
        end: { date: '2024-01-30' },
        eventType: 'birthday',
        recurrence: ["RRULE:FREQ=YEARLY"],
        summary: "My friend's birthday",
        transparency: "transparent",
        visibility: "private",
      }
      createEvent(event);
    }
    
    /**
      * Creates a Calendar event.
      * See https://developers.google.com/calendar/api/v3/reference/events/insert
      */
    function createEvent(event) {
    
      try {
        var response = Calendar.Events.insert(event, CALENDAR_ID);
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • CALENDAR_ID : পুনরুদ্ধার করতে এবং ইভেন্ট তৈরি করতে ক্যালেন্ডারের ইমেল ঠিকানা৷ এই ধ্রুবকটি প্রাথমিকভাবে 'primary' এ সেট করা হয়েছে, যা সাইন-ইন করা ব্যবহারকারীর প্রাথমিক ক্যালেন্ডার অ্যাক্সেস করার জন্য একটি কীওয়ার্ড। এই মান পরিবর্তন করার ফলে আপনি আপনার অ্যাক্সেস আছে এমন অন্যান্য ব্যবহারকারীদের ক্যালেন্ডারে ইভেন্ট পড়তে দেয়৷
    • EVENT_ID : ইভেন্টের আইডি। আপনি ইভেন্ট আইডি পুনরুদ্ধার করতে Events:list কল করতে পারেন।

কোড নমুনা চালান

  1. কোড এডিটরের উপরে, ড্রপ-ডাউন মেনু থেকে চালানোর জন্য ফাংশনটি নির্বাচন করুন এবং রান এ ক্লিক করুন।
  2. প্রথম সঞ্চালনে, এটি আপনাকে অ্যাক্সেস অনুমোদন করতে অনুরোধ করে। পর্যালোচনা করুন এবং অ্যাপস স্ক্রিপ্টকে আপনার ক্যালেন্ডার অ্যাক্সেস করার অনুমতি দিন।
  3. আপনি উইন্ডোর নীচে প্রদর্শিত এক্সিকিউশন লগে স্ক্রিপ্ট সম্পাদনের ফলাফলগুলি পরিদর্শন করতে পারেন।