这已被问过很多次,但我找不到任何对我有用的答案。我按照完整日历网站上的所有步骤操作,但这也不起作用。我可以看到日历,但没有事件。我已将代码写入一个名为“addCalendarEvents.js”的单独javascript文件中
这是我得到的代码和错误。
HTML:
<link href="https://fonts.googleapis.com/css?family=Open+Sans:200,300,400" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel='stylesheet' href='fullcalendar/fullcalendar.css' />
<script src='jquery-3.1.1.min.js'></script>
<script src='fullcalendar/lib/jquery.min.js'></script>
<script src='fullcalendar/lib/moment.min.js'></script>
<script src='fullcalendar/fullcalendar.js'></script>
<script type='text/javascript' src='fullcalendar/gcal.js'></script>
<script src='addCalendarEvent.js' type='text/javascript'></script>
使用Javascript:
$(document).ready(function() {
console.log('..');
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
googleCalendarApiKey: 'AIzaSyAV4rl5GymKTDcHd44U7k48GgGQoeKzsuI',
eventSources: [{
googleCalendarApiKey: 'AIzaSyAV4rl5GymKTDcHd44U7k48GgGQoeKzsuI',
googleCalendarId: 'vesit.network17@gmail.com',
className: 'fc-event-email'
}]
});
});
我完全失去了。任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
您指定的googleCalendarId ...@gmail.com
的值看起来不像是有效的日历ID。这应该是属于所需日历存在的Google帐户的电子邮件地址。你有什么特别的想法吗? - 由于在一个人的Google帐户中可以有多个日历(例如,在不同的主题上),因此自然需要特定的日历ID!有关谷歌帐户的任何信息都与公开制作的日历概念无关,对吧?!公开访问的日历就像是附在gmail帐户上的气球。它们在空中飞得很高,每个人都可以使用。此类气球标有googleCalendarIds。
更准确地说,@group.calendar.google.com
应该是最广泛使用的日历ID的最后一部分。您可以在左侧“我的日历”下的Google日历界面中找到日历ID。然后在“日历设置”下。应该确保日历已公开,以便fullCalendar.js可以请求日历数据。
fullCalendar documentation chapter on Google Calendar提供了有关googleCalendarId的详细信息以及在Google日历界面中的位置。同样,来自下载的fullCalendar zip文件的demos文件夹中的gcal.html
示例的源代码提供了一个很好的基本示例。
旁注:如果您只需要参考一个日历,可以使用
简化代码googleCalendarApiKey: '......yourAPI-key......',
events: {
googleCalendarId: '......@group.calendar.google.com'
}
您使用eventSources有什么特别的原因,包括语句className'fc-event-email'?这似乎使事情变得复杂。我不知道这种方法,但对于您在问题中描述的任务,它已经比平常更多的代码了。要将正常的Google Calendar API集成到fullCalendar中,上述更改是您问题的一种可能解决方案。希望,快乐的日历气球飞行,先生!