我试图通过组合一个执行以下操作的简单页面来自学一些 JQuery/REST/Google API:
- 通过 Google 进行身份验证
- 验证令牌
- 获取用户的 Google 日历列表
- 列出选定日历的事件
- 为选定的日历添加事件
我有 #1 到 #4 工作(尽管毫无疑问以丑陋的方式),并且在 #5 上被绊倒了。这是 JQuery ajax 调用:
var url = 'https://www.googleapis.com/calendar/v3/calendars/[MY_CALENDAR_ID]/events?sendNotifications=false&access_token=[GOOGLE_API_TOKEN]';
            var data = { end: { dateTime: "2012-07-22T11:30:00-07:00" }
                            , start: { dateTime: "2012-07-22T11:00:00-07:00" }
                            , summary: "New Calendar Event from API"
                        };
            var ajax = $.ajax({ url: url
                                , data: data
                                , type: 'POST'
                        }).done(addEventDone)
                          .fail(function (jqHXR, textStatus) {
                              console.log("addEvent(): ajax failed = " + jqHXR.responseText);
                              console.log(jqHXR);
                          });
结果是全局 parseError:“此 API 不支持解析表单编码输入。”。前四个步骤都使用 GET ajax 调用,所以我不确定这是否是让我绊倒的原因。
这是有问题的 API:https ://developers.google.com/google-apps/calendar/v3/reference/events/insert
我想我可能正在做一些漫长而艰难的事情,我的新方法是使用 javascript API 来解决这个问题,而不是直接使用手动 JQuery 和 REST 来解决这个问题。这是我正在尝试前进的方法http://code.google.com/p/google-api-javascript-client/wiki/Samples#Calendar_API,尽管如果有的话我仍然希望将其用作学习机会一些简单的事情我在上面的代码中搞砸了。
感谢您提供任何帮助、见解、指针等。如果我使用 javascript API 取得任何进展,我将发布更新。