是否有办法使用fullcalendar插件与公共谷歌日历,只显示繁忙/空闲时间?
这个想法不仅仅是显示空闲/繁忙时间,而是真正使用一个只显示繁忙和空闲时间的日历。
谢谢!
Fullcalendar使用Google Calendar的XML感觉来创建事件。由于Google Calendar中的"公共但只显示繁忙/空闲时间"选项没有创建包含足够信息的XML提要,因此fullcalendar无法正确读取它。所以答案是:不。
然而,还有其他方法可以做到这一点。以下是我所做的(它很有魅力)。使用Google Cal,您可以共享公共XML提要,但也可以获得自己的私有XML提要。使用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中创建事件。
希望能对大家有所帮助。