CalDAV API বিকাশকারীর নির্দেশিকা৷

CalDAV হল WebDAV-এর একটি এক্সটেনশন যা ক্লায়েন্টদের একটি দূরবর্তী সার্ভারে ক্যালেন্ডার তথ্য অ্যাক্সেস করার জন্য একটি মান প্রদান করে।

Google একটি CalDAV ইন্টারফেস প্রদান করে যা আপনি CalDAV প্রোটোকল ব্যবহার করে ক্যালেন্ডার দেখতে এবং পরিচালনা করতে ব্যবহার করতে পারেন।

স্পেসিফিকেশন

প্রতিটি প্রাসঙ্গিক স্পেসিফিকেশনের জন্য, Google-এর CalDAV সমর্থন নিম্নরূপ:

  • rfc4918: ওয়েব ডিস্ট্রিবিউটেড অথরিং এবং ভার্সনিং (WebDAV) এর জন্য HTTP এক্সটেনশন
    • HTTP পদ্ধতিগুলি GET , PUT , HEAD , DELETE , POST , OPTIONS , PROPFIND এবং PROPPATCH সমর্থন করে।
    • LOCK , UNLOCK , COPY , MOVE , বা MKCOL , বা If* শিরোনাম ( If-Match ব্যতীত) HTTP পদ্ধতিগুলিকে সমর্থন করে না।
    • নির্বিচারে (ব্যবহারকারী-সংজ্ঞায়িত) WebDAV বৈশিষ্ট্য সমর্থন করে না।
    • WebDAV অ্যাক্সেস কন্ট্রোল (rfc3744) সমর্থন করে না।
  • rfc4791: WebDAV (CalDAV) এর ক্যালেন্ডারিং এক্সটেনশন
    • HTTP পদ্ধতি REPORT সমর্থন করে। মুক্ত-ব্যস্ত-ক্যোয়ারী ব্যতীত সমস্ত প্রতিবেদন প্রয়োগ করা হয়।
    • HTTP পদ্ধতি MKCALENDAR সমর্থন করে না।
    • AUDIO অ্যাকশন সমর্থন করে না।
  • rfc5545: iCalendar
    • CalDAV ইন্টারফেসে প্রকাশিত ডেটা iCalendar স্পেসিফিকেশন অনুযায়ী ফর্ম্যাট করা হয়।
    • বর্তমানে VTODO বা VJOURNAL ডেটা সমর্থন করে না।
    • অ্যাপল iCal® এক্সটেনশনকে সমর্থন করে না ব্যবহারকারী-সেটযোগ্য URL বৈশিষ্ট্যগুলিকে মঞ্জুরি দেওয়ার জন্য৷
  • rfc6578: WebDAV-এর জন্য সংগ্রহ সিঙ্ক্রোনাইজেশন
    • প্রাথমিক সিঙ্কের পরে ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে অবশ্যই এই মোডে স্যুইচ করতে হবে৷
  • rfc6638: CalDAV-তে এক্সটেনশন নির্ধারণ করা
    • একটি তুচ্ছ "ইনবক্স" সমর্থন করে, যা সবসময় খালি থাকে।
    • আপনার প্রাপ্ত আমন্ত্রণগুলি আপনার "ইনবক্সে" রাখার পরিবর্তে আপনার "ইভেন্ট" সংগ্রহে স্বয়ংক্রিয়ভাবে বিতরণ করা হয়৷
    • মুক্ত-ব্যস্ত লুকআপ সমর্থন করে না।
  • caldav-ctag-02: CalDAV-তে ক্যালেন্ডার কালেকশন এন্টিটি ট্যাগ (CTag)
    • ক্যালেন্ডার ctag একটি সম্পদ etag মত; ক্যালেন্ডারে কিছু পরিবর্তন হলে এটি পরিবর্তিত হয়। এটি ক্লায়েন্ট অ্যাপ্লিকেশনটিকে দ্রুত নির্ধারণ করতে দেয় যে এটির কোন পরিবর্তন ইভেন্ট সিঙ্ক্রোনাইজ করার প্রয়োজন নেই।
  • calendar-proxy: CalDAV-তে ক্যালেন্ডার ব্যবহারকারী প্রক্সি কার্যকারিতা
    • iOS ডিভাইসগুলি থেকে ক্যালেন্ডার সিঙ্ক করার কার্যকারিতা উন্নত করতে, যা প্রতিনিধিত্ব সমর্থন করে না, একটি iOS UserAgent-এর সাথে calendar-proxy-read-for বা calendar-proxy-write-for বৈশিষ্ট্যগুলি ব্যবহার করে ব্যর্থ হবে৷

আমরা এখনও সমস্ত প্রাসঙ্গিক স্পেসিফিকেশনের সম্পূর্ণ বাস্তবায়ন প্রদান করিনি। যাইহোক, অ্যাপলের ক্যালেন্ডার অ্যাপের মতো অনেক ক্লায়েন্টের জন্য CalDAV প্রোটোকল সঠিকভাবে ইন্টারঅপারেটিং করা উচিত।

দ্রষ্টব্য: অ্যাকাউন্টের নিরাপত্তার জন্য এবং অপব্যবহার প্রতিরোধ করার জন্য, Google ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে কুকি সেট করতে পারে যা CalDAV-এর মাধ্যমে ডেটা অ্যাক্সেস করে।

আপনার ক্লায়েন্ট আইডি তৈরি করা হচ্ছে

CalDAV API ব্যবহার করার জন্য আপনার একটি Google অ্যাকাউন্ট থাকতে হবে। আপনার যদি ইতিমধ্যেই একটি অ্যাকাউন্ট থাকে যা আপনি ব্যবহার করতে পারেন, তাহলে আপনি প্রস্তুত।

আপনি CalDAV API-তে অনুরোধ পাঠাতে পারার আগে, আপনাকে একটি প্রকল্প তৈরি করে Google API কনসোলের সাথে আপনার ক্লায়েন্টকে নিবন্ধন করতে হবে।

Google API কনসোলে যান। প্রকল্প তৈরি করুন ক্লিক করুন, একটি নাম লিখুন এবং তৈরি করুন ক্লিক করুন।

পরবর্তী ধাপ হল CalDAV API সক্রিয় করা।

আপনার প্রকল্পের জন্য একটি API সক্ষম করতে, নিম্নলিখিতগুলি করুন:

  1. Google API কনসোলে API লাইব্রেরি খুলুন । অনুরোধ করা হলে, একটি প্রকল্প নির্বাচন করুন বা একটি নতুন তৈরি করুন৷ API লাইব্রেরি পণ্য পরিবার এবং জনপ্রিয়তা দ্বারা গোষ্ঠীবদ্ধ সমস্ত উপলব্ধ API তালিকাভুক্ত করে৷
  2. আপনি যে APIটি সক্ষম করতে চান তা তালিকায় দৃশ্যমান না হলে, এটি খুঁজতে অনুসন্ধান ব্যবহার করুন।
  3. আপনি যে APIটি সক্ষম করতে চান তা নির্বাচন করুন, তারপর সক্ষম বোতামটি ক্লিক করুন।
  4. অনুরোধ করা হলে, বিলিং সক্ষম করুন।
  5. অনুরোধ করা হলে, API-এর পরিষেবার শর্তাবলী স্বীকার করুন৷
CalDAV API অনুরোধগুলি সম্পাদন করতে আপনার প্রয়োজন হবে ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট

আপনার প্রকল্পের ক্লায়েন্ট আইডি এবং ক্লায়েন্টের গোপনীয়তা খুঁজে পেতে, নিম্নলিখিতগুলি করুন:

  1. একটি বিদ্যমান OAuth 2.0 শংসাপত্র নির্বাচন করুন বা শংসাপত্র পৃষ্ঠা খুলুন।
  2. যদি আপনি ইতিমধ্যে এটি না করে থাকেন, তাহলে ক্রেডেনশিয়াল তৈরি করুন > OAuth ক্লায়েন্ট আইডি ক্লিক করে এবং শংসাপত্র তৈরি করার জন্য প্রয়োজনীয় তথ্য প্রদান করে আপনার প্রকল্পের OAuth 2.0 শংসাপত্র তৈরি করুন৷
  3. OAuth 2.0 ক্লায়েন্ট আইডি বিভাগে ক্লায়েন্ট আইডি খুঁজুন। বিস্তারিত জানার জন্য, ক্লায়েন্ট আইডি ক্লিক করুন.

Google এর CalDAV সার্ভারের সাথে সংযোগ করা হচ্ছে

CalDAV ইন্টারফেস ব্যবহার করার জন্য, একটি ক্লায়েন্ট প্রোগ্রাম প্রাথমিকভাবে দুটি প্রারম্ভিক পয়েন্টের একটিতে ক্যালেন্ডার সার্ভারের সাথে সংযোগ করে। উভয় ক্ষেত্রেই, সংযোগটি HTTPS-এর মাধ্যমে তৈরি করা আবশ্যক এবং OAuth 2.0 প্রমাণীকরণ স্কিম ব্যবহার করতে হবে। CalDAV সার্ভার একটি অনুরোধকে প্রমাণীকরণ করতে অস্বীকার করবে যদি না এটি একটি Google অ্যাকাউন্টের OAuth 2.0 প্রমাণীকরণ সহ HTTPS-এ না আসে৷ HTTP এর মাধ্যমে সংযোগ করার চেষ্টা করা বা মৌলিক প্রমাণীকরণ ব্যবহার করার ফলে একটি HTTP 401 Unauthorized স্ট্যাটাস কোড হয়।

যদি ক্লায়েন্ট প্রোগ্রামের (যেমন অ্যাপলের ক্যালেন্ডার অ্যাপ) প্রারম্ভিক বিন্দু হিসাবে একটি প্রধান সংগ্রহের প্রয়োজন হয়, তাহলে সংযোগ করার জন্য URI হল:

https://apidata.googleusercontent.com/caldav/v2/calid/user

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

যদি কোনো ক্লায়েন্ট প্রোগ্রামের (যেমন Mozilla Sunbird ) প্রারম্ভিক বিন্দু হিসাবে একটি ক্যালেন্ডার সংগ্রহের প্রয়োজন হয়, তাহলে সংযোগ করার জন্য URI হল:

https://apidata.googleusercontent.com/caldav/v2/calid/events

পুরানো এন্ডপয়েন্ট https://www.google.com/calendar/dav অবহেলিত এবং আর সমর্থিত নয়; নিজ ঝুঁকিতে এটি ব্যবহার করুন. আমরা আপনাকে উপরে বর্ণিত নতুন এন্ডপয়েন্ট ফর্ম্যাটে স্থানান্তর করার পরামর্শ দিই।

iCal® হল Apple Inc এর একটি ট্রেডমার্ক৷