【发布时间】:2012-06-01 09:57:41
【问题描述】:
我尝试使用 Google Calendar v3 API 完成一项相对简单的任务,但我一直遇到 404 错误。我只需要访问一个日历(属于我的客户)并通过 Javascript 获取只读事件数据(仅使用带有 Ajax 调用的协议),所以我试图避免使用身份验证。
我通过转到日历共享设置点击“与他人共享此日历”然后选择“将此日历设为公开”来公开日历。但是,我唯一的公开选项是“仅查看空闲/忙碌(隐藏详情)。”
意识到这一点后,我编辑了每个事件以专门将类型设置为“公共”。
现在,我可以从日历资源中获取 eventList,但数组中的每个项目只有一些详细信息(见下文)。而且,当我尝试访问单个事件时,我得到了 404。
在尝试使用基本测试日历后,我相当肯定日历共享设置是问题所在。我的客户日历和我使用的测试日历之间的主要区别在于,他的日历是 Google Apps for business 帐户的一部分,我很确定。
我可以编辑日历本身中的任何设置以使 API 正常工作,而无需使用身份验证来访问数据?或者,在业务应用程序设置中是否有一个选项可以让我的客户更改?同样,我说的是仅使用 Javascript 在一个特定日历上执行 GET 请求,因此不需要进行身份验证。
这里真的没有代码可以显示,因为我只是通过 URI 获取数据;在 API 文档中使用资源管理器工具时,我遇到了同样的问题(404)。但是,正如您所料,当我使用该资源管理器工具进行身份验证时,事件显示没有问题。
事件列表中的示例项目:
{ “种类”:“日历#事件”, "id": "(idremoved)", “状态”:“确认”, “更新”:“2012-05-29T21:06:42.000Z”, “开始”: { “日期时间”:“2012-06-18T19:00:00-05:00” }, “结尾”: { “日期时间”:“2012-06-18T21:00:00-05:00” }, “知名度”:“公开” }【问题讨论】: