2010-01-27 12 views
5

के साथ "विशिष्ट" Google कैलेंडर में कोई ईवेंट जोड़ना मैं Google कैलेंडर में किसी विशिष्ट कैलेंडर में कोई ईवेंट जोड़ने का प्रयास कर रहा हूं और मुझे बस यह नहीं पता कि कैसे। यहां मेरा कोड है:GData API

 CalendarService service = new CalendarService("MyTEst"); 
     service.setUserCredentials("Username", "Password"); 
     EventEntry entry = new EventEntry(); 

     // Set the title and content of the entry. 
     entry.Title.Text = "title"; 
     entry.Content.Content = "test"; 

     // Set a location for the event. 
     Where eventLocation = new Where(); 
     eventLocation.ValueString = "Location"; 
     entry.Locations.Add(eventLocation); 

     When eventTime = new When(DateTime.now, DateTime.now.AddDays(2)); 
     entry.Times.Add(eventTime); 

     Uri postUri = new Uri("http://www.google.com/calendar/feeds/default/private/full"); 

     // Send the request and receive the response 
     AtomEntry insertedEntry = service.Insert(postUri, entry); 

क्या कोई इस से मेरी सहायता कर सकता है?

संपादित

शायद मैं उल्लेख करना चाहिए कि इस fonctionnability एक साइट के व्यवस्थापक easly तो मैं automaticaly "हार्डकोडेड" के साथ यह प्रमाणीकृत Rendez-Vous जोड़ सकते हैं और अपने Google कैलेंडर में नोट करने के लिए चाहते हैं, जिसके लिए ही उपलब्ध है मूल्य इसलिए मुझे यकीन है कि उपयोगकर्ता नाम और पासवर्ड ठीक है।

उत्तर

6

आपका कोड आपके निर्दिष्ट उपयोगकर्ता नाम और पासवर्ड के लिए डिफ़ॉल्ट Google कैलेंडर के साथ काम कर रहा है। (आईई यह [email protected] के लिए डिफ़ॉल्ट कैलेंडर का उपयोग कर रहा है) आप इसे देख सकते हैं क्योंकि यूआरआई "/ feed/default/private" को इंगित करता है। यदि आप ईवेंट को किसी अन्य कैलेंडर में पोस्ट करना चाहते हैं तो उपयोगकर्ता नाम को उस कैलेंडर पर पोस्ट करने के लिए अधिकृत होना चाहिए, और आपको उस कैलेंडर को निजी यूरी पर पोस्ट करना होगा।

संपादित करें: इस निजी यूआरएल के डिफ़ॉल्ट स्वरूप है "http://www.google.com/calendar/feeds/CALENDAR_ID/private/full"

कैलेंडर आईडी ढूंढने के लिए, यह Google कैलेंडर कैलेंडर सेटिंग पृष्ठ में अगले कैलेंडर पता है। यह इस तरह दिखाई देगा:

"***************************@group.calendar.google.com"

अंतिम URL होगा:

संपादित करें: "http://www.google.com/calendar/feeds/ ***************************@group.calendar.google .com/निजी/पूर्ण "

यह आपके Uri postUri = new Uri();

संपादित में जाना होगा:

मेरी गलती यह थी कि मैंने उल्लेख किया कि आपको निजी शब्द के बाद निजी कुंजी भी शामिल करने की आवश्यकता है। आपको वास्तव में ऐसा नहीं करना है। मैंने सत्यापित किया है कि मैं निजी कुंजी को हटाकर सफलतापूर्वक माध्यमिक कैलेंडर पर पोस्ट कर सकता हूं।

+0

बहुत धन्यवाद DanJo519। मैं अब कोशिश करूँगा !! –

+0

मैंने कोशिश की है और यह अभी भी एक त्रुटि में विफल रहता है; अनुरोध का निष्पादन विफल रहा: google.com/calendar/feeds/[email protected]/private-PRIVATE_KEY/full। मैं समझने के लिए सुर नहीं हूँ। मैंने अंत में "पूर्ण" या "मूल" दोनों के साथ प्रयास किया है (बेसिक Google द्वारा डिफ़ॉल्ट रूप से प्रदान किया जाता है लेकिन मैंने पूरी तरह से कोशिश की है कि आपने ऐसा कहा है। वैसे भी, कोई भी काम नहीं करता है :( –

+1

मैंने एक संशोधन किया है मेरे उत्तर में। आपको वास्तव में -PRIVATE_KEY को शामिल करने की आवश्यकता नहीं है। इसे हटाने से आपको पोस्ट करने की अनुमति मिल जाएगी, यह मानते हुए कि आपके पास कैलेंडर पर लिखने की अनुमति है। मैंने अपने माध्यमिक कैलेंडर में से एक के साथ सफलतापूर्वक इसका परीक्षण किया है। –

संबंधित मुद्दे