CalDAV API डेवलपर' गाइड

CalDAV, WebDAV का एक एक्सटेंशन है जो क्लाइंट को ऐक्सेस करने के लिए एक स्टैंडर्ड उपलब्ध कराता है किसी रिमोट सर्वर पर मौजूद कैलेंडर जानकारी.

Google एक CalDAV इंटरफ़ेस उपलब्ध कराता है, जिसका उपयोग आप कैलेंडर देख और प्रबंधित कर सकते हैं का उपयोग करके CalDAV प्रोटोकॉल का इस्तेमाल कर सकते हैं.

विशेषताएं

हर ज़रूरी जानकारी के लिए, 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 के साथ काम करता है. खाली-व्यस्त-क्वेरी को छोड़कर सभी रिपोर्ट लागू किए गए हैं.
    • एचटीटीपी तरीके MKCALENDAR पर काम नहीं करता है.
    • AUDIO कार्रवाई की सुविधा उपलब्ध नहीं है.
  • rfc5545: iCalendar
    • CalDAV इंटरफ़ेस में दिखाए गए डेटा को iCalendar की खास बातें.
    • फ़िलहाल, VTODO या VJOURNAL डेटा के साथ काम नहीं करता.
    • उपयोगकर्ता द्वारा सेट किए जा सकने वाले URL गुणों को अनुमति देने के लिए Apple iCal® एक्सटेंशन का समर्थन नहीं करता है.
  • RFC6578: WebDAV के लिए कलेक्शन सिंक्रोनाइज़ेशन
    • क्लाइंट ऐप्लिकेशन को कार्रवाई के इस मोड में निम्न के बाद स्विच करना होगा सिंक करने के लिए कहें.
  • RFC6638: CalDAV पर एक्सटेंशन को शेड्यूल करने के बारे में जानकारी
    • एक साधारण "इनबॉक्स" के साथ काम करता है, जो हमेशा खाली रहता है.
    • आपको मिलने वाले न्योते, अपने-आप आपके "इवेंट" में डिलीवर कर दिए जाते हैं न कि आपके "इनबॉक्स" में रखे जाने की जगह.
    • खाली-व्यस्त लुकअप का इस्तेमाल नहीं किया जा सकता.
  • caldav-ctag-02: CalDAV में कैलेंडर कलेक्शन इकाई टैग (CTag)
    • कैलेंडर ctag एक संसाधन etag की तरह है; यह कभी भी बदल जाता है कैलेंडर में बदल गया है. इससे क्लाइंट ऐप्लिकेशन को तुरंत तय कर सकते हैं कि इसे उन बदलावों को सिंक करने की ज़रूरत नहीं है इवेंट.
  • calendar-प्रॉक्सी: CalDAV में Calendar पर उपयोगकर्ता प्रॉक्सी की सुविधा
    • iOS डिवाइसों से कैलेंडर सिंक करने की परफ़ॉर्मेंस को बेहतर बनाने के लिए, calendar-proxy-read-for का इस्तेमाल करके या किसी और को अपने ईमेल खाते का ऐक्सेस देने की सुविधा नहीं है iOS UserAgent वाली calendar-proxy-write-for प्रॉपर्टी काम नहीं करेंगी.

हमने अभी तक लागू की गई सारी ज़रूरी शर्तें पूरी नहीं की हैं के बारे में खास जानकारी पाएं. हालांकि, Apple का Calendar ऐप्लिकेशन जैसे कई क्लाइंट के लिए CalDAV प्रोटोकॉल को सही ढंग से इंटरऑपरेट करना चाहिए.

ध्यान दें: खाते की सुरक्षा और गलत इस्तेमाल को रोकने के लिए, Google CalDAV के ज़रिए डेटा ऐक्सेस करने वाले क्लाइंट ऐप्लिकेशन पर कुकी सेट कर सकता है.

अपना क्लाइंट आईडी बनाना

CalDAV API का इस्तेमाल करने के लिए, आपके पास यह होना चाहिए Google खाता. अगर आपके पास पहले से कोई ऐसा खाता है जिसे इस्तेमाल किया जा सकता है, तो आपको कुछ करने की ज़रूरत है.

CalDAV API को अनुरोध भेजने से पहले, आपको रजिस्टर करना होगा Google API कंसोल की मदद से अपने क्लाइंट की जानकारी जोड़ सकते हैं.

Google के एपीआई कंसोल पर जाएं. प्रोजेक्ट बनाएं पर क्लिक करें. कोई नाम डालें और बनाएं पर क्लिक करें.

