Удалить событие календаря с помощью импорта файла iCalendar (проблема Outlook 2003)?

Есть ли способ удалить элементы из календаря с помощью импорта iCalendar?

Я знаю, что есть МЕТОД: ОТМЕНА, однако, когда я попробовал его, он ничего не сделал с событием календаря.

Вот что находится в моем файле iCalendar. Когда я пытаюсь импортировать его в Outlook, он просто добавляет эти события.

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
10.12.2008 16:06:15
9 ОТВЕТОВ
РЕШЕНИЕ

Я забыл добавить STATUS:CANCELLED

Теперь это должно отменить элементы в соответствии с http://en.wikipedia.org/wiki/ICalendar#Events_.28VEVENT.29

Это работает в Календаре Google, но не в Outlook 2003. Outlook по-прежнему создает повторяющиеся записи.

Здесь изменяются события «отмена» с помощью «STATUS: CANCELED». (Английское правописание с двумя буквами 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
13
18.09.2013 19:31:03
К вашему сведению, Google учитывает регистр символов для ОТМЕНЕНЫ; СОСТОЯНИЕ: Отменено, молчит.
Rob_M 5.06.2016 21:39:50
Кто-нибудь пробовал это в последнем клиенте Outlook 365 для настольных компьютеров (Office 365 MSO (16.0.11601.20184) 64 бит), для меня удаление не работает, я уже попробовал все ответы из этой темы. Вот вопрос , описывающий этот вопрос подробно stackoverflow.com/questions/56754329/...
kapil 27.06.2019 10:46:35

Мне может понадобиться установить тег X-WR-RELCALID , в соответствии с этим http://www.oesf.org/forum/index.php?act=Print&client=printer&f=63&t=2650.

В нем говорится: «Перед первой синхронизацией вы ДОЛЖНЫ добавить тег X-WR-RELCALID в файл mycalendar.ics, иначе iCal изменит номер UID всех записей, что приведет к дублированию».

Однако я не могу найти документацию по тегу RELCALID в протоколе http://tools.ietf.org/html/rfc2446

Когда я устанавливаю X-WR-RELCALID, Outlook по-прежнему создает повторяющиеся события вместо удаления этих событий.

Есть ли документация по X-WR-RELCALID? Я не могу найти это.

1
10.12.2008 21:30:29

Я не знаю, поможет ли это, попробуйте установить ПОСЛЕДОВАТЕЛЬНОСТЬ: 2

1
10.03.2009 17:44:58

Outlook создает дублированное событие, если вы изменяете свойство UID. Вы должны создать другое событие с тем же UID.

0
4.11.2009 11:32:04

Для меня это сработало, установив X-WR-RELCALIDтег в заголовке файла ics. Затем Outlook распознал событие как то же самое.

1
15.11.2012 11:05:59
ты просто выбираешь случайный?
bvdb 19.04.2016 09:53:15

Я боролся с этим некоторое время.

Как уже упоминалось несколько других, вы должны включить:

МЕТОД: ОТМЕНА

а также

СТАТУС: ОТМЕНЕН

линии Вевента. UID должен совпадать с исходным событием, а SEQUENCE: номер должен быть текущим порядковым номером! (вам не нужно добавлять 1 из последнего порядкового номера, поскольку отмена события не считается обновлением).

У меня были проблемы, так как я предполагал, что отмена засчитывается как обновление и, следовательно, увеличивает мой порядковый номер, но это не обязательно!

7
12.09.2011 14:57:59

Этот ответ предназначен для URL-каналов iCal, а не для импорта файла iCal!

Я изучал это довольно долго, и поскольку данный ответ на самом деле не решает проблему для перспективы, я решил опубликовать то, что нашел для работы в Outlook, iCal и Google Calendar.

Вы просто не отправляете событие, если это событие просто отсутствует в ленте, а затем Outlook, Google Calendar и iCal (из моего тестирования) просто удаляют событие, как если бы оно никогда не существовало. Поэтому, если событие было отменено, просто сделайте вид, что его никогда не было, и когда синхронизируются локальные календари, они покажут события, которые явно переданы им в ленте.

4
10.12.2014 19:17:24
Я не думаю, что это сработает. Если у меня есть 10 событий в первой синхронизации и в следующей синхронизации, то одно из событий удаляется (отсутствует в файле ics). Отсутствующее событие все еще присутствует в iCal или любом другом календаре (Google и т. Д.) И не удаляется, даже если новая синхронизация не имеет этого события.
Kush 10.12.2014 10:04:14
@Kush Ты прав. Я сделал ошибку и разместил свой ответ здесь, но мой ответ не предназначен для импорта файла. Он предназначен для импорта календарей из URL. например, в Календаре Google добавление календаря по URL, а не импорт из файла. Это было ошибкой с моей стороны, надеюсь, мой ответ не потратил слишком много вашего времени.
keyneom 10.12.2014 19:15:27

Это может быть болезненным и непредсказуемым бизнесом, и, вероятно, зависит от версии Outlook. Я получил отмены событий, работающих с Outlook 2010 (v14). Я отправляю свой icalendar как однокомпонентное сообщение, введите text / calendar, как обсуждалось в этой теме. Как упоминалось в других ответах, у меня есть метод = CANCEL в типе MIME, и снова в icalendar.

Критическим шагом для меня было добавить DTSTART к событию. Без этого поля сообщение не представляется в качестве отмены, на панели предварительного просмотра ничего не отображается, а календарь представляется в виде вложения с именем файла «не поддерживается календарь message.ics». Но вы можете поставить любую дату на поле! DTEND не важен. ПОСЛЕДОВАТЕЛЬНОСТЬ может быть такой же или большей. DTSTAMP не важен, но если он присутствует, он должен быть после DTSTAMP, отправленного с начальным приглашением, в противном случае вместо кнопки «удалить из календаря» появляется текст «неактивно».

Это минимальная рабочая отмена ...

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
2
23.05.2017 12:08:53

Вы должны сделать эти шаги, чтобы удалить событие календаря

  1. UID должен быть таким же
  2. Добавить МЕТОД: ОТМЕНА
  3. Добавить СТАТУС: ОТМЕНЕН
  4. ПОСЛЕДОВАТЕЛЬНОСТЬ должна быть больше, чем созданное событие
0
19.02.2019 19:13:14