在过去的几天里,我一直在试图弄清楚如何在一个简单的HTML页面中使用jQuery从我的谷歌用户的日历中提取日历数据,但是还没有达到我需要的解决方案。
日历是公开共享的(在日历设置中选中“使此日历公开”)。
以下是我尝试过的解决方案。
解决方案1
我查看了来自提要的数据,这些数据可以以以下方式访问:http://www.google.com/calendar/feeds/{calendar-id-here}/public/basic?alt=json。此解决方案虽然有效,但没有提供有关单个事件的足够信息。例如,事件没有开始日期/时间和结束日期/时间数据。嗯,他们确实是这样,但被埋在字符串里,我宁愿不为日期和时间去刮弦。
解决方案2
我在Google Console中创建了一个项目以及一个简单的API键,然后在Internet上尝试了几个例子来获得以下代码:
gapi.client.load('calendar', 'v3')
.then(function () {
return gapi.client.setApiKey(apikey);
})
.then(function () {
return gapi.client.calendar.calendars.get({calendarId: '{calendarId-here}'});
})
.then(function () {
console.log('Worked!');
}, function () {
console.log('It failed!');
});此代码继续返回401未经授权的响应。
解决方案3
最后的解决方案是尝试使用OAuth访问它。在设置正确的引用等等之后,这个解决方案可以工作,但它需要访问者登录到Google中,以便API发挥作用。
我的问题,然后:它甚至可以匿名访问一个公开共享的谷歌用户的日历,如果是的话,正确的方法是什么?
发布于 2015-03-13 03:24:37
我以前做过类似的事情,但是使用了YouTube和Ajax。有点烦人,但它完成了任务。首先,您需要原始的RSS,显然你能拿到。然后将Ajax与dataType: xml结合使用,从提要中获取XML。从那里开始,它将取决于数据结构,但困难的部分将在那时结束。这是我关于处理YouTube的帖子。
https://stackoverflow.com/questions/29023934
复制相似问题