как программно удалить встречу из календаря в outlook? - PullRequest
0 голосов
/ 11 апреля 2020

я хочу отклонить или удалить встречу в календаре Outlook программным образом ... когда я хочу отправить электронное письмо, я генерирую код GUID и сохраняю его в БД и использую его для отмены встречи, но она не работает, и все же я вижу встречу в моем календаре Вот мой код для отмены встречи и удаления встречи из календаря:

StringBuilder str = new StringBuilder();
            str.AppendLine("BEGIN:VCALENDAR");
            str.AppendLine("PRODID:-//Schedule a Meeting");
            str.AppendLine("VERSION:2.0");
            str.AppendLine("METHOD:CANCEL");           

            str.AppendLine("BEGIN:VEVENT");
            str.AppendLine("STATUS:1");
            str.AppendLine(string.Format("DTSTART:{0:yyyyMMddTHHmmss}", start));
            str.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmss}", DateTime.UtcNow));
            str.AppendLine(string.Format("DTEND:{0:yyyyMMddTHHmmss}", start));
            str.AppendLine("LOCATION: " + TitelPlase);
            str.AppendLine(string.Format("UID:{0}", id_calender));


            string html_begin = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">" +
       "\n<html>" +
       "\n<head>" +
       "\n<title></title>" +
       "\n</head>" +
       "\n<body>" +
       "\n<!-- Converted from text/rtf format -->\n\n<P DIR=LTR><SPAN LANG=\"en-us\">" +
       "\n<Font face=\"Times New Roman\"";



            string html_end = "</font></span></body>\n</html>";
            string html_body = html_begin + emailContent + html_end;
            msg.Body = html_body;
            str.AppendLine(string.Format("DESCRIPTION:{0}", msg.Body));




            str.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:", msg.Body));
            msg.Body = emailContent;


            str.AppendLine(string.Format("SUMMARY:{0}", msg.Subject));
            str.AppendLine(string.Format("ORGANIZER:MAILTO:{0}", msg.From.Address));

            str.AppendLine(string.Format("ATTENDEE;CN=\"{0}\";RSVP=FALSE:mailto:{1}", msg.To[0].DisplayName, msg.To[0].Address));

            str.AppendLine("BEGIN:VALARM");
            str.AppendLine("TRIGGER:-PT15M");
            str.AppendLine("ACTION:DISPLAY");
            //str.AppendLine("ACTION:DECLINE");
            str.AppendLine("DESCRIPTION:Reminder");
            str.AppendLine("END:VALARM");
            str.AppendLine("END:VEVENT");
            str.AppendLine("END:VCALENDAR");


            System.Net.Mime.ContentType contype = new System.Net.Mime.ContentType("text/calendar; method=CANCEL");
            contype.Parameters.Add("name", "Meeting.ics");
            AlternateView avCal = AlternateView.CreateAlternateViewFromString(str.ToString(), contype);

Спасибо за помощь

...