【发布时间】:2016-03-10 15:14:17
【问题描述】:
我已经公开了我的谷歌日历,我正在尝试使用ics 文件,但我遇到了XMLHttpRequest 的问题
到目前为止我已经尝试过:
如果我使用我的 googleCalendarId 和 googleCalendarApiKey,它就可以工作:
$('#calendar').fullCalendar({
googleCalendarApiKey: '*************myApiKey**************',
events: {
googleCalendarId: 'chris.beckett@schoolspider.co.uk'
},
eventClick: function(event) {
console.log(event.start);
console.log(event.end);
return false;
},
loading: function(bool) {
$('#loading').toggle(bool);
}
});
然后当我尝试像这样使用实际的 ics 文件时:
$('#calendar').fullCalendar({
events: {
url: 'https://calendar.google.com/calendar/ical/chris.beckett%40schoolspider.co.uk/public/basic.ics'
},
eventClick: function(event) {
console.log(event.start);
console.log(event.end);
return false;
},
loading: function(bool) {
$('#loading').toggle(bool);
}
});
它在控制台日志中显示以下错误:
XMLHttpRequest 无法加载 https://calendar.google.com/calendar/ical/chris.beckett%40schoolspider.co.uk/public/basic.ics。 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://127.0.0.1:8887” 访问。
我也尝试过以下设置:
//htaccess file
Header set Access-Control-Allow-Origin "*"
//php
header("Access-Control-Allow-Origin: *");
//xhr
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
【问题讨论】:
-
@MarioLevrero - 你知道为什么这对我不起作用吗?
-
抱歉,更新了链接。我认为您需要进行身份验证。 developers.google.com/api-client-library/javascript/features/…
标签: javascript fullcalendar google-calendar-api icalendar gcal