पर ईवेंट को कैसे धक्का दें मैं मोबाइल कैलेंडर के साथ अपने एप्लिकेशन (विंडोज डेस्कटॉप ऐप और वेब ऐप) को एकीकृत करने की कोशिश कर रहा हूं।आईफोन कैलेंडर
मेरा आवेदन मोबाइल कैलेंडर के लिए
- धक्का नई घटनाओं के लिए माना जाता है
- लाने घटनाओं मोबाइल कैलेंडर
अब तक मैं गूगल कैलेंडर (बहुत आसान है, simple library के साथ एकीकृत करने में कामयाब रहे फार्म + ओएथ)
अब मैं iCloud कैलेंडर के साथ ऐसा करना चाहता हूं, लेकिन यह इतना आसान नहीं है।
- iCould सेटिंग्स में मैं कैलेंडर को सार्वजनिक कर सकता हूं। मैं घटनाओं को प्राप्त कर सकता हूं (एक iCalendar फ़ाइल के रूप में), लेकिन मैं घटनाओं को धक्का नहीं दे सकता।
- iCould कैलेंडर एकीकरण के लिए कोई गंभीर पुस्तकालय नहीं मिल रहा है। मैंने CalDav.Client को आज़मा दिया, लेकिन CalDAV सर्वर url प्रदान करने की आवश्यकता है। जो this के अनुसार की तरह "
https://pXX-caldav.icloud.com/USER_ID/calendars/CALENDAR_ID
। मैं पता नहीं क्याUSER_ID
औरCALENDAR_ID
हैं और जहां उन्हें खोजने के लिए दिखना चाहिए।
कोई भी विचार?
पुनश्च
एक समाधान नहीं है। मैं यह कर सकते हैं उपयोगकर्ता को कैलेंडर के साथ Google accout बनाने और प्रॉक्सी के रूप में उपयोग करने के लिए कहें। Google कैलेंडर के साथ आईफोन एकीकृत करें और दूसरी साइट को Google कैलेंडर के साथ मेरा एप्लिकेशन एकीकृत करें। यह काम करता है, लेकिन कॉन्फ़िगरेशन उपयोगकर्ता के लिए कठिन है।
संपादित
मैं @ HNH के निर्देशों के अनुसार की कोशिश की और CalDAV इस तरह की खोज:
PROPFIND https://p42-caldav.icloud.com/ HTTP/1.1
Depth: 0
Prefer: return-minimal
Content-Type: application/xml; charset=utf-8
Host: p42-caldav.icloud.com
Content-Length: 102
<d:propfind xmlns:d="DAV:">
<d:prop>
<d:current-user-principal />
</d:prop>
</d:propfind>
परिणाम था 401:
HTTP/1.1 401 Unauthorized
Content-Type: text/html;charset=utf-8
WWW-Authenticate: x-mobileme-authtoken realm="MMCalDav"
WWW-Authenticate: basic realm="MMCalDav"
Server: iCloudCalendarServer 15G33
Date: Tue, 26 Jan 2016 12:46:14 GMT
X-Responding-Server: mr26p42ic-ztdg05101801 17 a63660a6f7d1a25b5a7ed66dab0da843
X-Transaction-Id: c8dc19d4-c42a-11e5-8381-008cfaeb448c
Content-Length: 141
Strict-Transport-Security: max-age=31536000; includeSubDomains
<html><head><title>Unauthorized</title></head><body><h1>Unauthorized</h1><p>You are not authorized to access this resource.</p></body></html>
संपादित 2
आगे के बाद निर्देश मैं प्रमाणित करने में कामयाब रहे, लेकिन अभी भी
के लिए:: लेख से अनुरोध के साथ समस्या है
<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
<d:prop>
<d:displayname />
<cs:getctag />
</d:prop>
</d:propfind>
मैं: (ctag
नहीं मिला, और "tmp" के मूल्य के साथ displayName
- जो मैं पहचान नहीं पा रहे)
<?xml version='1.0' encoding='UTF-8'?>
<multistatus xmlns='DAV:'>
<response>
<href>/</href>
<propstat>
<prop>
<displayname>tmp</displayname>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
<propstat>
<prop>
<getctag xmlns='http://calendarserver.org/ns/'/>
</prop>
<status>HTTP/1.1 404 Not Found</status>
</propstat>
</response>
</multistatus>
और इस के लिए:
<c:calendar-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
<d:prop>
<d:getetag />
<c:calendar-data />
</d:prop>
<c:filter>
<c:comp-filter name="VCALENDAR" />
</c:filter>
</c:calendar-query>
मैं 400 गलत अनुरोध प्राप्त
'आपका आवेदन' क्या है? क्या यह एक आईओएस एप्लीकेशन है? या एक वेब सेवा? – hnh
@hnh यह एक विंडोज डेस्कटॉप एप्लिकेशन है, या एक वेब अनुप्रयोग (अधिमानतः डेस्कटॉप, लेकिन वेब भी करेगा)। – gisek
संपादित 2: काफी संभावना है कि यूआरएल गलत हैं। ध्यान से (पुनः) पढ़ें [एक CalDAV क्लाइंट का निर्माण] (http://sabre.io/dav/building-a-caldav-client/)। – hnh