4

我搜索了 iCalendar 规范https://www.rfc-editor.org/rfc/rfc5545和 CalDAV 规范https://www.rfc-editor.org/rfc/rfc4791寻找有关如何标记事件的见解当 iPhone 使用 CalDAV 协议连接到我们的服务器时,它作为“只读”(不可编辑)从我们的日历服务器发送到 iPhone。但答案不是突然出现在我身上。

换句话说,iPhone 用户正在通过 CalDAV 帐户接收一系列事件。通常,他们可以编辑任何这些事件。但是,我们希望能够将一些标记为只读。我知道我们可以使用 iPhone 的功能添加一个 .ics 订阅帐户,但我们并不想这样做,因为它需要 iPhone 用户同时添加一个 CalDAV 和一个 .ics 订阅帐户。

我们使用 SabreDAV 作为我们的 CalDAV 服务器。

我的技术同事要求我对此进行调查,因此我向 Stackoverflow 社区寻求帮助。

任何帮助或提示将不胜感激。

4

2 回答 2

0

一旦您将文件发送给用户,就由他们来处理......

我想说没有办法保护约会/事件不被修改。

但是,您可以自己托管整个日历,如果用户有 Outlook 或类似设备,则订阅该 RSS 提要。

这是一个想法……但是为了保护你发送给他们的东西?高度怀疑。请放心,他们只是在修改他们的数据副本,而不是源数据本身。

于 2012-09-04T19:53:09.233 回答
0

1/您可以使用共享日历并以只读方式邀请用户。但是,用户将有 2 个日历:它自己的日历和共享日历。尽管如此,它仍然是同一个 CalDAV 帐户,因此用户只需单击一个复选框即可选择加入。

2/我没有尝试过 ACL,但也许你可以使用它。

3/作为最后的手段,您可以编辑Sabre\CalDAV\Backend\PDO::updateCalendarObjectdeleteCalendarObject添加您的条件。但在这一点上这是非常低级的(这个类甚至不知道谁在做改变)。我不推荐它。

于 2016-05-01T09:39:52.713 回答