वर्तमान में, मेरे ऐप कोई उपयोगकर्ता अपने Google कैलेंडर के लिए एक एकल घटना जोड़ने में मदद करने की क्षमता है:मैं किसी एंड्रॉइड डिवाइस पर Google कैलेंडर में बाहरी कैलेंडर की सदस्यता लेने में उपयोगकर्ता की सहायता कैसे कर सकता हूं?
final Intent calendarIntent = new Intent(Intent.ACTION_EDIT)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setType("vnd.android.cursor.item/event")
.putExtra("beginTime", startTime)
.putExtra("endTime", startTime + 7200000L) // 2 hours
.putExtra("title", name)
.putExtra("description", description.toString())
.putExtra("eventLocation", address);
// later
startActivity(calendarIntent);
हालांकि, कई उपयोगकर्ताओं को उनकी Google कैलेंडर के लिए अपने सभी घटनाओं जोड़ना चाहते हैं। हमारी सर्वर टीम ने आईसीएस फ़ीड बनाया जो लोग subscribe to as an external Google calendar कर सकते हैं। लेकिन इसमें यूआरएल की प्रतिलिपि बनाना और पेस्ट करना शामिल है और अंत उपयोगकर्ताओं के लिए भ्रमित है।
वेब पर, हम लोगों को http://www.google.com/calendar/render?cid=OUR_ICS_URL
फ़ॉर्म के URL से लिंक कर सकते हैं, और वे अपेक्षाकृत आसानी से फ़ीड को जोड़ सकेंगे। हालांकि, जब आप एंड्रॉइड ब्राउज़र पर इस यूआरएल पर जाते हैं, तो आपको मोबाइल बनाम डेस्कटॉप वेबसाइटों के बारे में सभी प्रकार के अजीब पॉपअप मिलते हैं, और यहां तक कि हमारी विकास टीम के उन्नत एंड्रॉइड उपयोगकर्ता यह भी नहीं समझ पाएंगे कि वहां से कैलेंडर कैसे जोड़ा जाए ।
एक और चीज जो मैंने देखा वह Google कैलेंडर API था, लेकिन ऐसा लगता है कि उनके calendar list insert method को एक बाहरी कैलेंडर के लिए URL नहीं, Google कैलेंडर आईडी की आवश्यकता है।
तो, क्या कोई अच्छा समाधान है? ऐसा लगता है कि हमारे उपयोगकर्ताओं को उनके डेस्कटॉप पर जाने की आवश्यकता के बिना और एक पूर्ण आकार के वेब ब्राउज़र को खोलने के बिना अपने कैलेंडर की सदस्यता लेने में सहायता करने का एक तरीका होना चाहिए। लेकिन मैंने जो भी कोशिश नहीं की है, उसने कोई परिणाम नहीं दिया है।
कोई विचार?
जहां तक मैं कह सकता हूं, कैलेंडर सूची सम्मिलित विधि केवल Google कैलेंडर आईडी स्वीकार कर सकती है, मनमाने ढंग से बाहरी कैलेंडर URL नहीं। क्या मैं कुछ भूल रहा हूँ? – mlc
मुझे लगता है कि आप सही हैं, मैंने अभी एक पल के लिए सोचा था कि ज़ेंड फ्रेमवर्क को कैलेंडरलिस्ट फीड() कार्यक्षमता प्राप्त करने का एक तरीका होगा, क्योंकि वे अपने दस्तावेज़ में बताते हैं: "कैलेंडर सेवा प्रमाणीकृत के लिए कैलेंडर की सूची पुनर्प्राप्त करने का समर्थन करती है उपयोगकर्ता। यह कैलेंडरों की एक ही सूची है जो Google कैलेंडर UI में प्रदर्शित होती हैं, जिन्हें 'छुपा' के रूप में चिह्नित किए गए को छोड़कर भी उपलब्ध हैं। " लेकिन मैं कोई ज़ेंड विशेषज्ञ नहीं हूं, इसलिए इसका विश्लेषण करना मेरे बाहर थोड़ा सा है। – Reggie
हाँ, मैंने अभी उस फ़ंक्शन के पीछे कोड (Zend_Gdata_Calendar नेमस्पेस में) की जांच की है और ऐसा लगता है कि वे बाह्य URL से कैलेंडर वेब पेज (पृष्ठभूमि में) मैन्युअल रूप से खींच रहे हैं और जानकारी को अपने डोम से निकाल रहे हैं। एक साधारण एंड्रॉइड ऐप के लिए एक सुरुचिपूर्ण समाधान नहीं है, यह निश्चित रूप से है। – Reggie