Entwickeln einer App, in der Bewerber Interviews mit unseren Teammitgliedern über einen Drittanbieter-Service planen. In regelmäßigen Abständen führen wir API-Aufrufe für die letzten Änderungen durch, erstellen eine ICS-Datei und senden diese Datei per E-Mail an unser Teammitglied, damit sie es in ihrem Google Kalender speichern kann.Google Kalender ignoriert die ICS-UID bei Verwendung des Links "Zum Kalender hinzufügen"
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Google Inc//Google Calendar 70.9054//EN CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20171001T180000Z DTEND:20171001T190000Z SUMMARY:Sample Event UID:[email protected] DTSTAMP:20171001T023000Z ORGANIZER:[email protected] SEQUENCE:0 END:VEVENT END:VCALENDAR
Das Problem, das ich habe, ist, dass, wenn das Teammitglied klickt auf „Add to Calendar“ -Link, dass Google Mail-generiert. Es ignoriert die von mir generierte UID [email protected] und erstellt eine eigene UID: [email protected].
Aus diesem Grund ist die UID, wenn Aktualisierungen an dem Ereignis vorgenommen werden, nicht die gleiche wie Google speichert, daher erstellt es ein ganz neues Ereignis, anstatt das vorhandene Ereignis zu aktualisieren. Im Beispiel unterhalb der Veranstaltung wurde vor 1 Stunde bewegt:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Google Inc//Google Calendar 70.9054//EN CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20171001T190000Z DTEND:20171001T200000Z SUMMARY:Sample Event UID:[email protected] DTSTAMP:20171001T023224Z ORGANIZER:nore[email protected] SEQUENCE:1 END:VEVENT END:VCALENDAR
So, jetzt gibt es zwei Ereignisse für das gleiche Interview mit zwei verschiedenen [email protected] UIDs.
Ich habe festgestellt, dass, wenn ich die ICS-Datei direkt importiere, anstatt den Link "Zum Kalender hinzufügen" zu verwenden, dann wird die UID wie ursprünglich erstellt beibehalten und das Aktualisieren/Abbrechen funktioniert wie erwartet. Da das Importieren von Ereignissen in Google Kalender nicht der einfachste Workflow und die große Anzahl von Ereignissen ist, die wir erwarten, hoffe ich, die Methode "Zum Kalender hinzufügen" beizubehalten.
Irgendwelche Vorschläge, was ich hier falsch mache?