Является ли iCalendar (.ics) единственным способом отправки данных календаря? - PullRequest
4 голосов
/ 15 декабря 2009

Если бы вы создавали приложение, которое отслеживало данные о событиях, как бы вы выдавали эти данные о событиях, чтобы они могли быть в личных календарях и смартфонах людей?

Я думал создать файл .ics и подписаться на него через Google Calendar, Outlook, Exchange и т. Д. Но они, похоже, подписываются на «снимок» файла и не проверяют файл на наличие обновлений , Если я хочу, чтобы обновления происходили практически в реальном времени, есть ли лучший способ вытолкнуть эти данные календаря, чем формат .ics iCalendar?

Мы используем Exchange здесь, в моей компании, и поэтому, когда я создаю событие в любом из моих календарей (через Outlook, Entourage или мой iPhone, все подключенные к моей учетной записи пользователя Exchange), событие появляется во всех 3 приложениях в до 1 минуты.

Есть ли способ отправить данные о событиях на сервер Exchange из моей базы данных аналогичным образом?

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

Поскольку вы уже используете Exchange, возможно, вы могли бы создать запрос на встречу Exchange Activesync; по сути это XML поверх HTTPS. Это ограничивает вас клиентами, которые говорят на EAS, но я не уверен, что это выходит за рамки требований - большинство всех ОС для смартфонов, похоже, теперь поддерживают EAS.

Если бы я разрабатывал это, я был бы обеспокоен тем, что что-либо меньшее, чем EAS, будет слишком зависеть от конфигурации конечного пользователя; протоколы non-push не предназначены для работы в режиме реального времени. Персональные календари - это проблема с использованием EAS (не уверен, что iCal и т. Д. Может его поддерживать), но в зависимости от приложения я не уверен, сколько людей использует календари с блокировкой ПК больше.

http://msdn.microsoft.com/en-us/library/dd299440%28EXCHG.80%29.aspx

0 голосов
/ 10 ноября 2015

Используя канал iCalendar, вы можете продолжать отправлять обновления с этой конечной точки. Предостережение заключается в том, что вам необходимо убедиться, что пользователи подписываются на канал, а не просто загружать его и импортировать.

Превращение вашего http:// в webcal:// может быть достаточным для выполнения этой задачи, но не каждый клиент поддерживает это. Тем не менее, каждый клиент, которого вы упоминаете, имеет подписку. Некоторые, однако, требуют некоторого времени для обновления. Например, Календарь Google делает это только раз в 24 часа.

...