如何同步用户的收件箱和日历资源的客户端

时间:2014-12-01 20:30:40

标签: calendar icalendar webdav caldav

  • 我正在尝试了解使用Caldav的事件安排
  • 我使用CalendarServer
  • 使用mac iCal客户端,'userA'创建了一个事件并邀请了'userB'

  • 此时'userB'在他的馆藏中有两个相同事件的项目:

    • 收件箱 - 来自'userA'的请求------------- /userB/inbox/123456789.ics
    • 日历 - 为用户创建的服务器--------- / userB / calendar / 987654321.ics

他们都提到同一事件。

对于userB客户端,我需要同时访问这两个项目:

   * To Delete from 'Inbox' when userB "Accepts"
   * To update 'Calendar' when userB "Accepts"

现在我向'inbox' endpoint'calendar' endpoint发送了两个不同的请求,这导致了客户端的同步问题

如何在对Caldav服务器的单个请求中访问userB的两个.ics文件?

请提供指示。

1 个答案:

答案 0 :(得分:0)

截至今天,没有RFC的标准方法来删除收件箱项目并在DAV中的单个HTTP请求中更新日历资源。

有一个Apple扩展程序可以进行批量更改:Calendar Server Bulk Change Requests for *DAV Protocols。但我不会将它用于这个特定的问题。

自动调度CalDAV服务器的收件箱中的iTIP资源在调度中不起作用。考虑一下通知。因此,它实际上不会导致同步问题。 由客户端(自动调度与否)来确定收件箱项是否仍然有效并且需要显示(或可以删除​​)。例如,如果事件资源有效,则无需显示“需要 - 操作”iTIP通知。

您还可以查看SEQUENCE属性,但将iTIP与实际事件进行比较可能更为明智。

相关问题