2012-04-21 4 views
13

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

Это закодировано в PHP, и базовые функции работают отлично (часовые пояса, VEVENT, и такие на), но когда я добавить VALARM-й в те VEVENT в ни календаре Google, ни Outlook 2010 команд сложения с nofifications в их календаре

сниппет файл мик:

BEGIN:VEVENT 
UID:[email protected] 
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: Это похоже на работу, если вам импортировать его из файла, но, к сожалению, я необходимо импортировать его с веб-сайта.

ответ

2

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

+0

У меня было это чувство грустно. Я не смог заполучить Google, но меня это очень раздражает. Из того, что я читал в Интернете, у MS Outlook 2010 такая же проблема. –

+0

См. Мой ответ здесь, должен помочь вам: http://stackoverflow.com/a/16540934/834431 – Chris

1

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

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

+0

У вас есть будильник? Как. я пытался сделать это чуть больше месяца, и еще не удалось. –

+0

Кажется, что он работает, если вы импортируете его из файла, но не импортируете его с веб-сайта (это то, что мне нужно). Наиболее странно –

+0

Это наиболее определенно ошибка из календаря Google: одно и то же событие при импорте в виде файла показывает напоминание, но при импорте из URL-адреса это не так. Можно предположить, что это разница между «персональными календарями» и «другими календарями», но даже если событие «перемещено» из «другого календаря» в «мой календарь», событие «потеряло» свои напоминания. – oberron

0

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

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

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

6

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

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

Вот только пример ческого файл, который работает точно так же, как и ожидался при открытии в 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 
+1

Детали VALARM по-прежнему игнорируются Outlook и Google Calendar. Он работает с календарями iPhone. – Mike

+0

Вы проверили символы EOL, как указано в ответе? – Chris

+0

Да, \ r \ n в каждой строке. Похоже, Google решил игнорировать сигналы тревоги, которые по-прежнему соответствуют [RFC] iCal (http://tools.ietf.org/html/rfc5545#page-75): «Примечание: Реализации должны тщательно учитывать, принимают ли они компоненты сигнала тревоги из ненадежных источников, например, при импорте объектов календаря из внешних источников. Одна разумная политика заключается в том, чтобы всегда игнорировать компоненты аварийных сигналов, которые пользователь календаря не установил, или, по крайней мере, попросить подтверждения в таком случае ». – Mike

1

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

Я нашел, что это не будет так в Outlook 2013.Я удалил:

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

и сигнализация работает для меня в Outlook, 2013.

Появляется быть случаем MS Outlook не следует стандарт RFC5545, ни после их собственного осуществление стандарт.

Смежные вопросы