2008-09-17 4 views
14

У меня есть приложение rails, работающее на сервере Linux. Я хотел бы взаимодействовать с приложениями Outlook/Exchange 2003 из приложения rails. Например, определенные действия должны инициировать отправку встречи, а затем желательно принять/отменить встречу в Outlook, чтобы инициировать события в приложении.Взаимодействие с встречами Outlook с использованием рельсов

В противном случае можно ли печатать календари, которые Outlook 2003 может читать без использования плагинов Outlook? Я отмечаю, что Outlook 2003 не поддерживает iical без плагинов, например. Точно так же, если это невозможно сделать в Ruby, но на другом языке (например, Perl, например), запущенном в Linux, эти предложения будут приветствоваться.

Любые советы о том, как достичь этого, или где начать поиск ответов, будут с благодарностью получены.

ответ

10

Назначения Outlook - это просто электронные письма со специальной информацией заголовка. Есть некоторая информация в this tutorial на требуемые детали. Я отправил несколько приглашений на встречу из своего Outlook в мою учетную запись Gmail и посмотрел на необработанные заголовки - вы можете увидеть большую часть протокола из этого.

iCalendar specs также может помочь вам.

0

Для доступа к встречам вы можете просто открыть папку «Календарь» на Exchange с помощью WebDav. Для создания встреч см. RFC2445.

0

В дополнение к комментарию ceejayoz вы также можете использовать ActionMailer, чтобы поймать ответы, которые отправлены обратно, и действовать на них - вам понадобится какая-то уникальная идентификация в месте, которое будет включено в ответ.

4

Спасибо за помощь всем. Я нашел кое-что, что показало мне, как это сделать с Perl, и портировал его на рубин. У меня есть blogged about it для тех, кто ищет решение

1

Если вы можете перейти на Exchange 2007, вы можете использовать более эффективные и удобные в использовании веб-службы Exchange, чем WebDAV.

На работе я унаследовал приложение Rails, которое позволяет пользователям создавать одиночные встречи. Меня попросили написать код, чтобы связать эти встречи в приложении с календарями прогнозов пользователей, чтобы они всегда синхронизировались. Звучит для меня очень похоже на то, что вы хотите сделать.

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

Exchange Web Services предоставляет только API на C# (не удивительно, это Microsoft. Технически вы можете использовать другие языки, поскольку это на самом деле SOAP.). Я написал промежуточное ПО на C#, которое выполняет синхронизацию между сервером Exchange и Rails. Когда пользователи планируют в приложении, изменения отправляются в промежуточное программное обеспечение, поэтому изменения могут отражаться в их календаре перспективы. Между тем, промежуточное программное обеспечение регистрирует подписки Push Notification для всех пользователей - каждый раз, когда в Outlook происходят изменения, промежуточное программное обеспечение будет немедленно уведомлено, что, в свою очередь, точно отражает эти изменения в приложении. Конечно, также поддерживаются повторяющиеся встречи.

Надеюсь, что вам поможет.