Взаимодействие с встречами 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, чтобы поймать ответы, которые отправлены назад, и действовать на них - вам понадобится какая-то уникальная идентификация в месте, которое будет включено в ответ, хотя.