我的网站为用户提供了提供他们自己的gcal feed网址的功能,我使用完整日历显示该网址以及他们创建的活动
calendarUrl = "link to public calendar url"
$('#calendar').fullCalendar({
eventSources: [
{
url: calendarUrl
},
{
url: "/user-events"
}
]
});
现在这当然行不通。这现在需要一个googleCalendarApiKey。我不希望不精通技术的用户使用Google开发人员控制台创建项目并提供API密钥。另外,如何显示公共日历(如美国假期(中的事件。如何获取该日历的 API 密钥。
似乎应该有一种方法可以在没有 API 密钥的情况下显示来自公共谷歌日历的事件。
以下是对我有用的方法:
eventSource = {
googleCalendarApiKey:'xxx',
url: 'https://www.googleapis.com/calendar/v3/calendars/usa__en%40holiday.calendar.google.com/events?key=xxx',
className: 'gcal-event', // an option!
currentTimezone: 'America/Chicago' // an option!
}
在如何使用 Google 日历 API v3 服务定义要连接到哪个日历中找到答案
您需要自己的密钥来显示任何公共日历 - 而不是他们的密钥!我发现服务器应用程序的密钥对我有用,而不是浏览器的密钥。
$('#calendar').fullCalendar({
googleCalendarApiKey: "<key for server apps>",
eventSources: [
{
googleCalendarId: "email of public calendar"
}
]
});