2015-07-22 38 views
3

我试图用更新的事件:谷歌日历API更新“缺少结束时间”

PUT https://www.googleapis.com/calendar/v3/calendars/primary/events/q4es0o2o70naq8idj1dj6q4354 

{ 
"reminders" {"useDefault":true}, 
"summary":"updatedsummary", 
"description":"updated desc" 
} 

,但得到的回应:

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Missing end time." 
    } 
    ], 
    "code": 400, 
    "message": "Missing end time." 
} 
} 

为什么我需要一个结束时间,如果我只需要更新摘要或其他字段?

回答

3
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId 

events.update更新要求所有字段填写。使用它会做一个event.get变化方面你想要然后张贴回来的最好方法。

更好的选择

使用events.patch代替,如果你只是想更新几个字段。

PATCH https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId 
+0

这种特殊的答案已经在我的使用情况下非常有用,应该在谷歌日历API中多有记载,尤其是我自己,毫无疑问,许多其他用户可能最初指的是“更新”的方法来更新特定变量。正如在这种情况下,'Patch'方法更加有效,也许应该被称为'更新',因为这更有意义。 –

+1

非常好的一点,我会看看我是否可以在Google找到某人向其汇报。 – DaImTo

+1

谢谢@DalmTo - 我刚刚在API的特定页面上发布了反馈消息。您的回答为我节省了相当多的时间,试图找出为什么我无法在不输入其他信息的情况下更新几个特定字段。我一直在急于获得特定的功能设置,从来没有看过,知道或甚至被认为是'补丁'作为一个合适的选择!再次感谢 –