2010-01-28 14 views
7

मैं एक वेबपैप बना रहा हूं जो उपयोगकर्ताओं के लिए कुछ प्रकार की घटनाओं का प्रबंधन करता है। मैं उन घटनाओं को उपयोगकर्ता के Google कैलेंडर के अंदर प्रदर्शित करने का एक तरीका प्रदान करना चाहता हूं।Google कैलेंडर के लिए गतिशील ईवेंट फ़ीड कैसे प्रकाशित करें?

मैं वास्तव में उम्मीद कर रहा था कि मैं अपने स्वयं के Google कैलेंडर संगत फ़ीड को प्रकाशित करने का तरीका था और उपयोगकर्ताओं को इसकी सदस्यता लेने की अनुमति देता था, जैसे कि वे "दिलचस्प कैलेंडर" की सदस्यता ले सकते हैं। इसलिए यदि घटनाएं बदलती हैं या नई घटनाएं जोड़ दी जाती हैं, तो वे अपने कैलेंडर में दिखाई देती हैं। लेकिन ऐसा लगता है कि Google केवल उपयोगकर्ताओं को ical या csv स्वरूपों में कैलेंडर डेटा आयात करने देता है, न कि परमाणु फ़ीड प्रारूप में।

समस्या यह है कि, मेरे वेबैप में मौजूदा घटनाएं बदल सकती हैं और नई घटनाएं शामिल की जाती हैं। मैं चाहता हूं कि उन परिवर्तनों को तुरंत Google कैलेंडर में प्रतिबिंबित किया जाए। और मैं उम्मीद नहीं कर सकता कि उपयोगकर्ता एक आईसीएएल फ़ाइल को फिर से आयात करना जारी रखे। निम्नलिखित SO प्रश्न बेहद समान है, लेकिन वास्तव में कोई उत्तर पोस्ट नहीं किया गया है: Generate a Google Calendar compatible feed

क्या मैं इस गलत तरीके से जा रहा हूं? क्या मुझे कैलेंडर बनाने और ईवेंट प्रकाशित करने के लिए gdata API का उपयोग करने की आवश्यकता है? ऐसा लगता है कि एक परमाणु फ़ीड प्रकाशित करना बहुत आसान होगा, लेकिन अगर Google परमाणु फ़ीड की सदस्यता नहीं ले सकता है, तो यह काम नहीं करेगा।

यदि मैं बस अपनी घटनाओं को आईसीएएल फ़ाइल के रूप में प्रकाशित करता हूं, तो क्या Google कैलेंडर नियमित रूप से यूआरएल को फिर से पढ़ेगा और डेटा अपडेट करेगा? कुछ उपयोगकर्ता मेरे पास प्रत्येक दिन 4 या 5 घटनाएं होती हैं, इसलिए फ़ाइल चालू होने के साथ ही बड़ी और बड़ी हो रही है। यह वास्तव में ऐसा लगता है कि यह एक अच्छा समाधान नहीं है।

उत्तर

6

ऐसा करने वाली अन्य साइटों को देखते हुए, ऐसा लगता है कि Google नियमित रूप से बाहरी कैलेंडर में बाह्य कैलेंडर को फिर से पढ़ता है।

यह आपके द्वारा प्रदान की जाने वाली ical फ़ीड को ट्रिम करने के लिए आपके ऊपर है, उदाहरण के लिए अतीत की तारीखों को मारकर।

तो अपनी समस्या को हल करने के लिए:

  • एक ICAL फ़ाइल पैदा करते हैं और अपने वेब साइट
  • से की सेवा अपने उपयोगकर्ताओं को Google कैलेंडर में यह की सदस्यता के लिए
  • नियमित रूप से, ICAL फ़ाइल को ताज़ा वर्ष ट्रिमिंग मिल डेटा

उदाहरण हेडर TripIt.com, इस अच्छी तरह से काम करने लगता है, जहां से ICS फ़ाइल का & शुरू:

