克隆谷歌日历?

克隆谷歌日历?

注意:不一定非要使用 Google 日历。我目前正在使用 Google 日历,但我可以切换到任何允许我使用此功能的服务。

有什么方法可以将一个 Google 日历克隆到另一个 Google 日历并提前 2 天调整所有内容?

例如

一个 Google 日历可能在周三、周四、周五有 3 个全天活动。我希望另一个 Google 日历与前一个日历完全一样,只是 3 个全天活动分别在周一、周二和周三。

此外,这只是一个额外好处,但如果可能的话,每当我对第一个日历进行更改时,更改都会应用于第二个日历,除非再次提前 2 天。不过,这是一个额外好处,所以如果我必须手动按下按钮或为所做的每个更改运行脚本,那对我来说没问题。

我永远不会更改第二个日历,因此单向同步就可以了。

编辑:也许我可以将 Google 日历导出为某种开放文件格式(例如开放文档格式),然后在该文件上运行脚本以将日期提前 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);
 }

相关内容