Klonowanie kalendarza Google? [Zamknięte]

0

Uwaga: nie musi to być kalendarz Google. Obecnie używam kalendarza Google, ale będę mógł przejść do DOWOLNEJ usługi, która pozwoli mi korzystać z tej funkcji.

Czy mogę w jakiś sposób sklonować kalendarz Google do innego kalendarza Google i dostosować wszystko z 2-dniowym wyprzedzeniem?

Na przykład

Jeden kalendarz Google może zawierać 3 całodzienne wydarzenia w środę, czwartek i piątek. Chcę, aby inny kalendarz Google był dokładnym klonem poprzedniego kalendarza, z wyjątkiem 3 całodniowych wydarzeń odbywających się w poniedziałek, wtorek i środę.

Jest to również premia, ale jeśli to możliwe, za każdym razem, gdy dokonam zmiany w pierwszym kalendarzu, zmiana dotyczy drugiego kalendarza, chyba że ponownie, z 2-dniowym wyprzedzeniem. Jest to jednak bonus, więc jeśli muszę ręcznie nacisnąć przycisk lub uruchomić skrypt dla każdej wprowadzonej zmiany, nie mam nic przeciwko.

Nigdy nie wprowadzę zmian w drugim kalendarzu, więc synchronizacja w jedną stronę jest w porządku.

Edycja: może uda mi się wyeksportować kalendarz Google do jakiegoś formatu otwartego pliku, takiego jak format otwartego dokumentu i uruchomić skrypt na pliku, aby przesunąć dni o 2 dni wcześniej?

użytkownik260132
źródło
Czy znasz jakieś języki programowania, takie jak php, perl lub java?
cybernard
Należą do aplikacji internetowych, ale użytkownik ciasteczka rzadko podąża za nimi
losowo

Odpowiedzi:

1

Jeśli wiedziałeś, jak programować, możesz to łatwo zrobić za pomocą php. Interfejs API Kalendarza Google umożliwia pełny dostęp do kalendarza. Po napisaniu skryptu wystarczy uruchomić stronę php, kliknąć przycisk i można to zrobić dla całego kalendarza.

TO TYLKO PODSTAWOWY ZARYS, A NIE KOMPLETNY PROGRAM

$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);
 }
cybernard
źródło