Взаимодействие с встречами Outlook с использованием рельсов

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

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

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

Ответы

Ответ 1

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

спецификации iCalendar также могут помочь вам.

Ответ 2

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

Ответ 3

Взгляните на проект RExchange на github.

Ответ 4

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

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

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

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

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

Ответ 5

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

Ответ 6

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