Pytanie Usunąć zdarzenie kalendarza za pomocą importu pliku iCalendar (problem z Outlook 2003)?


Czy istnieje sposób, aby usunąć elementy z kalendarza za pomocą importowania iCalendar?

Wiem, że istnieje METODA: ANULUJ, jednak kiedy spróbowałem, nie miało to nic wspólnego z wydarzeniem w kalendarzu.

Oto, co jest w moim pliku iCalendar. Kiedy próbuję zaimportować go do Outlooka, po prostu dodaje te zdarzenia.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DDay.iCal//NONSGML ddaysoftware.com//EN
METHOD:CANCEL
BEGIN:VEVENT
CREATED:20081210T155315Z
DESCRIPTION:
DTEND:20081213T093000
DTSTAMP:20081210T155315Z
DTSTART:20081213T093000
LOCATION:
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
SUMMARY:From FCS 13th
UID:20367b86-2123-4930-87ef-5c2a6626bd9f
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY: Event 13th
TRIGGER:-PT30M
END:VALARM
END:VEVENT
BEGIN:VEVENT
CREATED:20081210T155315Z
DESCRIPTION:
DTEND:20081211T093000
DTSTAMP:20081210T155315Z
DTSTART:20081211T093000
LOCATION:7 West
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
SUMMARY:Event 11th
UID:f212ab15-86c3-46c8-8592-af0716a40ea2
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY:Event on 11th
TRIGGER:-PT30M
END:VALARM
END:VEVENT    
END:VCALENDAR

14
2017-12-10 16:06


pochodzenie




Odpowiedzi:


Zapomniałem dodać STATUS:CANCELLED 

Teraz powinno to anulować przedmioty zgodnie z http://en.wikipedia.org/wiki/ICalendar#Events_.28VEVENT.29

Działa to w Kalendarzu Google, ale nie w Outlook 2003. Program Outlook nadal tworzy zduplikowane wpisy.

Tutaj są modyfikowane zdarzenia "anuluj" z "STATUS: ANULOWANO". (Brytyjska pisownia z dwoma L)

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DDay.iCal//NONSGML ddaysoftware.com//EN
X-WR-RELCALID:928C8448-048A-4aa2-BE27-A920773AF3DC
METHOD:CANCEL
BEGIN:VEVENT
CREATED:20081210T210344Z
DESCRIPTION:
DTEND:20081213T093000
DTSTAMP:20081210T210344Z
DTSTART:20081213T093000
LOCATION:
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:Event to export 1
UID:20367b86-2123-4930-87ef-5c2a6626bd9f
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY:Event to export 1
TRIGGER:-PT30M
END:VALARM
END:VEVENT
BEGIN:VEVENT
CREATED:20081210T210344Z
DESCRIPTION:
DTEND:20081211T093000
DTSTAMP:20081210T210344Z
DTSTART:20081211T093000
LOCATION:7 West
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:Event to export 2
UID:f212ab15-86c3-46c8-8592-af0716a40ea2
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY:Event to export 2
TRIGGER:-PT30M
END:VALARM
END:VEVENT
END:VCALENDAR

11
2017-12-10 21:16



FYI Google rozróżnia wielkość liter w przypadku ANULOWANEJ; STATUS: Anulowane nie działa w trybie cichym. - Rob_M


Walczyłem z tym przez chwilę.

Jak wspomniało kilka innych osób, musisz uwzględnić:

METODA: ANULUJ

i

STATUS: ODWOŁANY

linie VEVENT. Identyfikator UID musi być taki sam, jak oryginalne zdarzenie ORAZ SEKWENCJA: numer musi być BIEŻĄCYM numerem kolejnym! (nie musisz dodawać 1 z ostatniego numeru sekwencji, ponieważ anulowanie zdarzenia nie jest liczone jako aktualizacja).

Miałem problemy, ponieważ zakładałem, że anulowanie zostało policzone jako aktualizacja i dlatego zwiększyło mój numer sekwencji, ale nie musisz!


6
2017-09-12 14:57





Ta odpowiedź jest przeznaczona dla kanałów URL iCal URL nie do importowania pliku iCal!

Zajrzałem do tego od dłuższego czasu, a ponieważ podana odpowiedź nie rozwiązuje problemu dla programu Outlook, pomyślałem, że opublikuję to, co znalazłem w programach Outlook, iCal i Kalendarz Google.

Po prostu nie wysyłaj wydarzenia, jeśli wydarzenie jest już po prostu nieaktualne w kanale, to Outlook, Kalendarz Google i iCal (z moich testów) po prostu usuwają wydarzenie, jakby nigdy nie istniało. Jeśli więc wydarzenie zostało anulowane, udawaj, że nigdy nie istniało, a po zsynchronizowaniu lokalnych kalendarzy pokażą wydarzenia, które zostały im jawnie nadane w kanale.


3
2017-07-31 19:43



Nie sądzę, że to zadziała. Jeśli mam 10 zdarzeń w pierwszej synchronizacji i w następnej synchronizacji jedno z wydarzeń zostanie usunięte (nieobecne w pliku ics). Brakujące zdarzenie jest nadal obecne w programie iCal lub dowolnym innym kalendarzu (google itp.) I nie jest usuwane, mimo że nowa synchronizacja nie ma tego zdarzenia. - Kush
@ Chush Masz rację. Popełniłem błąd i opublikowałem tutaj odpowiedź, ale moja odpowiedź nie służy do importowania plików. Jest przeznaczony do importowania kalendarzy z adresu URL. na przykład w Kalendarzu Google dodawanie kalendarza według adresu URL, a nie importowanie z pliku. To był błąd z mojej strony, mam nadzieję, że moja odpowiedź nie zmarnowała zbyt wiele czasu. - keyneom


Być może będę musiał ustawić X-WR-RELCALID tag, zgodnie z tym http://www.oesf.org/forum/index.php?act=Print&client=printer&f=63&t=2650 

Mówi: "Przed synchronizacją po raz pierwszy MUSISZ dodać znacznik X-WR-RELCALID do pliku mycalendar.ics, inaczej iCal zmieni numer UID wszystkich wpisów, powodując duplikaty."

Jednak nie mogę znaleźć żadnej dokumentacji dotyczącej znacznika RELCALID w protokole http://tools.ietf.org/html/rfc2446 

Po ustawieniu X-WR-RELCALID, Outlook nadal tworzy zduplikowane zdarzenia zamiast usuwać te zdarzenia.

Czy istnieje dokumentacja dotycząca X-WR-RELCALID? Nie mogę tego znaleźć.


1
2017-12-10 21:30





Nie wiem, czy to pomaga, spróbuj ustawić SEKWENCJĘ: 2


1
2018-03-10 17:44





Dla mnie zadziałało to poprzez ustawienie X-WR-RELCALID tag w nagłówku pliku ics. Następnie program Outlook rozpoznał zdarzenie jako takie samo.


1
2017-08-04 11:58



czy wybierasz tylko losowy? - bvdb


Może to być bolesna i nieprzewidywalna sprawa i prawdopodobnie zależy od wersji programu Outlook. Mam anulowane wydarzenia współpracujące z Outlook 2010 (v14). Wysyłam mój kalendarz w formie jednoczęściowej wiadomości, wpisuję tekst / kalendarz, o którym mowa w to wątek. Jak wspomniano w innych odpowiedziach, mam metodę = ANULUJ w typie MIME i ponownie w kalendarzu.

Najważniejszym krokiem było dla mnie dodanie DTSTART do wydarzenia. Bez tego pola wiadomość nie jest przedstawiana jako anulowanie, w okienku podglądu nic nie ma, a kalendarz jest prezentowany jako załącznik z nazwą pliku "nieobsługiwany kalendarz message.ics". Ale możesz umieścić dowolną datę w polu! DTEND nie jest ważny. SEKWENCJA może być taka sama lub większa. DTSTAMP nie jest ważny, ale jeśli jest obecny, musi nastąpić po wysłaniu DTSTAMP z początkowym zaproszeniem, w przeciwnym razie zamiast przycisku "usuń z kalendarza" pojawi się tekst "nieaktywny".

Jest to minimalna rezygnacja z pracy ...

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//www.notilus.com//Dimo Gestion Notilus//FR
CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
DTSTART:20140625T123000Z
SEQUENCE:1
STATUS:CANCELLED
UID:Kerry
END:VEVENT
END:VCALENDAR

1
2018-06-24 15:51