Google日历API将日期、时间和事件名称返回到Javascript
用谷歌的日历API把我的头撞在墙上。我的日历是公开的,地址为:Google日历API将日期、时间和事件名称返回到Javascript,javascript,jquery,calendar,google-api,google-calendar-api,Javascript,Jquery,Calendar,Google Api,Google Calendar Api,用谷歌的日历API把我的头撞在墙上。我的日历是公开的,地址为: 9p79sl2a31qgqfvjkfkupdbf8o@group.calendar.google.com 我想访问未来10个最近的事件,并将它们的日期、时间和事件名称放到我的页面上。我正试图通过以下方式访问此文件: var url = 'http://www.google.com/calendar/feeds/9p79sl2a31qgqfvjkfkupdbf8o@group.calendar.google.com/public
9p79sl2a31qgqfvjkfkupdbf8o@group.calendar.google.com
我想访问未来10个最近的事件,并将它们的日期、时间和事件名称放到我的页面上。我正试图通过以下方式访问此文件:
var url = 'http://www.google.com/calendar/feeds/9p79sl2a31qgqfvjkfkupdbf8o@group.calendar.google.com/public/full?orderby=starttime&sortorder=ascending&max-results=10&futureevents=true&alt=json'
$.get(url, function(data){
console.log(data);
});
这可以正确地访问我的日历数据,但由于某些奇怪的原因,我无法访问事件的日期和时间,只能访问事件名称
有人能解释一下吗?日历共享设置是完全公开的。您需要调用其他端点。我成功地打了一个电话,并得到了列表(包括事件名称、日期和许多其他细节) 例如:
{
"kind": "calendar#event",
"etag": "\"2814404343670000\"",
"id": "bpgo6gtet1ao8j73kn770e6r20",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=YnBnbzZndGV0MWFvOGo3M2tuNzcwZTZyMjAgOXA3OXNsMmEzMXFncWZ2amtma3VwZGJmOG9AZw",
"created": "2014-08-04T06:25:51.000Z",
"updated": "2014-08-05T01:29:31.835Z",
"summary": "Startup leadership women",
"creator": {
"email": "qceventscalendar@gmail.com",
"displayName": "Sean Qian"
},
"organizer": {
"email": "9p79sl2a31qgqfvjkfkupdbf8o@group.calendar.google.com",
"displayName": "Queens Collective Events",
"self": true
},
"start": {
"dateTime": "2014-08-05T18:00:00+10:00"
},
"end": {
"dateTime": "2014-08-05T21:00:00+10:00"
},
"iCalUID": "bpgo6gtet1ao8j73kn770e6r20@google.com",
"sequence": 0,
"reminders": {
"useDefault": true
}
} ...
要进行调用,请使用以下端点:
GET https://www.googleapis.com/calendar/v3/calendars/9p79sl2a31qgqfvjkfkupdbf8o%40group.calendar.google.com/events?key={YOUR_API_KEY}
将GET url传递到AJAX调用中(显然是用实际键切换API_键)。您可以从以下位置获取api密钥: 如果您没有设置API帐户,我会创建一个,并使用Google日历API。这将使您的生活更加轻松。请记住,您可能需要将测试服务器(localhost?)添加到Google的API设置中,以便调用成功返回
如果您需要帮助,请告诉我,我最近一直在使用Cal API…太棒了!谢谢你,伙计,非常感谢。快速跟进,在我最初的查询中,我以后会以升序返回10个结果。在你的查询中,这些参数不再工作,它只会以任何顺序返回所有事件。看不到有关限制结果的任何信息在API参考上,有什么想法吗?是的,您需要传递一个参数orderBy:starttime以及singleEvents=true。查看此页面:
https://www.googleapis.com/calendar/v3/calendars/9p79sl2a31qgqfvjkfkupdbf8o%40group.calendar.google.com/events?orderBy=startTime&singleEvents=true&key={你的API密钥}
如果出于某种原因,这种方法不起作用,尽管您的回退选项是编写一个函数,该函数将根据需要对结果进行排序。这可以根据您的需要进行微调。如果您采用这种方法,您可能需要使用日期分析器来比较返回的不同日历事件的日期戳。