Подтвердить что ты не робот

Указание имени, описания и интервала обновления в формате iCal (ics)

Я создаю календарь подписки iCal, который работает как ожидалось; кроме как я не могу указать, по-видимому, основные вещи, такие как имя по умолчанию, предлагающее клиенту календарь, описание и частоту обновления.

Я нашел эту версию спецификации: http://tools.ietf.org/html/draft-daboo-icalendar-extensions-06

Это говорит о том, что я могу просто передать нужные поля. Сделав это и с вершиной файла ics, выглядя следующим образом:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My Company//NONSGML Event Calendar//EN
URL:http://my.calendar/url
NAME:My Calendar Name
DESCRIPTION:A description of my calendar
TIMEZONE-ID:Europe/London
REFRESH-INTERVAL;VALUE=DURATION:P1D
COLOR:34:50:105
CALSCALE:GREGORIAN
METHOD:PUBLISH

Я просто нахожу, что ни одно устройство/приложение, которое я пробовал, не отклоняет календарь, они игнорируют свойства. Я использовал Outlook 2010, iPhone на iOS 6 и Google Calendar. Outlook утверждает, что соблюдает некоторый интервал обновления в файле, но когда я подписываюсь на свой календарь - он говорит, что он не указан.

Итак, вопрос в том, поддерживаются ли эти свойства или мне нужно указать их как что-то еще для каждого другого клиента, или мне просто не повезло?

4b9b3361

Ответ 1

Получается, что ответ скрывался на виду. На данный момент свойства выше являются проектным предложением и не подкреплены ничем, что я пробовал. Вероятно, это хорошая ставка, чтобы включить их в свой календарь на будущее, но для этого теперь нужно работать так:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My Company//NONSGML Event Calendar//EN
URL:http://my.calendar/url
NAME:My Calendar Name
X-WR-CALNAME:My Calendar Name
DESCRIPTION:A description of my calendar
X-WR-CALDESC:A description of my calendar
TIMEZONE-ID:Europe/London
X-WR-TIMEZONE:Europe/London
REFRESH-INTERVAL;VALUE=DURATION:PT12H
X-PUBLISHED-TTL:PT12H
COLOR:34:50:105
CALSCALE:GREGORIAN
METHOD:PUBLISH

Фактические рабочие свойства на данный момент:

X-WR-CALNAME
X-WR-CALDESC
X-WR-TIMEZONE
X-PUBLISHED-TTL

Ответ 2

Для тех, кто использует rails gem 'iCalendar' с версией 2.3.0. Ниже приведено решение для установки настраиваемых свойств, таких как имя календаря.

calendar = Icalendar::Calendar.new 
calendar.append_custom_property("X-WR-CALNAME","My Calendar")

Ответ 3

Еще одна опция с icalendar Ruby gem:

calendar = Icalendar::Calendar.new
calendar.x_wr_calname = 'Calendar Name'