我有一个基于php的自制Web日历,我希望我的用户导入Google Calendar,iCal等,以便他们在选择的日历上可以获取最新信息。我知道提供webcal链接是解决方法,但是我不确定如何创建它。我已经下载了一个示例.ics文件,但没有太多信息。

在哪里可以找到有关创建Webcal Feed的更多信息?另外,webcal允许身份验证吗?该提要很可能受到密码保护。

谢谢!

最佳答案

Webcal提要使用RFC 5545中定义的iCalendar格式。这是一种相当复杂且繁琐的格式。您会发现简单的examples on wikipedia可能符合您的需求。您还可以选择使用库来提取格式,例如:


http://framework.zend.com/svn/framework/laboratory/Zend_Ical/
http://bennu.sourceforge.net/
http://sourceforge.net/projects/icalcreator/
http://sabre.io/vobject/


从所有这些中,最后一个可能是您最好的选择(上次我检查时所有其他似乎都死了)。

至于身份验证,您可以使用basic HTTP authentication。或使用秘密令牌来识别用户(如Google日历中所示)。无论如何,在两种情况下,您都应该使用安全连接(SSL),因此不会明文发送数据(和密码)。

最后,我建议使用webcal://或webcals://方案,以方便最终用户使用。但是您可能会遇到某些客户端的麻烦(例如:Outlook 2007和强制SSL)。我还没有万能的解决方案...

编辑

如果您不使用lib,我忘了提到ICS validator了。

08-04 22:46