如何使用 CalDAV 找出事件的删除时间?

How to find out deletion time of an event with CalDAV?

问题描述

我正在使用 CalDAVGoogle 日历 和我自己的日历应用程序之间同步事件。现在我正在尝试实施 DeletionRestore功能:

每次在我的两个系统之间同步某些内容时,我都会在 json 文件中写入有关同步事件的(元)信息。因此,使用该文件,我能够在特定时刻判断哪些事件已经同步并且不再出现在 CalDAV 端(Google Calendar 在我当前的情况下,但可以是任何支持 CalDAV 的日历服务。因此,判断是否在 CalDAV 端删除了一个已经同步的事件是没有问题的。现在我想知道删除是什么时候发生的。


我试过的

到目前为止,我尝试使用

简单地检索所有事件
<?xml version=\"1.0\" encoding=\"utf-8\"?><d:propfind xmlns:d=\"DAV:\" xmlns:cs=\"http://calendarserver.org/ns/\"><d:prop><d:getetag /></d:prop></d:propfind>

但这只是 returns 有关现有(未删除)项目的信息。

我还尝试使用其 ID 检索已删除的事件:

<?xml version=\"1.0\" encoding=\"utf-8\"?><c:calendar-multiget xmlns:d=\"DAV:\" xmlns:c=\"urn:ietf:params:xml:ns:caldav\"><d:prop><d:getetag /><c:calendar-data/></d:prop><d:href>{eventName}</d:href></c:calendar-multiget>

但是这个returnsHTTP 404.


有谁知道(或有任何建议)如何使用 CalDAV 找出事件的删除时间?


更新

我发现使用 Google Calendar API 可以检索所有文档的列表,并且此列表可以通过设置 属性 showDeleted 为真。

但问题依然存在:

有谁知道我如何使用 CalDAV 实现类似的功能?

删除是Google Calendar 的一个特性,不一定所有其他日历都支持,这就是为什么仅使用 CalDAV 无法获取删除信息的原因。

在您的应用程序中实施 CalDAV 时,您可以使用 GoogleCalendar API 来利用特定情况下的删除信息:它类似于特定于服务器的功能。