ইভেন্টের ধরন

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

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

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

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

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

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

জন্মদিন

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

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

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

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

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

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

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

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

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

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

Gmail থেকে ইভেন্ট

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

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

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

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

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

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

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

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

Google ক্যালেন্ডার এপিআই ইভেন্টগুলি তৈরি এবং পরিচালনা করতে ব্যবহার করা যেতে পারে যা 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 বাম ফলকে প্রদর্শিত হবে। এপিআই-এ উপলব্ধ পদ্ধতি এবং ক্লাসগুলি সম্পাদকে ক্যালেন্ডার কীওয়ার্ড ব্যবহার করে তালিকাভুক্ত করা যেতে পারে।

(ঐচ্ছিক) 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. কোড এডিটরের উপরে, ড্রপ-ডাউন মেনু থেকে চালানোর জন্য ফাংশনটি নির্বাচন করুন এবং Run এ ক্লিক করুন।
  2. প্রথম সঞ্চালনে, এটি আপনাকে অ্যাক্সেস অনুমোদন করতে অনুরোধ করে। পর্যালোচনা করুন এবং অ্যাপস স্ক্রিপ্টকে আপনার ক্যালেন্ডার অ্যাক্সেস করার অনুমতি দিন।
  3. আপনি উইন্ডোর নীচে প্রদর্শিত এক্সিকিউশন লগে স্ক্রিপ্ট সম্পাদনের ফলাফলগুলি পরিদর্শন করতে পারেন।