如何正确使用Google Calendar API的Events.Insert命令?

Ano*_*ohn 21 java google-calendar-api google-api

所以我一直在使用REST方法调用Google的API.我需要将事件插入到我拥有ID的特定日历中.这是我发送的POST请求:

地址:https: //www.googleapis.com/calendar/v3/calendars/ {calendarID}/events

身体:

Authorization:  Bearer {access_token}
{
 "end": {
  "dateTime": "2012-08-30T12:30:00",
  "timeZone": "America/Chicago"
 },
 "start": {
  "dateTime": "2012-08-30T14:00:00",
  "timeZone": "America/Chicago"
 },
 "summary": "E E 306",
 "colorId": "9"
 "kind": "calendar#event"
}
Run Code Online (Sandbox Code Playgroud)

这是我不断得到的回应:

{
 "error":{
  "errors":[
   {
    "domain":"calendar",
    "reason":"timeRangeEmpty",
    "message":"The specified time range is empty.",
    "locationType":"parameter",
    "location":"timeMax"
   }
  ],
  "code":400,
  "message":"The specified time range is empty."
 }
}
Run Code Online (Sandbox Code Playgroud)

我不明白我可能做错了什么.我输入了所有必要的数据,它要求我提供一个事件甚至不存在的参数.我也找不到关于这个特殊问题的任何文件.有没有人看到我失踪的东西?

Ano*_*ohn 46

在提出这个问题的过程中,我面临着如此艰难的困境,我想我已经完成了脑部损伤.事实证明,我无法找到关于这个问题的任何文件的原因是因为它是多么愚蠢.

它给我这么一个有趣的错误的原因是因为在我正在进行的复制粘贴测试中,我翻转了开始和结束时间.所以,我告诉Google Calendars进入一个在它开始之前结束的事件,这通常不会太好结束.

简而言之,如果在尝试插入事件时引用"timeMax"参数时出错,请检查开始和结束时间.

  • 哈哈哈也一样.这解决了它.在SO中有足够的空间来愚蠢的陷阱.他们确实需要一个更好的错误消息,例如:"开始日期不能在结束日期之后." (2认同)