Donnerstag, 22. Mai 2025

Meine Kontakte - mein Geburtstagskalender

irgendwann vor ca. einem Jahr begann es: in meiner "Umgebung" verschwanden die Geburtstage im Google Kalender. Offenbar kein Einzelfall, sondern von langer Hand geplant, wie der Artikel  bei Heise zeigt. Der Workaround im Artikel hat damals funktioniert, mittlerweile nicht mehr. Verstanden habe ich die ganze Sache gar nicht - vor allem warum es noch nie eine gute Idee gewesen sein soll, den Geburtstag beim Kontakt zu speichern - ich vermute ja: das ist die Rache von Google am kleinen Mann.

Interessant daran ist: nach einem knappen Jahr taucht der nächste Fall auf und es gibt eine Besonderheit: Mein Geburtstagskalender funktioniert ohne Zutun immer noch, aber die im Artikel gezeigten "verknüpften Dienste" sehen anders aus, bei mir fehlen die Kontakte und Wallet Dienste. Ich bin argwöhnisch und habe alle Haken entfernt, ohne einen Nachteil zu spüren!


Im Oktober 24 erschien ein Beitrag auf Caschys Blog, der bisher nachhaltig funktioniert. Allerdings ist die Anleitung dort etwas kurz geraten. Deswegen meine Ergänzung:

Die Grundlage bildet eine mächtige (aber relativ unbekannte) Entwicklerumgebung von Google. 

Wichtig: man muss als der Google User im Browser angemeldet sein, der das Script dauerhaft verwenden will! Dann landet man automatisch unter dem link script.google.com in seinem privatem Script Workspace. 

Einrichtung

Mit dem Link im o.g. Artikel landet man dann im geteilten Projekt von Neil Gerstenberg. Hier kann man jetzt oben rechts eine persönliche Kopie erstellen und landet in seinem privaten Workspace, im neuen Projekt "Copy of GCal Birthdays".

Ich bevorzuge nicht die gleiche Methode wie im Artikel, sondern ich aktiviere im Konfigurationsabschnitt (in Zeile 27) den eigentlichen Geburtstagskalender.

var useOriginalBirthdayCalendar = true;

Jetzt kann man speichern und anschließend ausführen (vorher berechtigen wie im Artikel bzw. weiter unten beschrieben). Damit man nichts dem Zufall überlässt sollte man im ersten Lauf die dryRunUpdate starten und zuschauen was passieren würde. Hat man alles richtig gemacht, führt man die Funktion updateBirthdays aus und es erscheinen die Einträge im Log und auch wieder im Kalender.

Damit dies auch in Zukunft automatisch aktualisiert wird, wenn neue Kontakte bzw. Geburtstage zu Kontakten hinzugefügt werden, muss man das Script regelmäßig starten. Dies erledigt ein Timer, wir haben immer noch das Projekt "Copy of Birthdays" offen:

  1. links im Menü das Uhrensymbol (Trigger) auswählen
  2. unten rechts Button "trigger hinzufügen"
  3. ich habe den Typ des Triggers auf tagestimer gesetzt (siehe Bild)
  4. speichern (Berechtigung erteilen) und fertig

So sollte es dann aussehen


 Jetzt erledigt das Script einmal am Tag die Aktualisierung der Geburtstagseinträge, ich hoffe, das hält dauerhaft.

Mehr Tiefe

Das Script wurde im letzten Jahr (seit meinem ersten Fall) noch weiterentwickelt! Es gibt jetzt neben der Hauptfunktion updateBirthdays noch folgende Funktionen: deleteEvents, dryRunUpdate, dryRunDelete, showConfiguration .

Berechtigungen erteilen

Sowohl beim ersten "Abarbeiten" des Scripts als auch beim Einrichten des Timers muss man Berechtigungen erteilen. Das läuft über typische Google Popup Menüs ab. 

  1. Zunächst muss man im ersten Fenster das Konto auswählen, mit dem man eigentlich gerade angemeldet ist. 
  2. Im zweiten Fenster hat man beim Script die Auswahl für verschiedene Rechte. Man kann entweder alles auswählen oder sich auf Kontakte und Kalender beschränken. Beim Timer kann man nur die angezeigten Rechte lesen und bestätigen. 


Sicherheit

Ein paar Gedanken zum Vertrauen in diese Lösung: Grundlegend vertraut man ja zunächst mal dem Angebot mit Google Kontakten und Kalendern. Hinzu kommt nun noch die Plattform "Google Apps Script". Der Programmierer Neil Gerstenberg hat den Code für diese Lösung in Google (Java) Script geschrieben und veröffentlicht. Soweit ich den Code überblicke ist da nichts böses enthalten.  ich selbst habe nur diese kleine Anleitung veröffentlicht und habe mit dem Code und der Plattform nichts weiter zu tun.

Einstellung im Kalender

Der Standard Geburtstags Kalender enthält in seinen Einstellungen ganz zum Schluss den gesetzten Haken "Mit Google Kontakten synchronisieren". Den kann man nun eigentlich entfernen, das wäre ja die alte Funktion gewesen, die irgendwer kaputt gemacht hat. 

Zum Lesen

Zum Schluss noch ein paar Links falls man noch mehr wissen will.

Google Apps Script Reference zu Kalender


Keine Kommentare:

Kommentar veröffentlichen