是否可以将fullcalendar与仅显示忙/闲时间的公共Google日历一起使用?

Eri*_*ord 0 jquery google-calendar-api google-api fullcalendar

有没有办法将fullcalendar插件与仅显示忙/闲时间的公共Google日历一起使用?

这个想法不仅是只显示忙/闲时间,而且实际上是与只显示忙/闲时间的日历一起工作。

谢谢!

Eri*_*ord 5

Fullcalendar使用Google日历的XML感觉来创建事件。在Google日历中被视为“公开但仅显示忙/闲时间”选项不能创建具有足够信息的XML Feed,fullcalendar无法正确读取它。答案是:不会。

但是,还有其他方法可以做到这一点。这就是我所做的(而且很有魅力)。使用Google Cal,您可以共享公共XML提要,但也可以获取自己的私有XML提要。使用PHP,我使用了非常直观,简单的Coreylib库来解析XML。然后,我将所需的信息(startTime和endTime)放入数组中。然后在初始化全日历以创建自定义事件时使用此数组。

我之所以发布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);
}
Run Code Online (Sandbox Code Playgroud)

然后,我遍历$ allEvents以在JS init中创建事件。

希望这可以帮助某人。