Google api 删除后创建相同的事件会导致409错误

Google api 删除后创建相同的事件会导致409错误,google-api,google-calendar-api,Google Api,Google Calendar Api,我正在编写一个应用程序,它使用API将事件从我们的服务器添加到用户的谷歌日历中。 在这种情况下,我遇到了HTTP 409冲突错误: 创建具有某些明确定义的ID/的事件 删除事件/ 尝试创建具有相同ID的事件-获取错误 这种情况可能在以下情况下实现: 用户从我们的服务器导出事件 其中一个事件(比如ID=1)将在我们的服务器上被禁用 用户再次导出事件-此禁用事件将从用户的Google日历/API调用中删除:delete,eventId=1 禁用的事件将再次启用 用户执行导出-将使用相同的ID=1激发

我正在编写一个应用程序,它使用API将事件从我们的服务器添加到用户的谷歌日历中。 在这种情况下,我遇到了HTTP 409冲突错误:

  • 创建具有某些明确定义的ID/的事件
  • 删除事件/
  • 尝试创建具有相同ID的事件-获取错误
  • 这种情况可能在以下情况下实现:

  • 用户从我们的服务器导出事件
  • 其中一个事件(比如ID=1)将在我们的服务器上被禁用
  • 用户再次导出事件-此禁用事件将从用户的Google日历/API调用中删除:delete,eventId=1
  • 禁用的事件将再次启用
  • 用户执行导出-将使用相同的ID=1激发API插入请求。将引发错误409。/API调用:insert,eventId=1
  • 在调用
    delete
    API方法之后,似乎实际上没有删除事件。
    这个问题有解决办法吗

    事实证明,所谓的“删除”操作实际上并没有删除事件,只是隐藏事件并将其状态更改为“已取消”。因此,事件仍然存在于谷歌日历中。

    作为一种解决方法,我使用
    “showDeleted”=true
    选项检索已删除的条目,并对其进行更新。

    胡乱猜测:如果试图添加一个范围的条目,其类型和值与访问控制列表中已存在的另一个条目相匹配,则操作将失败,错误代码为409(冲突)。我会查看ACL以确保旧的内容也被删除。事实证明,所谓的“删除”操作实际上并没有删除任何内容,只是隐藏事件并将其状态更改为“已取消”。因此,这样的事件仍然存在于谷歌日历中。作为解决方法,我使用“showDeleted”=true获得删除的条目,然后更新它们。