2012-08-24 17 views
8

मैं iCal ईवेंट बनाने के लिए डीडी लाइब्रेरी का उपयोग कर रहा हूं, ताकि मेरी साइट के उपयोगकर्ता अपने कैलेंडर में कुछ जोड़ सकें।मैं DDay.iCal के साथ Outlook "नियुक्ति" कैसे बना सकता हूं?

मैं चाहता हूं कि वे Office 2010 (और उम्मीद है कि अन्य लोगों) में मीटिंग अनुरोध के विरोध में नियुक्ति जोड़ना चाहें। जब मैं लाइब्रेरी का उपयोग करता हूं और विधि को विधि सेट करता हूं, तो यह नियुक्ति के रूप में दिखाई देता है, लेकिन यह रिपोर्ट करता है कि बैठक कैलेंडर में नहीं मिल सकती है। फिर जब मैं कोई प्रतिक्रिया आवश्यक क्लिक करता हूं, तो आइटम हटा दिया जाता है और उनके कैलेंडर में नहीं रहता है।

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

private static string CreateCalendarEvent(
    string title, string body, DateTime startDate, double duration, 
    string location, string organizer, string eventId, bool allDayEvent) 
{ 
    // mandatory for outlook 2007 
    if(String.IsNullOrEmpty(organizer)) 
     throw new Exception("Organizer provided was null"); 

    var iCal = new iCalendar 
    { 
     Method = "PUBLISH", 
     Version = "2.0" 
    }; 

    // "REQUEST" will update an existing event with the same UID (Unique ID) and a newer time stamp. 
    //if (updatePreviousEvent) 
    //{ 
    // iCal.Method = "REQUEST"; 
    //} 

    var evt = iCal.Create<Event>(); 
    evt.Summary = title; 
    evt.Start = new iCalDateTime(startDate); 
    evt.Duration = TimeSpan.FromHours(duration); 
    evt.Description = body; 
    evt.Location = location; 
    evt.IsAllDay = allDayEvent; 
    evt.UID = String.IsNullOrEmpty(eventId) ? new Guid().ToString() : eventId; 
    evt.Organizer = new Organizer(organizer); 
    evt.Alarms.Add(new Alarm 
    { 
     Duration = new TimeSpan(0, 15, 0), 
     Trigger = new Trigger(new TimeSpan(0, 15, 0)), 
     Action = AlarmAction.Display, 
     Description = "Reminder" 
    }); 

    return new iCalendarSerializer().SerializeToString(iCal); 
} 

उत्तर

3

जब मैंने एक परीक्षण स्ट्रिंग के विपरीत आयोजक को ईमेल पते पर सेट किया, तो यह ठीक काम करता था। मैंने यह सब लिखा था, इसलिए मैंने सोचा कि अगर किसी और को एक ही समस्या हो तो मैं इसे साझा करूंगा

+0

नोट यह ईमेल वास्तव में, कुछ भी करने के लिए प्रयोग किया जाता है यदि आप बाद में एक मीटिंग अनुरोध के रूप में में जाने के लिए और इस अद्यतन प्रकट नहीं होता है कि था। –

1

मेरा ऐप काम करना बंद कर दिया जब एक्सचेंज सर्वर को 2003 से Outlook 2010 में अपग्रेड किया गया था। अपग्रेड से पहले पब्लिश ने ठीक काम किया लेकिन अब मैं अनुरोध करने के लिए लेख के लिए

धन्यवाद बदलने के लिए

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