我已经有一个相对简单的任务,我试图用谷歌日历v3 API来完成,但我一直运行到404错误。我只需要访问一个日历(属于我的客户端)并通过Javascript获取只读事件数据(只需使用带有Ajax调用的协议),所以我试图避免使用身份验证。谷歌日历API v3 404的事件
我通过点击“与他人共享此日历”日历共享设置,然后选择“公开这个日历”,但公开的唯一选项是公开的日历。隐藏详细信息)“。
已经意识到这一点,我编辑的每个事件的具体类型设置为‘公开’。
现在,我能够得到从日历资源EVENTLIST,但只有有在阵列中每个项目的一些细节(见下文)。当我尝试访问单个事件时,我得到一个404.
已经尝试使用基本测试日历,我很确定日历共享设置是问题。我的客户的日历和我使用的测试日历之间的主要区别是他的日历是Google Apps for Business帐户的一部分,我相当确定。
在日历本身中是否有任何设置我可以编辑以使API工作而无需使用auth访问数据?或者,在商业应用程序设置中是否有我可以让我的客户更改的选项?再说一遍,我只是谈论只使用Javascript在一个特定日历上进行GET请求,所以认证是不可取的。
真的没有我可以在这里展示的代码,因为我只是通过URI获取数据;在API文档中使用浏览器工具时,我遇到了同样的问题(404)。但是,正如您所预料的那样,当我使用该浏览器工具进行身份验证时,事件显示没有问题。从EVENTLIST
例题:
{ "kind": "calendar#event", "id": "(idremoved)", "status": "confirmed", "updated": "2012-05-29T21:06:42.000Z", "start": { "dateTime": "2012-06-18T19:00:00-05:00" }, "end": { "dateTime": "2012-06-18T21:00:00-05:00" }, "visibility": "public" }
谢谢。这也是我最终发现的,尽管公开个人活动不会覆盖日历空闲/忙碌设置令人失望。我的理解是,这是允许公开个人事件的目的。最后,我们将该日历移植到了一个新帐户,但不在该应用的Google App帐户的支持范围之内。 – tmo256
顺便说一下,你使用API v2或v3吗? – tmo256
api v2这可能是javascript超载,但您可以在这里查看我的日历聚合模块:events.ualberta.ca heres the js:http://events.ualberta.ca/WebResource.axd?d = QEgZza-a_z9cErHNf2dys-hrCC5NOPQAuxf7j43AnXrrIp- GXXosYTb3wCbePFNkzzrhRjX_1R8AWjdOKufibQ45t4s7DhPkp95O98hVgGNNOSwkM0vHGSr8jgROpBVZ-zQFzQ2 & t = 634739858576588781 –