我想在我的应用程序中创建外部用户可以查看的日历。
CalDAV(基本上是WebDAV + iCalendar)格式似乎得到了相对广泛的支持,尽管某些客户端(例如Outlook)非常不同寻常。但对我来说完全是新的。
我想在外部发布事件,我不需要用户能够更新它们。
.ics文件中事件的文本格式显得相对简单:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTART:20091130T000000Z
DTEND:20091201T000000Z
SUMMARY:Test event for calendar format
LOCATION:Company site
DESCRIPTION:Test event.\nMore text on a new line
END:VEVENT
END:VCALENDAR
但是,我真的不想编写自己的ics文件构建器。从每行开始的键名在ics文件之间似乎也不一致。
那里有.Net实现吗?理想情况下,我不想设置整个WebDAV实现 - 只是能够检索只读日历。
我主要希望这是一个用户可以从iPhone,Android和Blackberry手机同步的网址。我知道他们可以处理来自某些供应商的CalDAV服务,但不能处理其他供应商(例如我的iPhone可以从Google日历同步,但却没有使用FaceBook的活动) - 任何人都知道为什么?
我认为事件也可以包含MIME附件 - 这是否足以支持值得研究?
更新
对此的进一步研究发现,在大多数实施中存在一些奇怪的不一致。没有主要的移动客户端操作系统(iPhone,黑莓,Android)可以处理.ics文件。
但是,iPhone可以从URL打开.ics(选择订阅日历),这也适用于FaceBook。然而,黑莓和Android不能。我认为Blackberry可以处理完整的CalDAV选项(而不仅仅是.ics文件),但对它的编程知之甚少。
有没有一致的方法来做到这一点?