इसके बाद, CalDAV API को चालू करें.

अपने प्रोजेक्ट के लिए एपीआई चालू करने के लिए, ये काम करें:

  1. Google API कंसोल में एपीआई लाइब्रेरी खोलें. अगर कहा जाए, तो प्रोजेक्ट बनाएं या नया प्रोजेक्ट बनाएं. एपीआई लाइब्रेरी में, उपलब्ध सभी एपीआई, प्रॉडक्ट फ़ैमिली और लोकप्रियता के हिसाब से ग्रुप किए गए.
  2. आपको जिस एपीआई को चालू करना है अगर वह सूची में नहीं दिख रहा है, तो खोजने के लिए खोज का इस्तेमाल करें उसे ढूंढें.
  3. वह एपीआई चुनें जिसे आपको चालू करना है. इसके बाद, चालू करें पर क्लिक करें बटन.
  4. पूछे जाने पर, बिलिंग की सुविधा चालू करें.
  5. अनुरोध किए जाने पर, एपीआई की सेवा की शर्तें स्वीकार करें.
CalDAV API अनुरोध करने के लिए, आपको इनकी ज़रूरत होगी Client-ID और क्लाइंट सीक्रेट.

अपने प्रोजेक्ट का क्लाइंट आईडी और क्लाइंट सीक्रेट ढूंढने के लिए, यह तरीका अपनाएं:

  1. मौजूदा OAuth 2.0 चुनें क्रेडेंशियल पर जाएं या क्रेडेंशियल पेज खोलें.
  2. अगर आपने अब तक ऐसा नहीं किया है, तो अपने प्रोजेक्ट का OAuth 2.0 बनाएं क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी और क्रेडेंशियल बनाने के लिए ज़रूरी जानकारी उपलब्ध कराना.
  3. OAuth 2.0 क्लाइंट आईडी सेक्शन में Client-ID देखें. ज़्यादा जानकारी के लिए, Client-ID पर क्लिक करें.

Google के CalDAV सर्वर से कनेक्ट करना

CalDAV इंटरफ़ेस का इस्तेमाल करने के लिए, क्लाइंट प्रोग्राम शुरुआत में कैलेंडर सर्वर का उपयोग करें. दोनों ही मामलों में, कनेक्शन यह ज़रूरी है कि यह एचटीटीपीएस पर बनाया गया हो और इसमें OAuth 2.0 का इस्तेमाल किया गया हो पुष्टि करने की स्कीम. CalDAV सर्वर अनुरोध की पुष्टि करने से मना कर देगा जब तक कि वह किसी Google खाते के OAuth 2.0 प्रमाणीकरण के साथ एचटीटीपीएस पर न पहुंच जाए. एचटीटीपी पर कनेक्ट करने की कोशिश करने या पुष्टि करने के सामान्य तरीकों का इस्तेमाल करने पर, एचटीटीपी मिलता है 401 Unauthorized स्टेटस कोड.

अगर क्लाइंट प्रोग्राम (जैसे कि Apple का Calendar ऐप्लिकेशन) के लिए मूल संग्रह को शुरुआती पॉइंट के तौर पर इकट्ठा करें, जिससे कनेक्ट करना है:

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

जहां calid को "कैलेंडर आईडी" कैलेंडर को ऐक्सेस करने की ज़रूरत नहीं होती. इसे Google कैलेंडर वेब इंटरफ़ेस निम्न जैसा है: कैलेंडर नाम में, कैलेंडर सेटिंग चुनें. नतीजे देने वाले पेज पर कैलेंडर आईडी, Calendar के लेबल वाले सेक्शन में दिखता है पता. उपयोगकर्ता के प्राथमिक कैलेंडर का कैलेंडर आईडी और यह एक ही होता है उस उपयोगकर्ता का ईमेल पता.

अगर कोई क्लाइंट प्रोग्राम (जैसे कि Mozilla Sunbird) के लिए कैलेंडर संग्रह का इस्तेमाल करना शुरू करें, तो आपको इस यूआरआई से कनेक्ट करना होगा:

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

पुराना एंडपॉइंट https://www.google.com/calendar/dav है बंद है और अब काम नहीं करता; अपने जोखिम पर इस्तेमाल न करें. हमारा सुझाव है कि आप एंडपॉइंट के नए फ़ॉर्मैट का इस्तेमाल करें, जैसा कि ऊपर बताया गया है.

iCal®, Apple Inc का ट्रेडमार्क है.