curl -v http://..../tripit.ics 

< HTTP/1.1 200 OK 
< Server: nginx 
< Date: Fri, 29 Jan 2010 21:53:58 GMT 
< Content-Type: text/calendar; charset=utf-8 
< Transfer-Encoding: chunked 
< Connection: close 
< Expires: Fri, 29 Jan 2010 22:08:58 GMT 
< Cache-Control: private 
< 
BEGIN:VCALENDAR 
X-WR-CALNAME:Malcolm Box (TripIt) 
X-WR-CALDESC:TripIt Calendar 
X-PUBLISHED-TTL:PT15M 
PRODID:-//John Papaioannou/NONSGML Bennu 0.1//EN 
VERSION:2.0 
BEGIN:VEVENT 
... 
+0

धन्यवाद, लेकिन इस पोस्ट के अनुसार, गूगल मज़बूती से किसी URL से अपडेट नहीं करता: http://www.google.com/support/forum/p/Calendar/thread?tid=3fad85f47a70864b&hl=en Do आपके पास उन साइटों के उदाहरण हैं जो ical प्रारूप में प्रकाशित होते हैं जो विश्वसनीय रूप से काम करते हैं? – Tauren

+1

मैंने अभी इसे ट्रिपआईट के साथ आजमाया है - वेबकेल मिला: // लिंक (एक आईआईसी फाइल में), इसे Google में जोड़ा गया। फिर tripit.com पर एक और कार्यक्रम जोड़ा, Google पर वापस चला गया और इसे तुरंत दिखाया गया। –

+0

धन्यवाद मैल्कम! यह बहुत ही आशाजनक लग रहा है। मैं उम्मीद कर रहा था कि केवल Google कैलेंडर, आईफोन, ical, दृष्टिकोण, और आगे का समर्थन करने के लिए एक ics फ़ीड प्रदान करना होगा। अगर यह यात्रा के लिए काम कर रहा है, तो मुझे इसे भी काम करने में सक्षम होना चाहिए। – Tauren

0

ऐसा लगता है कि मज़बूती से गूगल कैलेंडर आप API का उपयोग करने के लिए है अद्यतन करने के लिए: हालांकि मैं देखने के एक व्यावहारिक बिंदु से शर्त जाएगा http://code.google.com/apis/calendar/data/2.0/developers_guide.html, यदि आप एक ICAL फ़ाइल कि यथोचित अक्सर अद्यतन करता है, तो आप सभ्य प्रदर्शन मिल जाएगा ।

+0

एरिक, मैं सहमत हूं - gdata एपीआई का उपयोग शायद सबसे विश्वसनीय तरीका है। लेकिन यह आईफोन, आईकैल, आउटलुक और अन्य उपयोगकर्ताओं के साथ मदद नहीं करेगा। मैं अंततः gdata के साथ जा रहा हूं, लेकिन यदि Google में एक ics फ़ीड का विश्वसनीय रूप से उपयोग किया जा सकता है, तो मैं इसे पहले कोशिश करूंगा। – Tauren

2

कम से कम, iCal उपयोगकर्ता सीधे ics फ़ाइल में सदस्यता ले सकते हैं। मुझे लगता है कि iCal मेरे अपडेट को 20 मिनट या उससे भी कम समय में दिखाता है, और यहां तक ​​कि उस देरी में भी मुझे लगता है कि मैं जिस कैलेंडर का उपयोग कर रहा हूं वह है (जेईवेंट्स) केवल आईआईसी फाइल को हर बार अपडेट करता है।

Google कैलेंडर में मेरे परिवर्तन दिखाने के लिए घंटों लग रहे हैं - भले ही मैं सदस्यता छोड़ूं और उसी यूआरएल में एक नई सदस्यता तैयार करता हूं, मैं उन घटनाओं को देखता हूं जो बहुत पहले हटा दिए गए थे।