【发布时间】:2015-08-28 14:45:50
【问题描述】:
我有一个用于记录约会的应用程序,因此许多用户在日历中安排了不同的约会。
我想将每个用户的所有约会与用户使用的不同日历同步。每个用户都有不同的日历约会和不同的日历,如 google、outlook、apple、yahoo 等。
如何在 php/codeigniter 中同步应用程序日历和用户日历?
【问题讨论】:
我有一个用于记录约会的应用程序,因此许多用户在日历中安排了不同的约会。
我想将每个用户的所有约会与用户使用的不同日历同步。每个用户都有不同的日历约会和不同的日历,如 google、outlook、apple、yahoo 等。
如何在 php/codeigniter 中同步应用程序日历和用户日历?
【问题讨论】:
CalDAV 是由RFC 4791 定义的标准协议,Google 日历、Apple 日历(以前称为 iCal)、Yahoo!日历和其他一些(可能支持有限或通过插件)。该协议使用.ics(iCal) file format。这可以通过 URL 发布,以便自动保持最新状态(请参阅How can I use PHP to dynamically publish an ical file to be read by Google Calendar?)。因此,当用户在您的系统中创建/更新/删除约会时,您将动态发布 .ics 文件/URL 以使他们的日历客户端保持最新。
因为每个日历系统都有自己的怪癖,所以它可能非常棘手(我知道是因为我在 PHP 中做过类似的事情)。您必须依靠它们来为此提供体面的 API。另外,我认为用户必须手动导入/订阅您创建的日历文件/URL。
Outlook 示例:http://windows.microsoft.com/en-us/windows/outlook/calendar-import-vs-subscribe
谷歌示例:https://support.google.com/calendar/answer/37118?hl=en&rd=2
我认为 Google 还允许您通过“日历地址”或第三方应用的应用专用密码进行同步:https://support.google.com/calendar/answer/37648?vid=0-635763762452997489-1595326527
【讨论】: