Frage

Ich erstelle ICalendar-Dateien (.ics).

Mit den Feldern UID und SEQUENCE kann ich bestehende Ereignisse in Google Kalender und im Windows-Kalender aktualisieren ABER NICHT in MS Outlook 2007 – es wird lediglich ein zweites Ereignis erstellt

Wie bringe ich sie dazu, für Outlook zu funktionieren?

Danke

Tom

War es hilfreich?

Lösung

Ich habe weiterhin einige Tests durchgeführt und es nun geschafft, Outlook dazu zu bringen, Ereignisse basierend auf der CS-Datei zu aktualisieren und abzubrechen.

Outlook scheint tatsächlich auf die in definierten Regeln zu reagieren RFC 2446

Zusammenfassend muss man angeben

METHOD:REQUEST Und ORGANIZER:xxxxxxxx

zusätzlich zu UID:Und SEQUENCE:

Für eine Stornierung müssen Sie angeben METHOD:CANCEL

Beispiel für Anforderung/Aktualisierung

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:5
DTSTAMP:20081106T154911Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
DTEND:20081115T170000
SUMMARY:TestTraining
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

Beispiel für Abbrechen;

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:CANCEL
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:7
DTSTAMP:20081106T154916Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
SUMMARY:TestTraining
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR

Andere Tipps

Ich habe Tom Carter erreicht, den Fragesteller.Er hatte ein funktionierendes Beispiel mit einer Anfrage, gefolgt von einer Stornierung.Was ich falsch gemacht habe, war, dass sich meine METHODE in meinem VEVENT befand, obwohl sie draußen hätte sein sollen.Hier ist also ein funktionierendes Update!

Original:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Aktualisieren:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR

Ich habe lediglich die Anforderungsmethode (an der richtigen Stelle!) und einen Organizer hinzugefügt.

Ich verwende Outlook 2003 (nach dem Lesen der Beiträge scheint sich 2007 genauso zu verhalten) und Sie müssen klar zwischen dem Verhalten des expliziten Dateiimports einer ICS-Datei und dem impliziten Import unterscheiden, wenn auf eine ICS-Datei doppelgeklickt wird '.

Im Outlook-Menü Datei / Importieren und Exportieren ...Outlook lädt so viele VEVENT-Einträge, wie in der Datei vorhanden sind, ohne dass UID:, SEQUENCE: geändert werden müssen.oder DTSTAMP:Werte ändern dies, d. h. wenn Sie Daten ändern und erneut importieren, erhalten Sie lediglich einen doppelten Satz von Einträgen.

Wenn Sie auf eine ICS-Datei doppelklicken, wird nur der erste VEVENT-Eintrag verarbeitet.Es erkennt jedoch die UID und, wenn der DTSTAMP:später liegt (die SEQUENZ kann gleich, aber nicht niedriger sein), werden Sie dazu aufgefordert und das Ereignis wird in Ihrem Kalender aktualisiert.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:www.membership-services.net
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20090126T210000
DTEND:20090126T220000
SUMMARY:Avondale - Thameside Away Game vs Croydon
LOCATION:Whitgift School
DESCRIPTION:http://maps.google.co.uk/maps?f=q&hl=en&geocode=&q=CR2+6YT 
UID:AWPC_8
SEQUENCE:0
DTSTAMP:20090123T112600
END:VEVENT
BEGIN:VEVENT
DTSTART:20090202T213000
DTEND:20090202T223000
SUMMARY:Avondale - Thameside Home Game vs Orcas
LOCATION:Putney
DESCRIPTION:http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&ie=UTF8&ll=51.4635,-0.2285&spn=0.005,0.009613&t=h&z=17&iwloc=lyrftr:w2t.90,0x48760f04a04b1801:0x49ebf12503a5d5a9,51.463459,-0.228674 
UID:AWPC_10
SEQUENCE:0
DTSTAMP:20090123T112600
END:VEVENT
END:VCALENDAR

Fügen Sie dies Ihrer ICS-Datei hinzu

X-WR-RELCALID:MyCal123   

Dabei ist MyCal123 eine eindeutige Kennung für Ihren Kalender.

Durch das Hinzufügen dieser Zeile zu einer ICS-Datei wird der gesamte Kalender aktualisiert (nach einer Eingabeaufforderung in Outlook).Sie müssen nicht einmal den DTSTAMP, die SEQUENCE oder den ORGANIZER ändern, und METHOD:PUBLISH ist für das Update in Ordnung.Aktualisieren Sie einfach die Veranstaltungsdetails, doppelklicken Sie auf das ICS und der Kalender wird aktualisiert.Beachten Sie, dass dies auch gut funktioniert, wenn Sie den Kalender veröffentlicht und eine URL angegeben haben, damit andere ihn anzeigen können.Sie müssen nur nach etwa 2 Minuten auf „Aktualisieren“ klicken und erhalten dann auch das Update.

Vielen Dank an David Bjørnhart für den Hinweis: Der ICal-Import erstellt beim Öffnen der ICS-Datei einen neuen Kalender

Ich verwende Entourage, daher stimmt dies möglicherweise nicht genau mit dem Verhalten überein, das Sie sehen, aber ich hoffe, es hilft.

Wenn Sie den iCalendar aus Ihrer Antwort verwenden, importiert Entourage die Daten nicht einmal.Mithilfe einer nachweislich funktionierenden Datei konnte ich sie importieren und dann erfolgreich aktualisieren.Beim Vergleich der beiden Dateien sind die einzigen strukturellen Unterschiede wie folgt:

  • Mein Bekanntermaßen-Gut hat kein VERSION Element
  • Mein Bekanntermaßen-Gut hat kein PRODID Element
  • Mein Bekanntermaßen-Gut hat kein STATUS Element
  • Mein Bekanntermaßen-Gut hat kein SEQUENCE Element

Da Microsofts Unterstützung für offene Standards tendenziell hinterherhinkt, würde ich vorschlagen, es ohne zu versuchen VERSION die Info.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top