
참고: Google 캘린더일 필요는 없습니다. 현재 Google 캘린더를 사용하고 있지만 이 기능을 사용할 수 있는 모든 서비스로 전환할 수 있습니다.
Google 캘린더를 다른 Google 캘린더에 복제하고 2일 전에 모든 것을 미리 조정할 수 있는 방법이 있나요?
예:
하나의 Google 캘린더에는 수요일, 목요일, 금요일에 3개의 종일 일정이 있을 수 있습니다. 3개의 종일 행사가 월요일, 화요일, 수요일에 있다는 점을 제외하고 다른 Google 캘린더가 이전 캘린더의 정확한 복제본이 되기를 원합니다.
그리고 이건 그냥 보너스인데 가능하다면 첫 번째 달력을 변경할 때마다 2일 전에 다시 한 번만 제외하고 두 번째 달력에도 변경 사항이 적용됩니다. 하지만 이는 보너스이므로 변경 사항이 있을 때마다 수동으로 버튼을 누르거나 스크립트를 실행해야 한다면 괜찮습니다.
두 번째 캘린더는 절대 변경하지 않을 것이므로 단방향 동기화는 괜찮습니다.
편집: Google 캘린더를 Open Document Format과 같은 일종의 개방형 파일 형식으로 내보내고 파일에서 스크립트를 실행하여 날짜를 2일 전에 이동할 수 있을까요?
답변1
프로그래밍 방법을 알고 있다면 PHP로 쉽게 할 수 있습니다. Google 캘린더 API는 캘린더에 대한 전체 액세스를 허용합니다. 스크립트가 작성되면 PHP 웹 페이지를 시작하고 버튼을 클릭하기만 하면 전체 달력에 대해 해당 작업을 수행할 수 있습니다.
이것은 단지 기본 개요일 뿐이며 완전한 프로그램은 아닙니다.
$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);
}