Question

J'ai une application rails s'exécutant sur un serveur Linux. Je souhaite interagir avec les rendez-vous Outlook / Exchange 2003 à partir de l'application rails. Par exemple, certaines actions doivent déclencher l’envoi d’un rendez-vous, puis accepter / annuler de préférence le rendez-vous dans Outlook doit déclencher des événements dans l’application.

À défaut, est-il possible de publier des calendriers lisibles par Outlook 2003 sans nécessiter de plug-in Outlook? Je note que Outlook 2003 ne supporte pas ical sans plugins par exemple. De même, si cela n’est pas facilement faisable dans Ruby, mais dans une autre langue (telle que Perl par exemple) fonctionnant sous Linux, ces suggestions seraient les bienvenues.

Nous vous serions reconnaissants de bien vouloir nous donner des conseils sur la manière d'y parvenir ou de commencer à chercher des réponses.

Était-ce utile?

La solution

Les rendez-vous Outlook ne sont que des courriers électroniques avec des informations d'en-tête spéciales. Il y a des informations dans ce tutoriel sur les pièces requises. J'ai envoyé quelques invitations à une réunion à partir de mon Outlook sur mon compte Gmail et jeté un coup d'œil aux en-têtes bruts: vous pouvez en déduire l'essentiel du protocole.

Les spécifications iCalendar peuvent également vous aider.

Autres conseils

Merci pour l’aide de tous. J'ai trouvé quelque chose qui m'a montré comment faire cela avec Perl, et l'a porté sur ruby. J'ai un blog à ce sujet pour ceux qui le souhaitent. une solution

Si vous pouvez effectuer une mise à niveau vers Exchange 2007, vous pouvez utiliser des services Web Exchange plus puissants et plus pratiques à utiliser que WebDAV.

Au travail, j'ai hérité d'une application Rails qui permet aux utilisateurs de créer des rendez-vous uniques. On m'a demandé d'écrire du code pour lier ces rendez-vous dans l'application aux calendriers Outlook des utilisateurs, afin qu'ils soient toujours synchronisés. Cela me semble très similaire à ce que vous voulez faire.

Je ne pense pas avoir le droit de publier le code exact que j'ai écrit. Quoi qu'il en soit, je vais vous donner une petite idée de la façon dont j'ai résolu le problème.

Les services Web Exchange ne fournissent que les API en C # (pas de surprise, c'est Microsoft. Techniquement, vous pouvez utiliser d'autres langages puisqu'il s'agit en fait de SOAP.). J'ai écrit un middleware en C # qui effectue la synchronisation entre le serveur Exchange et l'application Rails. Lorsque les utilisateurs planifient dans l'application, les modifications sont envoyées au middleware afin que les modifications puissent être reflétées dans leurs calendriers Outlook. Pendant ce temps, le middleware enregistre les abonnements aux notifications Push pour tous les utilisateurs. Chaque fois que des modifications sont apportées dans Outlook, le middleware en est immédiatement informé, ce qui reflète fidèlement ces modifications dans l'application. Bien entendu, les rendez-vous récurrents sont également pris en charge.

J'espère que cela vous aide.

Consultez le projet RExchange sur github.

Pour accéder aux rendez-vous, vous pouvez simplement accéder au dossier Calendrier sur Exchange à l'aide de WebDav. Pour créer des rendez-vous, veuillez vous référer à la RFC2445 pour plus de détails.

Suite au commentaire de ceejayoz, vous pouvez également utiliser ActionMailer pour capturer les réponses qui sont renvoyées et y donner suite. Vous aurez besoin d’une forme d’identifiant unique à un emplacement qui sera inclus dans la réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top