
Nota: no es necesario que sea el calendario de Google. Actualmente estoy usando el calendario de Google, pero podré cambiar a CUALQUIER servicio que me permita realizar esta funcionalidad.
¿Hay alguna manera de poder clonar un calendario de Google en otro calendario de Google y ajustar todo con 2 días de anticipación?
P.ej
Un calendario de Google puede tener 3 eventos que duran todo el día: miércoles, jueves y viernes. Quiero que otro calendario de Google sea un clon exacto del calendario anterior, excepto que los 3 eventos de todo el día son los lunes, martes y miércoles.
Además, esto es solo una ventaja, pero si es posible, cada vez que hago un cambio en el primer calendario, el cambio se aplica al segundo calendario, excepto una vez más, con 2 días de anticipación. Sin embargo, esto es una ventaja, así que si tengo que presionar manualmente un botón o ejecutar un script para cada cambio que hago, está bien para mí.
Nunca haré cambios en el segundo calendario, por lo que la sincronización unidireccional está bien.
Editar: ¿tal vez pueda exportar el calendario de Google a algún tipo de formato de archivo abierto, como el formato de documento abierto, y ejecutar un script en el archivo para cambiar los días con 2 días de anticipación?
Respuesta1
Si supieras programar, podrías hacerlo fácilmente con php. La API de Google Calendar permite acceso completo al calendario. Una vez escrito el script, solo tendría que iniciar la página web php, hacer clic en un botón y podría hacerlo para todo el calendario.
ESTE ES SÓLO EL ESQUEMA BÁSICO Y NO UN PROGRAMA COMPLETO
$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);
}