Примечание: это не обязательно должен быть календарь Google. В настоящее время я использую календарь Google, но я смогу переключиться на ЛЮБОЙ сервис, который позволит мне выполнять эту функцию.

Можно ли как-то клонировать календарь Google в другой календарь Google и настроить все за 2 дня?

Например

В одном календаре Google может быть 3 события на весь день в среду, четверг и пятницу. Я хочу, чтобы другой календарь Google был точным клоном предыдущего календаря, за исключением трех событий на весь день: понедельник, вторник и среда.

Кроме того, это всего лишь бонус, но, если возможно, всякий раз, когда я изменяю первый календарь, изменения применяются ко второму календарю, за исключением еще раз, за 2 дня. Это бонус, поэтому, если мне придется вручную нажимать кнопку или запускать скрипт для каждого внесенного мной изменения, это меня устраивает.

Я никогда не буду вносить изменения во второй календарь, поэтому односторонняя синхронизация хороша.

Редактировать: может быть, я могу экспортировать календарь Google в какой-нибудь открытый формат файла, такой как Open Document Format, и запустить сценарий для файла, чтобы сдвинуть дни на 2 дня вперед?

1 ответ1

1

Если бы вы знали, как программировать, вы могли бы сделать это легко с php. Google Calendar 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);
 }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .