Google 日历 API 将日期、时间和事件名称返回给 Javascript

Google Calendar API return date, time and event name to Javascript

本文关键字:事件 返回 Javascript 时间 API 日历 日期 Google      更新时间:2023-09-26

用谷歌的日历API把我的头撞在墙上。我的日历是公开的,地址为:

 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_KEY)。
您可以从以下位置获取 api 密钥: https://console.developers.google.com

如果您没有设置API帐户,我会创建一个,并使用Google日历API。它会让你的生活更轻松。请注意,您可能需要将测试服务器(localhost?)添加到Google的API设置中,才能成功返回调用。

如果您需要帮助,请告诉我,我最近一直在玩Cal API......