我想混合自己的活动,并从谷歌日历中检索特定国家/地区的假期。我有我的API密钥等.. 我从ajax调用中获取数据,并将我的事件构建为
my_events.push({title:name,
start: moment(date_begin),
end:moment(date_end)
});
完美无缺。现在我想要假期。在github中完整日历的演示中,我看到以下代码:
googleCalendarApiKey: 'xxx',
// US Holidays
events: 'usa__en@holiday.calendar.google.com',
它有效(当然是用我自己的钥匙)。
但现在,我无法理解如何看待my_events和假期。 我试过my_events.push({' usa__en@holiday.calendar.google.com'}) 不起作用。
我该怎么做?
另一个问题是,我不在美国,我想让欧洲国家度假。有人知道法国,意大利等地区是否有相似的地址?我试过fr,fra__fr,it,ita__it等但总是得到一个" notFound"
感谢任何指针和解释
答案 0 :(得分:0)
您可以使用fullcalendar添加多个事件源 - 拥有您的事件源,然后为假日日历添加一个
以下是代码的小提琴(您必须拥有API密钥!)https://jsfiddle.net/5x2dL5Ls/
/* Modified from http://fullcalendar.io/js/fullcalendar-2.6.0/demos/gcal.html */
$('#calendar').fullCalendar({
// THIS KEY WON'T WORK IN PRODUCTION!!!
// To make your own Google API key, follow the directions here:
// http://fullcalendar.io/docs/google_calendar/
googleCalendarApiKey: 'PUT_YOUR_API_KEY_HERE',
/* For demo purposes, our hard-coded event source information */
defaultDay: '2016-02-01',
events: [{
title: 'This is a non-google-holiday event',
start: '2016-02-16',
end: '2016-02-20'
}],
/* For demo purposes */
eventClick: function(event) {
// opens events in a popup window
window.open(event.url, 'gcalevent', 'width=700,height=600');
return false;
},
loading: function(bool) {
$('#loading').toggle(bool);
}
});
$('#addSource').click(function() {
var source = $('#holidayCalendar').val();
// $('#calendar').fullCalendar('removeEventSource', source);
$('#calendar').fullCalendar('addEventSource', source);
});
$('#removeSource').click(function() {
var source = $('#holidayCalendar').val();
$('#calendar').fullCalendar('removeEventSource', source);
});
我没有找到完整的假日来源列表的好文档,所以我通过从"浏览有趣的日历" Calendar.google.com上的链接看起来像这样
[/* ... */, {
"title":"Holidays in United States",
"type":"calendar",
"did":"ZW4udXNhI2hvbGlkYXlAZ3JvdXAudi5jYWxlbmRhci5nb29nbGUuY29t",
"country":"US"
}, /* ... */]
然后追加" "从该数据到这个网址,例如美国假期
并抓取该页面的" cids":{" the_creator_is_in_here":并解压缩... Hackish,但得到了日历列表。
对于语言,您可以尝试更改' en。'到另一种语言前缀。
例如"日本假期"可以用英语或日语呈现: