Google Calendar API Delete 410错误是什么意思?



我正在尝试使用Java API从我的一个谷歌日历中删除一个事件。它们的代码看起来像:

calendarService.events().delete( calendarId , eventId ).execute();

当我这样做时,我得到错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 410 Gone
DELETE https://www.googleapis.com/calendar/v3/calendars/xxxxxxxxxxxxxxxxxxx@group.calendar.google.com/events/jm1gamo1cj3dm68bidsaufffdg
{
"code" : 410,
"errors" : [ {
"domain" : "global",
"message" : "Resource has been deleted",
"reason" : "deleted"
} ],
"message" : "Resource has been deleted"
}

我不明白这条信息在告诉我什么。

是不是说没有找到事件?如果是这样的话,措辞似乎很奇怪——为什么不写"未找到"呢?

或者,它是说它之前被删除了,事件是标记为由于删除(逻辑删除),但仍然留在系统中(因此它知道它先前已删除),可能排队等待物理删除?

根据Calendar API文档:

410: Gone

SyncTokenupdatedMin参数无效。如果请求试图删除已被删除的事件,也可能发生此错误。

{
"error": {
"errors": [
{
"domain": "global",
"reason": "deleted",
"message": "Resource has been deleted"
}
],
"code": 410,
"message": "Resource has been deleted"
}
}

所以,如果你已经删除了一个事件,你试图再次删除它,你很可能会得到这个错误消息。

参考

  • 日历API处理API错误。

最新更新