Google api 从谷歌日历中提取公共事件数据

Google api 从谷歌日历中提取公共事件数据,google-api,google-calendar-api,google-api-dotnet-client,Google Api,Google Calendar Api,Google Api Dotnet Client,我可能有点想过头了。在我的网站上,我想使用我的公共谷歌日历中的某些数据。我的计划是把它放在服务器端,这样我就可以处理它,缓存它,并按照我想要的方式格式化它 我一直在考虑使用GoogleAPI库,但我无法克服任何授权障碍。服务帐户听起来像是我真正想要的,但我很难理解在这种情况下它是如何工作的 旧的gdataapi还可以,但我不太热衷于使用它们,因为在这一点上,它们看起来已经被新的库弃用了 因为这些都是公共数据,我希望有一种更简单的方法来获取我正在寻找的事件数据 如果有关系,我的网站是Asp.Net

我可能有点想过头了。在我的网站上,我想使用我的公共谷歌日历中的某些数据。我的计划是把它放在服务器端,这样我就可以处理它,缓存它,并按照我想要的方式格式化它

我一直在考虑使用GoogleAPI库,但我无法克服任何授权障碍。服务帐户听起来像是我真正想要的,但我很难理解在这种情况下它是如何工作的

旧的gdataapi还可以,但我不太热衷于使用它们,因为在这一点上,它们看起来已经被新的库弃用了

因为这些都是公共数据,我希望有一种更简单的方法来获取我正在寻找的事件数据

如果有关系,我的网站是Asp.Net(MVC)

更新

好吧,我肯定是想得太多了。查看我的答案。

一个很好的答案(我将使用的答案)就是简单地使用日历的公共地址来获取数据。这是一个我已经忘记的选项,它在这种特殊情况下运行良好

如果转到特定日历的设置并选择所需的格式,则可以找到数据的url(在这种情况下,我使用xml)


你从这项服务中获得的数据是非常人性化的,但我可以让它为我所做的工作而工作。

现在RSS已经从谷歌日历中删除,我一直在寻找一个简单的替代品。我在Google Calendar API中搜索并发现以下内容似乎可以实现这一目的:

是开始使用不同参数和选项的好地方,它将为您构建一个示例请求字符串。您可以看到,我指定的最短时间为2016年2月5日,按开始时间排序,并显示已删除的事件

GET https://www.googleapis.com/calendar/v3/calendars/[CALENDAR ID HERE]/events?
orderBy=startTime&showDeleted=true&singleEvents=true&
timeMin=2016-02-05T00%3A00%3A00Z&key={YOUR_API_KEY}
结果是JSON格式的,因此您可以用您最喜欢的编程语言ASP.NET或其他任何语言对其进行解析。结果如下:

{
  "kind": "calendar#events",
  "etag": "\"123456789123456\"",
  "summary": "My Public Calendar",
  "updated": "2016-01-29T14:38:29.392Z",
  "timeZone": "America/New_York",
  "accessRole": "reader",
  "defaultReminders": [ ],
  "items": [ {
    "kind": "calendar#event",
    "etag": "\"9876543210987654\"",
    "id": "sfdljgsdkjgheakrht4sfdjfscd",
    "status": "confirmed",
    "htmlLink": "https://www.google.com/calendar/event?eid=sdgtukhysrih489759sdkjfhwseihty7934hyt94hdorujt3q95uy689u9yhfdgnbiwe5hy",
    "created": "2015-07-06T16:21:59.000Z",
    "updated": "2015-07-06T16:21:59.329Z",
    "summary": "In-Service Day",
    "location": "Maui, HI",
    "creator": {
      "email": "abra@cadabra.com",
      "displayName": "Joe Abra"
    },
    "organizer": {
      "email": "cadabra.com_sejhrgtuiwerghwi4hruh@group.calendar.google.com",
      "displayName": "My Public Calendar",
      "self": true
    },
    "start": {
      "date": "2016-02-08"
    },
    "end": {
      "date": "2016-02-09"
    },
    "transparency": "transparent",
    "iCalUID": "isdt56y784g78ty86tgsfdgh@google.com",
    "sequence": 0
  },
  {
    ... 
  }]
}