2011-01-05 9 views
7

मैं एक PHP वेबसाइट बना रहा हूं जो Google कैलेंडर API का उपयोग करता है। यह बनाएं, अपडेट करें और हटाएं के साथ ठीक काम कर रहा है: PHP वेबसाइट से कोई भी ईवेंट लॉगिन के बाद मेरे Google कैलेंडर ईवेंट में जाता है।2 कैलेंडर में PHP के साथ Google कैलेंडर सिंक

मेरी साइट पर बनाई गई घटनाएं Google कैलेंडर में बनाई गई हैं।

मुझे अब क्या चाहिए: जब मैं अपने परीक्षण पृष्ठ से कोई ईवेंट बनाता हूं तो यह लॉगिन के बाद Google कैलेंडर में जाता है, फिर यदि मैं Google कैलेंडर से उस ईवेंट को अपडेट या हटा देता हूं तो उसे स्वचालित रूप से PHP वेबसाइट ईवेंट को अपडेट या हटा देना चाहिए ।

असल में: 1-तरफा सिंक ठीक काम कर रहा है लेकिन अब मुझे 2-तरफा सिंक्रनाइज़ेशन चाहिए।

यदि किसी के पास कोई विचार है तो कृपया मेरे साथ साझा करें, इसकी सराहना की जाएगी।

उत्तर

5

Google कैलेंडर (gCal) में कोई एप्लिकेशन हुक नहीं है जो किसी ईवेंट को हटाए जाने पर आपको कोई कार्रवाई करने की अनुमति देता है। इसके बजाय आपको अंतराल पर जीसीएल को मतदान करना होगा (यह हर कुछ मिनट/घंटों में क्रॉन नौकरी हो सकता है) और तदनुसार अपना कैलेंडर अपडेट करें, या जब भी आप अपने कैलेंडर से कोई कार्रवाई करते हैं तो संभवतया एक्स में 1 पूर्ण रीक सिंक होता है।

इसका तात्पर्य है कि आप जीसील को निश्चित स्रोत के रूप में उपयोग कर रहे हैं, और उन परिवर्तनों को अपने स्थानीय एप्लिकेशन में वापस मिरर कर रहे हैं।

+1

मैं यहाँ एपीआई से धक्का सूचित करता है कि एंडी से सहमत हैं, एपीआई में कोई रास्ता नहीं आप अविश्वास में अपना सिर हिला रहे हैं इस – JoshBerke

1

क्या यह आपके सिस्टम के लिए एक विशेष, उपयोगकर्ता-विशिष्ट URL पर iCal आउटपुट उत्पन्न करने का विकल्प नहीं होगा, और उसके बाद उपयोगकर्ता Google कैलेंडर में (या उनके iCal-Reading कैलेंडर पसंद) में उस कैलेंडर की सदस्यता लेता है?

इस तरह, आपका सिस्टम हमेशा अधिकृत कैलेंडर धारण करेगा, और Google कैलेंडर स्वचालित रूप से आपके द्वारा किए गए किसी भी बदलाव को प्रतिबिंबित करेगा।

वैकल्पिक रूप से, यदि आप Google कैलेंडर में अपने आवेदन में प्रतिबिंबित होने के लिए परिवर्तन चाहते हैं, तो आप उपयोगकर्ता के कैलेंडर के लिए iCals की सदस्यता ले सकते हैं, और उसके बाद उपयोगकर्ता को किसी भी बदलाव को दर्शाने के लिए नियमित अंतराल पर मतदान कर सकते हैं उस अंत में बना दिया है।

मैं पहले विकल्प (Google कैलेंडर के माध्यम से आपकी आईसीएल सब्सक्राइब) की तरफ झुकता हूं, क्योंकि यह एक आसान और आसान समाधान है।

1

अच्छी तरह से, इन उत्तरों के बाद और एक छेद 2 तरफा सिंक प्रक्रिया के निर्माण के बाद, मैं आप अभी भी एक पूर्ण समन्वयन की प्रक्रिया की आवश्यकता होगी वहाँ 2013 के बाद से कैलेंडर के लिए एक पुश नोटिफिकेशन है, क्योंकि पुश अधिसूचना केवल एक परिवर्तन के बारे में सूचित करता है एहसास हुआ लेकिन परिवर्तन के बारे में कोई डेटा नहीं। आशा है कि यह आपको कुछ समय बचाएगा।

Push Notifications

+0

करने के लिए है कि वहाँ [मेरे जैसे] * कि एक कैलेंडर बदल गया * लेकिन नहीं * क्या बदल गया *, [यह पोस्ट] (https://plus.google.com/+MatthewZimmerman/posts/ag6CEJoXxbM) - दुर्भाग्य से-बुरी खबर की पुष्टि करता है। – elbowlobstercowstand