Google api 从谷歌日历中提取公共事件数据
我可能有点想过头了。在我的网站上,我想使用我的公共谷歌日历中的某些数据。我的计划是把它放在服务器端,这样我就可以处理它,缓存它,并按照我想要的方式格式化它 我一直在考虑使用GoogleAPI库,但我无法克服任何授权障碍。服务帐户听起来像是我真正想要的,但我很难理解在这种情况下它是如何工作的 旧的gdataapi还可以,但我不太热衷于使用它们,因为在这一点上,它们看起来已经被新的库弃用了 因为这些都是公共数据,我希望有一种更简单的方法来获取我正在寻找的事件数据 如果有关系,我的网站是Asp.Net(MVC) 更新 好吧,我肯定是想得太多了。查看我的答案。一个很好的答案(我将使用的答案)就是简单地使用日历的公共地址来获取数据。这是一个我已经忘记的选项,它在这种特殊情况下运行良好 如果转到特定日历的设置并选择所需的格式,则可以找到数据的url(在这种情况下,我使用xml)Google api 从谷歌日历中提取公共事件数据,google-api,google-calendar-api,google-api-dotnet-client,Google Api,Google Calendar Api,Google Api Dotnet Client,我可能有点想过头了。在我的网站上,我想使用我的公共谷歌日历中的某些数据。我的计划是把它放在服务器端,这样我就可以处理它,缓存它,并按照我想要的方式格式化它 我一直在考虑使用GoogleAPI库,但我无法克服任何授权障碍。服务帐户听起来像是我真正想要的,但我很难理解在这种情况下它是如何工作的 旧的gdataapi还可以,但我不太热衷于使用它们,因为在这一点上,它们看起来已经被新的库弃用了 因为这些都是公共数据,我希望有一种更简单的方法来获取我正在寻找的事件数据 如果有关系,我的网站是Asp.Net
你从这项服务中获得的数据是非常人性化的,但我可以让它为我所做的工作而工作。现在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
},
{
...
}]
}