有没有办法将fullcalendar用于只显示忙/闲时间的公共Google日历?

时间:2011-10-20 14:28:20

标签: jquery fullcalendar google-api google-calendar-api

有没有办法将fullcalendar插件与只显示忙/闲时间的公开Goog​​le日历一起使用?

这个想法不仅仅是显示空闲/忙碌时间,而且真正适用于只显示忙碌和空闲时间的日历。

谢谢!

1 个答案:

答案 0 :(得分:5)

Fullcalendar使用Google日历的XML感觉来创建活动。在Google日历中看到“公开但只显示忙/空闲时间”选项不会创建包含足够信息的XML Feed,fullcalendar无法正确读取。所以答案是:不。

但是,还有其他方法可以做到这一点。这就是我所做的(它有魅力)。 使用Google Cal,您可以共享公共XML Feed,但您也可以获得自己的私有XML Feed。使用PHP,我使用非常直观和简单的Coreylib库来解析XML。然后我把想要的信息(startTime和endTime)放在一个数组中。然后在初始化fullcalendar以创建自定义事件时使用此数组。

我发布了PHP位,因为我真的很难让语法正确地从clApi对象获取数据。

// Feed can be grabbed from Google Cal settings -> get private feed, and change the "basic" to "full" at the end of the URL
$XMLfeed = "https://feed";

// Coreylib is used to parse the google cal XML
require_once('coreylib.php');

$api = new clApi($XMLfeed);
$feed = $api->parse();

foreach( $feed->get('entry') as $entry) {
  $start = $entry->get('when@startTime');
  $end = $entry->get('when@endTime');
  $allEvents[] = array('startTime'->$start, 'endTime'->$end);
}

然后我循环使用$ allEvents在JS init中创建事件。

希望这可以帮助某人。