CalDAV, WebDAV का एक एक्सटेंशन है. यह क्लाइंट को रिमोट सर्वर पर मौजूद कैलेंडर की जानकारी ऐक्सेस करने के लिए एक स्टैंडर्ड उपलब्ध कराता है.
Google, CalDAV इंटरफ़ेस उपलब्ध कराता है. इसका इस्तेमाल, CalDAV प्रोटोकॉल का इस्तेमाल करके कैलेंडर देखने और मैनेज करने के लिए किया जा सकता है.
CalDAV API के लिए, कोटे की वही सीमाएं लागू होती हैं जो Calendar API के लिए लागू होती हैं. ज़्यादा जानकारी के लिए, इस्तेमाल की सीमाएं लेख पढ़ें.
विशेषताएं
ज़रूरी हर खास जानकारी के लिए, Google का CalDAV सपोर्ट यहां दिया गया है:
rfc4918: वेब पर डिस्ट्रिब्यूटेड ऑथरिंग और वर्शनिंग (WebDAV) के लिए एचटीटीपी एक्सटेंशन
GET,PUT,HEAD,DELETE,POST,OPTIONS,PROPFIND, औरPROPPATCHएचटीटीपी तरीकों के साथ काम करता है.LOCK,UNLOCK,COPY,MOVE,MKCOLएचटीटीपी तरीकों याIf*हेडर (सिर्फ़If-Matchको छोड़कर) के साथ काम नहीं करता.- WebDAV की मनमानी (उपयोगकर्ता के तय किए गए) प्रॉपर्टी के साथ काम नहीं करता.
- WebDAV ऐक्सेस कंट्रोल (rfc3744) के साथ काम नहीं करता.
rfc4791: WebDAV (CalDAV) के लिए कैलेंडरिंग एक्सटेंशन
REPORTएचटीटीपी तरीके के साथ काम करता है.free-busy-queryको छोड़कर, सभी रिपोर्ट लागू की जाती हैं.MKCALENDARएचटीटीपी तरीके के साथ काम नहीं करता.AUDIOकार्रवाई के साथ काम नहीं करता.
-
- CalDAV इंटरफ़ेस में दिखने वाले डेटा को, iCalendar की खास जानकारी के मुताबिक फ़ॉर्मैट किया जाता है.
VTODOयाVJOURNALडेटा के साथ काम नहीं करता.- Apple iCal एक्सटेंशन के साथ काम नहीं करता. इससे उपयोगकर्ता, यूआरएल प्रॉपर्टी सेट कर सकते हैं.
rfc6578: WebDAV के लिए कलेक्शन सिंक करना
- क्लाइंट ऐप्लिकेशन को, शुरुआती सिंक के बाद इस मोड में स्विच करना होगा.
rfc6638: CalDAV के लिए शेड्यूलिंग एक्सटेंशन
- यह "इनबॉक्स" के साथ काम करता है, जो हमेशा खाली रहता है.
- आपको मिलने वाले न्योते, "इनबॉक्स" में सेव होने के बजाय, अपने-आप "इवेंट" कलेक्शन में सेव हो जाते हैं.
free-busyलुकअप के साथ काम नहीं करता.
caldav-ctag-02: CalDAV में कैलेंडर कलेक्शन एंटिटी टैग (CTag)
- कैलेंडर का
ctag, संसाधन केetagकी तरह होता है. कैलेंडर में कोई भी बदलाव होने पर, यह बदल जाता है. इससे क्लाइंट ऐप्लिकेशन को तुरंत पता चल जाता है कि उसे बदले गए किसी भी इवेंट को सिंक करने की ज़रूरत नहीं है.
- कैलेंडर का
calendar-proxy: CalDAV में कैलेंडर उपयोगकर्ता प्रॉक्सी की सुविधा
- कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
calendar-proxy-read-forयाcalendar-proxy-write-forप्रॉपर्टी वाले अनुरोध, iOS UserAgent के साथ काम नहीं करेंगे. इसकी वजह यह है कि iOS डिवाइस, डेलिगेशन की सुविधा के साथ काम नहीं करते.
- कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
हालांकि, CalDAV को लागू करने के लिए, हमने हर खास जानकारी को शामिल नहीं किया है. फिर भी, यह Apple Calendar जैसे कई क्लाइंट के लिए सही तरीके से काम करता है.
अपना क्लाइंट आईडी बनाना
CalDAV API का इस्तेमाल करने के लिए, आपके पास Google खाता होना ज़रूरी है.
CalDAV API को अनुरोध भेजने से पहले, आपको प्रोजेक्ट बनाकर Google Cloud console में अपना क्लाइंट रजिस्टर करना होगा.
Google API Console पर जाएं. प्रोजेक्ट बनाएं पर क्लिक करें, कोई नाम डालें, और बनाएं पर क्लिक करें.
इसके बाद, आपको CalDAV API को चालू करना होगा.
अपने प्रोजेक्ट के लिए कोई एपीआई चालू करने के लिए, यह तरीका अपनाएं:
- Google API Console में, एपीआई लाइब्रेरी खोलें. कहे जाने पर, कोई प्रोजेक्ट चुनें या नया प्रोजेक्ट बनाएं. एपीआई लाइब्रेरी में, उपलब्ध सभी एपीआई की सूची होती है. इन्हें प्रॉडक्ट फ़ैमिली और लोकप्रियता के हिसाब से ग्रुप में बांटा जाता है.
- अगर आपको सूची में वह एपीआई नहीं दिख रहा है जिसे चालू करना है, तो उसे ढूंढने के लिए खोज का इस्तेमाल करें.
- वह एपीआई चुनें जिसे चालू करना है. इसके बाद, चालू करें बटन पर क्लिक करें.
- कहे जाने पर, बिलिंग की सुविधा चालू करें.
- कहे जाने पर, एपीआई की सेवा की शर्तें स्वीकार करें.
CalDAV API को अनुरोध भेजने के लिए, आपको क्लाइंट आईडी और क्लाइंट सीक्रेट की ज़रूरत होगी.
अपने प्रोजेक्ट का क्लाइंट आईडी और क्लाइंट सीक्रेट ढूंढने के लिए, यह तरीका अपनाएं:
- कोई मौजूदा OAuth 2.0 क्रेडेंशियल चुनें या क्रेडेंशियल पेज खोलें.
- अगर आपने अब तक ऐसा नहीं किया है, तो अपने प्रोजेक्ट के लिए OAuth 2.0 क्रेडेंशियल बनाने के लिए, क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी पर क्लिक करें. साथ ही, क्रेडेंशियल बनाने के लिए ज़रूरी जानकारी दें.
- OAuth 2.0 क्लाइंट आईडी सेक्शन में, क्लाइंट आईडी ढूंढें. ज़्यादा जानकारी के लिए, क्लाइंट आईडी पर क्लिक करें.
Google के CalDAV सर्वर से कनेक्ट करना
CalDAV इंटरफ़ेस का इस्तेमाल करने के लिए, क्लाइंट प्रोग्राम सबसे पहले कैलेंडर सर्वर से दो शुरुआती पॉइंट में से किसी एक पर कनेक्ट होता है. दोनों ही मामलों में, कनेक्शन
एचटीटीपीएस पर होना चाहिए और इसमें OAuth
2.0 पुष्टि करने की स्कीम का इस्तेमाल किया जाना चाहिए. CalDAV सर्वर, किसी अनुरोध की पुष्टि तब तक नहीं करता, जब तक वह एचटीटीपीएस पर न भेजा गया हो और उसमें Google खाते की OAuth 2.0 पुष्टि न की गई हो. एचटीटीपी पर कनेक्ट करने या सामान्य पुष्टि करने की सुविधा का इस्तेमाल करने पर, एचटीटीपी 401 Unauthorized स्टेटस कोड मिलता है.
अगर क्लाइंट प्रोग्राम (जैसे, Apple का Calendar ऐप्लिकेशन) को शुरुआती पॉइंट के तौर पर, प्रिंसिपल कलेक्शन की ज़रूरत होती है, तो कनेक्ट करने के लिए यह यूआरआई इस्तेमाल करें:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/user
CALENDAR_ID को उस कैलेंडर के आईडी से बदलें जिसे ऐक्सेस करना है.
वेब इंटरफ़ेस की मदद से कैलेंडर आईडी ढूंढने के लिए, कैलेंडर के नाम के बगल में मौजूद ड्रॉप-डाउन मेन्यू में, ** कैलेंडर की सेटिंग** चुनें. कैलेंडर आईडी, कैलेंडर का पता लेबल वाले सेक्शन में दिखता है. किसी उपयोगकर्ता के मुख्य कैलेंडर का आईडी, उस उपयोगकर्ता के ईमेल पते के बराबर होता है.
अगर किसी क्लाइंट प्रोग्राम (जैसे, Mozilla Thunderbird) को शुरुआती पॉइंट के तौर पर, कैलेंडर कलेक्शन की ज़रूरत होती है, तो यह यूआरआई इस्तेमाल करें:
https://apidata.googleusercontent.com/caldav/v2/CALENDAR_ID/events