
Hinweis: Es muss nicht unbedingt Google Kalender sein. Ich verwende derzeit Google Kalender, kann aber zu JEDEM Dienst wechseln, der mir diese Funktion ermöglicht.
Gibt es eine Möglichkeit, einen Google-Kalender in einen anderen Google-Kalender zu klonen und alles 2 Tage im Voraus anzupassen?
Z.B
Ein Google-Kalender enthält möglicherweise drei ganztägige Ereignisse am Mittwoch, Donnerstag und Freitag. Ich möchte, dass ein anderer Google-Kalender eine exakte Kopie des vorherigen Kalenders ist, mit der Ausnahme, dass die drei ganztägigen Ereignisse am Montag, Dienstag und Mittwoch stattfinden.
Dies ist nur ein Bonus, aber wenn möglich, gilt jede Änderung, die ich am ersten Kalender vornehme, auch für den zweiten Kalender, allerdings wieder 2 Tage im Voraus. Dies ist jedoch ein Bonus, also ist es für mich in Ordnung, wenn ich für jede Änderung, die ich vornehme, manuell eine Taste drücken oder ein Skript ausführen muss.
Ich werde nie Änderungen am zweiten Kalender vornehmen, daher ist die Einwegsynchronisierung kein Problem.
Bearbeiten: Vielleicht kann ich den Google-Kalender in eine Art offenes Dateiformat wie das Open Document Format exportieren und ein Skript auf der Datei ausführen, um die Tage im Voraus um zwei Tage zu verschieben?
Antwort1
Wenn Sie programmieren können, können Sie dies ganz einfach mit PHP tun. Die Google Calendar API ermöglicht vollständigen Zugriff auf den Kalender. Sobald das Skript geschrieben ist, müssen Sie nur die PHP-Webseite starten, auf eine Schaltfläche klicken und es kann dies für den gesamten Kalender tun.
DIES IST NUR DIE GRUNDLAGE UND KEIN KOMPLETTES PROGRAMM
$room="named of master calendar"
$room2="destination calendar"
$calList = $cal->calendarList->listCalendarList();
foreach ( $calList["items"] as $stuff) {
if (strcasecmp($stuff["summary"],$room1)==0) {
$calendar1=$stuff["id"];
$found=1;
break;}
}
foreach ( $calList["items"] as $stuff) {
if (strcasecmp($stuff["summary"],$room2)==0) {
$calendar2=$stuff["id"];
$found=1;
break;}
}
$existEvents = $cal->events->listEvents($calendar1["id"]);
foreach ($existEvents["items"] as $item)
{
**TODO: this part incomplete!**
The individual parts would have to be copied from $items to a new Google_Event
add 2 for the start and end dates.
$createdEvent = $cal->events->insert($calendar2["id"], $event);
}