Ical VALARM не регистрируется

Я использовал последние пару дней, создав приложение, которое создает файл .ics (ical)

Он закодирован в php, и базовые функции работают нормально (timezones, Vevent's и т. Д.), Но когда я добавляю VALARM в те VEVENT, ни в календаре Google, ни в Outlook 2010 не добавляются уведомления в свой календарь

фрагмент файла ics:

BEGIN:VEVENT UID:f2f5672145d92702c71504ceccf77167@dyndns.org DTSTAMP:20120420T174122Z DTSTART;TZID=Europe/Berlin:20120416T081000 DTEND;TZID=Europe/Berlin:20120416T091000 LOCATION:A102 - Teori Frh. SUMMARY:Hold: 2.B Kemi B DESCRIPTION:Lærer: Jeppe Byrialsen Jensen (JBJ) Noter: Lab øvelser om alkoholers blandbarhed BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:Hold: 2.B Kemi B TRIGGER:-P0DT0H30M0S END:VALARM END:VEVENT 

EDIT: Кажется, это работает, если вы импортируете его из файла, но, к сожалению, мне нужно импортировать его с веб-сайта.

У нас была та же проблема, но мы обнаружили, что примеры фрагментов кода, которые используют \n в конце каждой строки, вместо этого используют \r\n .

Валидатор iCal в http://severinghaus.org/projects/icv/ подчеркнул это как предупреждение, несмотря на то, что файлы iCal работают, за исключением того, что аварийный сигнал напоминания не задан в Outlook 2010.

Вот пример файла iCal, который работает точно так, как ожидалось, когда он открывается в Outlook 2010, включая установку напоминания в течение 1 часа (до тех пор, пока разрывы строк будут \r\n ):

 BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Keeble Smith//NONSGML GETONCOURT.COM//EN BEGIN:VEVENT DTSTART:20130514T190000Z DTEND:20130514T194000Z LOCATION:Court 2\, Demo Squash Club DESCRIPTION:View this court booking on getoncourt.com: http://democlub.getoncourt.com/booking-details/dmo3106 SUMMARY:Squash court booking for John Smith - DMO3106 BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY DESCRIPTION:Reminder END:VALARM END:VEVENT END:VCALENDAR 

Также обратите внимание на экранированные специальные символы. Убедитесь, что вы избегаете следующих значений TEXT (но не экземпляра EOL):

 \ to \\ ; to \; , to \, \n to \\n 

У меня такая же проблема. Я экспортировал свои календари, созданные в Календаре Google, и раздел VALARM выглядит точно так же, как и экспортированные мной. У меня такое чувство, что это проблема на стороне Google. Я видел, что эти вопросы задавали еще 2 или 3 раза в Stack Overflow без ответа.

не могли бы вы уточнить, что вы подразумеваете под «не регистрирующимся». Например, я скопировал ваш код и импортировал его в календарь Google, и он ясно показывает напоминание: всплывающее окно 30mn в свойстве события.

Это то, что вы ожидаете увидеть элемент в календаре, где должен произойти сигнал тревоги. Я считаю, что это не то, что RFC5545 подразумевает как поведение для VALARM.

MS заявляет, что Outlook игнорирует несколько стандартных параметров тревоги, см. http://msdn.microsoft.com/en-us/library/ee624781(v=exchg.80).aspx

Я обнаружил, что это не относится к Outlook 2013. Я удалил:

ДЕЙСТВИЕ: ОПИСАНИЕ ДИСПЛЕЯ: Напоминание

и будильник работает для меня в Outlook 2013.

Похоже, что MS Outlook не соответствует стандарту RFC5545 и не соответствует их стандарту внедрения.

Для чего это стоит, это не ошибка, как таковая, а выбор, который выбирают разработчики календаря, совместимые с RFC. См. http://sourceforge.net/p/dday-ical/discussion/656447/thread/01111137#23c5

Я думаю, что страх в том, что если действие является аудио, тогда клиент должен запустить прикрепленный файл (предположительно звуковой файл), когда происходит событие триггера. Однако нет никакой гарантии, что звуковой файл действительно является звуковым файлом, а не чем-то более гнусным.

Теперь, почему он игнорирует вары с действием дисплея, я не знаю.