【问题标题】:How to sync client for inbox and calendar resource of a user如何为用户的收件箱和日历资源同步客户端
【发布时间】:2014-12-01 20:30:39
【问题描述】:
  • 我正在尝试了解 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 文件??

请指点。

【问题讨论】:

    标签: calendar icalendar webdav caldav


    【解决方案1】:

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

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

    自动调度 CalDAV 服务器收件箱中的 iTIP 资源在调度中不起任何作用。将其视为通知。因此,它实际上不会导致同步问题。 由客户端(是否自动调度)确定收件箱项目是否仍然有效并且需要显示(或可以删除​​)。例如,如果事件资源有效,则显示“needs-action”iTIP 通知是没有意义的。

    您也可以查看SEQUENCE 属性,不过最好将 iTIP 与实际事件进行比较。

    【讨论】:

      猜你喜欢
      • 2016-12-17
      • 2018-09-15
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      相关资源
      最近更新 更多