2017-01-25 9 views
11

में आउटलुक मीटिंग अनुरोध निकालें मैं सी # में एक आवेदन बना रहा हूं। इसमें मैं एक मीटिंग अनुरोध बना सकता हूं जो उपयोगकर्ता को कोड के माध्यम से भेजा जाता है और Outlook मेल में दिखाई देता है।सी #

नीचे कोड वह है जो मैं मीटिंग आमंत्रण भेजने के लिए उपयोग कर रहा हूं। यह ठीक काम कर रहा है।

StringBuilder OutlookBody = new StringBuilder(); 
string textvs = @"BEGIN:VCALENDAR 
PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN 
VERSION:1.0 
BEGIN:VEVENT 
LOCATION:" + Location + @" 
DTSTART:" + string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", start) + @" 
DTEND:" + string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", end) + @" 
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:= " + OutlookBody + @"=0D=0A SUMMARY:" + AppoitmentName + @" 
PRIORITY:3 
END:VEVENT 
END:VCALENDAR"; 

आउटलुक मीटिंग अनुरोध को हटाने के लिए मैं उसी कोड का उपयोग कैसे कर सकता हूं।

मैंने this उत्तर भी देखा है, लेकिन यह मेरी समस्या का समाधान नहीं किया है।

+0

downvoting करने का कारण बताने कर लें, ताकि मैं इसे संशोधित कर सकते हैं। @downvoter –

+0

मैं डाउनवॉटर नहीं हूं, लेकिन क्या आप हमें बता सकते हैं कि आपके द्वारा उल्लिखित उत्तर में मदद क्यों नहीं मिली? ऐसा लगता है कि यह बिल्कुल जगह पर था। आप एक मजबूर विलोपन प्राप्त करने में सक्षम नहीं होंगे, यह हमेशा एक और संदेश है कि प्राप्तकर्ता "मीटिंग रद्द - कैलेंडर से हटाएं" जैसे अधिसूचना के रूप में देखेगा? – dlatikay

+0

@dlatikay: यह कोड आउटलुक मीटिंग अनुरोध भेजने के लिए ठीक काम कर रहा है। मैं इस कोड को संशोधित करके आउटलुक मीटिंग रद्दीकरण भेजना चाहता हूं, रद्द होने के रूप में स्थिति जोड़ सकता हूं। मुझे नहीं पता कि वास्तव में क्या करना है। –

उत्तर

2

आउटलेक में प्रत्येक नियुक्ति/मीटिंग में एक अद्वितीय आईडी और एक चेंजकी मिल जाएगी। मीटिंग में संशोधन किए जाने पर एक नया चेंजकी उत्पन्न होता है। मौजूदा मीटिंग को अपडेट करने के लिए आपके पास आईडी और नवीनतम चेंजकी होना चाहिए।

आपके दृष्टिकोण में, यदि मैं गलत नहीं हूं, तो आप केवल एक आईसीएएल बना रहे हैं जो ईमेल के माध्यम से दृष्टिकोण में जोड़ा गया है। इस मामले में, आपके पास कार्यक्रम को व्यवस्थित रूप से संशोधित करने के लिए आईडी और चेंजकी नहीं होगी। मैं आपको दृष्टिकोण बदलने के लिए सुझाव दूंगा।

यदि आपके पास माइक्रोसॉफ्ट एक्सचेंज है तो निम्न लिंक गाइड करेंगे। अन्यथा, लिंक को अनदेखा करें।

https://msdn.microsoft.com/en-us/library/office/dn495611(v=exchg.150).aspx https://msdn.microsoft.com/en-us/library/office/dn495612(v=exchg.150).aspx

2

आप इन पंक्तियों को जोड़ने के द्वारा विधि और बैठक की स्थिति सेट कर सकते हैं:

METHOD: CANCEL 

STATUS: CANCELLED 

अधिक here देखें।

+0

मैंने यह कोशिश की है, लेकिन यह काम नहीं कर रहा है। –

0

निम्नलिखित कोड

StringBuilder OutlookBody = new StringBuilder(); 
string textvs = @"BEGIN:VCALENDAR 
PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN 
VERSION:1.0 
BEGIN:VEVENT 
LOCATION:" + Location + @" 
DTSTART:" + string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}", start) + @" 
DTEND:" + string.Format("DTEND:{0:yyyyMMddTHHmmssZ}", end) + @" 
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:= " + OutlookBody + @"=0D=0A SUMMARY:" + AppoitmentName + @" 
PRIORITY:3 
METHOD:CANCEL 
STATUS:CANCELLED 
END:VEVENT 
END:VCALENDAR"; 

का प्रयोग करें और निम्नलिखित माइम प्रकार का उपयोग

System.Net.Mime.ContentType mimeType = new System.Net.Mime.ContentType("text/calendar; method=CANCEL"); 

AlternateView alternate = AlternateView.CreateAlternateViewFromString(body, mimeType); 
message.AlternateViews.Add(alternate); 
+0

सरदार मुझे इस माइम टाइप को परिभाषित करना चाहिए और इसका क्या उपयोग है। –

+0

मैंने जवाब भी अपडेट किया है यदि टिप्पणी में कोड स्पष्ट नहीं है, तो आप यह पता लगा सकते हैं कि आप माइम प्रकार कैसे निर्दिष्ट कर सकते हैं। –