Domanda

Ho un'applicazione rails in esecuzione su un server Linux.Vorrei interagire con gli appuntamenti di Outlook/Exchange 2003 dall'applicazione Rails.Ad esempio, alcune azioni dovrebbero attivare l'invio di un appuntamento e, preferibilmente, l'accettazione/annullamento dell'appuntamento in Outlook dovrebbe attivare eventi nell'applicazione.

In caso contrario, è possibile pubblicare calendari che Outlook 2003 può leggere senza richiedere i plug-in di Outlook?Noto che Outlook 2003 non supporta ical senza plug-in, ad esempio.Allo stesso modo, se questo non è facilmente realizzabile in Ruby, ma è in un altro linguaggio (come ad esempio Perl) in esecuzione su Linux, allora questi suggerimenti sarebbero benvenuti.

Qualsiasi consiglio su come raggiungere questo obiettivo o da dove iniziare a cercare risposte sarà accolto con gratitudine.

È stato utile?

Soluzione

Gli appuntamenti di Outlook sono solo messaggi di posta elettronica con informazioni speciali nell'intestazione.Ci sono alcune informazioni dentro questo tutorial sulle parti richieste.Ho inviato alcuni inviti a riunioni dal mio Outlook al mio account Gmail e ho dato un'occhiata alle intestazioni non elaborate lì: da lì puoi capire la maggior parte del protocollo.

IL Specifiche di iCalendar potrebbe aiutare anche te.

Altri suggerimenti

Grazie per l'aiuto di tutti.Ho trovato qualcosa che mi ha mostrato come farlo con Perl e l'ho portato su Ruby.Io ho bloggato a riguardo per chi cerca una soluzione

Se è possibile eseguire l'aggiornamento a Exchange 2007, è possibile utilizzare i servizi Web Exchange che sono più potenti e pratici da utilizzare rispetto a WebDAV.

Al lavoro, ho ereditato un'app Rails che consente agli utenti di creare singoli appuntamenti.Mi è stato chiesto di scrivere il codice per collegare gli appuntamenti nell'app ai calendari di Outlook degli utenti, in modo che siano sempre sincronizzati.Mi sembra molto simile a quello che vuoi fare.

Tuttavia non penso di poter pubblicare il codice esatto che ho scritto.Comunque ti darò una piccola idea di come ho affrontato la questione.

I servizi Web Exchange forniscono API solo in C# (nessuna sorpresa, è Microsoft.Tecnicamente, puoi usare altri linguaggi poiché in realtà è SOAP.).Ho scritto un middleware in C# che esegue la sincronizzazione tra il server Exchange e l'app Rails.Quando gli utenti eseguono la pianificazione nell'app, le modifiche vengono inviate al middleware in modo che le modifiche possano riflettersi nei loro calendari di Outlook.Nel frattempo, il middleware registra gli abbonamenti alle notifiche push per tutti gli utenti: ogni volta che vengono apportate modifiche in Outlook, il middleware verrà immediatamente avvisato, il che a sua volta rifletterà fedelmente tali modifiche anche nell'app.Naturalmente sono supportati anche gli appuntamenti ricorrenti.

Spero che questo ti aiuti.

Dai un'occhiata al progetto REScambio su github.

Per accedere agli appuntamenti, puoi semplicemente accedere alla cartella Calendario su Exchange utilizzando WebDav.Per creare appuntamenti, fare riferimento a RFC2445 per i dettagli.

In seguito al commento di ceejayoz, puoi anche utilizzare ActionMailer per catturare le risposte che vengono rimandate e agire di conseguenza: avrai comunque bisogno di una qualche forma di ID univoco in un luogo che sarà incluso nella risposta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top