Fehlerbehebung beim Import von .ics Datei in den Google Calendar Hauptkalender

Google Calender ist praktisch zur Synchronisation von Kalendern über verschiedene Plattformen. Und selbst Google Skeptiker werden vermutlich, wenn sie ein Android Handy haben, den Google Kalender benutzen. Der Import von exportierten Kalender-Sicherheitskopien in den Hauptkalender kann allerdings mit Problemen verbunden sein. Hier eine Lösung dafür.

Das Problem in einfachen Worten: Wer komplizierte Kalendersynchronisierungen konfigurieren will, kennt die Gefahr. Zuerst funktioniert die Synchronisierung gar nicht… und schliesslich tut sie – aber alle Termine sind plötzlich doppelt vorhanden. Entsprechend sollte man die Möglichkeit nutzen, vor solchen Experimenten den aktuellen Google Kalender zu sichern. Dies lässt sich einfach über einen Export des Kalenders machen.

Die böse Überraschung kommt dann allenfalls, nachdem die neue Konfiguration wirklich nicht geklappt hat – entweder alle Einträge gelöscht oder verdoppelt sind oder sonst ein Durcheinander herrscht. „Ich habe ja vorgesorgt“, denkt man sich. Und löscht den Google Kalender resp. seinen Inhalt (Hauptkalender können nicht gelöscht werden). Dann versucht man die vorher exportierte .ics Sicherheitsdatei zu importieren. Und jetzt kommen die Schweisstropfen:

„Failed to import events: Could not upload your events because you do not have sufficient access on the target calendar“

heisst es plötzlich, oder auf deutsch

„Termine konnten nicht importiert werden: Ihre Termine konnten nicht hochgeladen werden, da Sie nicht über die nötigen Zugriffsrechte auf den Zielkalender verfügen.“

Sonderbar… Man ist ja als Eigentümer des Google Calenders eingeloggt! Wie kann es da Berechtigungsprobleme geben?! Sonderbar ist auch: Der Import der Sicherungsdatei in einen neu erstellten neuen Kalender funktioniert tadellos. Nur nützt das nichts. Denn viele Synchronisationsprogramme können nur auf den Hauptkalender zugreifen.

Eine Google Suche ergab: Die Fehlermeldung ist schlicht falsch. Korrekterweise müsste sie etwa so lauten:

„Failed to import events: Duplicate Event-UIDs in this .ics file“
„Termine konnten nicht importiert werden: Ihre Kalenderdatei (.ics) enthält unterschiedliche Termine mit der gleichen Event-UID.“

Offenbar löscht Google die alten Termine nicht wirklich oder zumindest sind die UIDs für diesen Kalender irgendwie noch „reserviert“. Die Lösung für dieses Problem ist zum Glück simpel. Wir müssen kein Skript schreiben zur Erzeugung neuer, einmaliger und zufälliger UIDs, sondern wir können auch einfach eine Kopie der .ics Datei machen, dort alle Zeilen mit der UID löschen und danach die kopierte Datei hochladen (Achtung: Bei meinem Kalender war die UID zum Teil auf zwei Zeilen verteilt, wobei die zweite Zeile immer mit einem Leerschlag begann. Nur die Textpad-Anweisung unten zeigt, wie man auch diese Zeilen löscht). Google Calendar weist dann den Terminen neue UIDs zu.

Credits: Diese Lösung habe ich hier gefunden.

Zusatzinfo: Wie lösche ich alle UID-Zeilen (Notepad++)

Hier die Lösung mit Notepad++ (nicht selbst probiert, hier gefunden)
1) Installiere notepad++ (http://notepad-plus-plus.org/).
2) Öffne die Backup .ics Datei (Sicherungskopie des alten Kalenders)
3) Mache die folgenden Schritte:
—– menu – „Search“
———- Wähle „Find“
————— Klicke „Mark“
——————– Suche nach UID
——————– Häkchen bei „Bookmark line“
——————– Drücke „Mark All“ –> Alle Zeilen die gelöscht werden müssen werden gebookmarkt
—– menu – „Search“
———- wähle „Bookmark“
————— Klicke „Remove Bookmarked lines“ –> Alle Zeilen, die „UID“ enthalten, werden gelöscht

4) Sichere die geänderte Datei unter einem neuen Namen
5) Importierte die geänderte .ics Datei in den Google Kalender

Zusatzinfo: Wie lösche ich alle UID-Zeilen (Textpad)

  1. Installiere Textpad (http://www.textpad.com)
  2. Öffne die Backup .ics Datei (Sicherungskopie des alten Kalenders)
  3. Suche alle Zeilen mit „UID“ und markiere sie mit „Mark All“ (erster Screenshot unten)
  4. Lösche alle markierten Zeilen (Menu Search > Clear all Bookmarks)
  5. Suche und lösche alle Zeilen, die mit einem Leerschlag beginnen und danach eine Hexadezimale ID haben (zweiter Screenshot unten)
  6. Speichere die geänderte Datei unter einem neuen Namen
  7. Importiere die geänderte .ics Datei in den Google Kalender

Suche aller Zeilen mit „UID:“

 

blogpost_screenshot_textpad_finduid

Ersetzen von Zeilen mit Leerschlag und hexadezimaler ID:

 

blogpost_screenshot_textpad_deleteuidrest