2015-07-22 113 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的特定頁面上發佈了反饋消息。您的回答爲我節省了相當多的時間,試圖找出爲什麼我無法在不輸入其他信息的情況下更新幾個特定字段。我一直在急於獲得特定的功能設置,從來沒有看過,知道或甚至被認爲是'補丁'作爲一個合適的選擇!再次感謝 –