2008-09-17 1 views
14

저는 Linux 서버에서 실행되는 레일 응용 프로그램을 보유하고 있습니다. 레일 응용 프로그램에서 Outlook/Exchange 2003 약속과 상호 작용하고 싶습니다. 예를 들어, 특정 작업은 약속 보내기를 트리거해야하며 Outlook에서 약속을 수락하거나 취소하는 것이 응용 프로그램의 이벤트를 트리거해야합니다.레일을 사용하는 Outlook 약속과 상호 작용

Outlook 2003에서 Outlook 플러그인을 요구하지 않고도 읽을 수있는 캘린더를 게시 할 수 있습니까? Outlook 2003은 plugins없이 ical을 지원하지 않습니다. 비슷하게, Ruby에서 쉽게 할 수 없지만 Linux에서 실행되는 다른 언어 (예 : Perl)에서 실행되는 경우 해당 제안을 환영합니다.

이 문제를 해결하는 방법이나 답변을 어디에서 찾을 지에 대한 조언은 감사하게 받아 들여집니다.

답변

10

Outlook 약속은 특수 헤더 정보가있는 전자 메일 일뿐입니다. 필요한 부분에 this tutorial의 정보가 있습니다. 내 Outlook에서 내 Gmail 계정으로 몇 회의 미팅 초대장을 보냈고 원시 헤더를 살펴 보았습니다. 대부분의 프로토콜을 알 수 있습니다.

iCalendar specs도 도움이 될 수 있습니다.

1

github의 RExchange 프로젝트를 살펴보십시오.

0

약속에 액세스하려면 WebDav를 사용하여 Exchange의 일정 폴더에 액세스하면됩니다. 약속 작성에 대한 자세한 내용은 RFC2445를 참조하십시오.

0

ceejayoz 님의 의견에 덧붙여 ActionMailer를 사용하여 반송 된 답장을 잡아서 처리 할 수도 있습니다. 답장에 포함될 장소에 고유 한 ID가 있어야합니다.

4

감사합니다 everyones 도움. Perl로이 작업을 수행하는 방법을 알려주는 루비를 찾았습니다. 루비로 포팅했습니다. 솔루션을 찾는 사람들에게 blogged about it했습니다.

1

Exchange 2007로 업그레이드 할 수 있으면 WebDAV보다 강력하고 편리한 Exchange 웹 서비스를 사용할 수 있습니다.

직장에서 나는 사용자가 단일 약속을 만들 수있는 Rails 앱을 상속 받았다. 앱의 약속을 사용자의 시각 일정에 연결하는 코드를 작성하여 항상 동기화되도록하는 코드를 작성해야했습니다. 당신이하고 싶은 것과 아주 비슷하게 들립니다.

필자가 쓴 정확한 코드를 게시 할 수 없다고 생각합니다. 어쨌든 내가 어떻게 대처했는지 약간의 아이디어를 줄 것이다.

Exchange 웹 서비스는 C#의 API 만 제공합니다. 놀랍지 만 Microsoft입니다. 실제로 SOAP이기 때문에 다른 언어를 사용할 수 있습니다. C#에서 Exchange 서버와 Rails 응용 프로그램 간의 동기화를 수행하는 미들웨어를 작성했습니다. 사용자가 앱에서 일정을 잡을 때 변경 사항이 미들웨어로 전송되어 변경 사항이 Outlook 일정에 반영 될 수 있습니다. 한편, 미들웨어는 모든 사용자에 대해 푸시 알림 구독을 등록합니다. Outlook에서 변경 될 때마다 미들웨어에 즉각적으로 알림이 전송되며 이는 앱의 변경 사항을 충실하게 반영합니다. 물론 반복되는 약속도 지원됩니다.

호프가 도움이됩니다.