是否支持在CalDAV或iCal(iCalendar)中将事件标记为只读?

4
我已经查阅了iCalendar规范https://www.rfc-editor.org/rfc/rfc5545和CalDAV规范https://www.rfc-editor.org/rfc/rfc4791,以寻找如何在使用CalDAV协议连接我们的日历服务器时将从我们的日历服务器发送到iPhone的事件标记为“只读”(不可编辑)的方法。但是答案并没有跳出来。
换句话说,iPhone用户通过CalDAV帐户接收到一堆事件。通常情况下,他们可以编辑这些事件中的任何一个。但是,我们想要能够将其中一些标记为只读。我知道我们可以使用iPhone的添加.ics订阅帐户的功能,但我们不想这样做,因为这需要iPhone用户添加CalDAV和.ics订阅帐户。
我们正在使用SabreDAV作为我们的CalDAV服务器。
我的技术同事让我调查这个问题,所以我请求Stackoverflow社区的帮助。
非常感谢任何帮助或提示。
2个回答

0

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

2/ 我没有尝试过ACL,但也许您可以尝试一下。

3/ 作为最后的手段,您可以编辑Sabre\CalDAV\Backend\PDO::updateCalendarObjectdeleteCalendarObject并添加您的条件。但这在这个阶段非常低级(这个类甚至不知道谁在进行更改)。我不建议这样做。


0

一旦您将文件发送给用户,它就是他们自己的问题了,所以...

我认为没有办法保护预约/事件免受修改。

但是,您可以自己托管整个日历,并让用户使用Outlook或类似工具订阅该RSS源。

这是一个想法...但是要保护您发送给他们的内容?非常怀疑。只要记住,他们只是修改您数据的副本,而不是源数据本身。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接