我正在尝试为用户创建一个ics feed,以便通过webcal订阅。 Feed的内容来自数据库,如下所示。
更新数据库后,Feed会更改并更新订阅者的日历。它适用于谷歌日历和一些日历应用程序。但是,我从未在outlook.com(网络日历)或雅虎日历中观察到更新。 Feed中有什么问题,所以更新失败了吗?
Feed是通过webcal://example.com/subscribe.php提供的
我把header('Content-Type: text/calendar; charset=UTF-8');
作为第一个PHP行
ICS:
BEGIN:VCALENDAR
PRODID:-//Organisation//Roster//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Duty Arrangement
X-WR-CALDESC:Duty Arrangement
X-WR-TIMEZONE:Asia/Hong_Kong
REFRESH-INTERVAL;VALUE=DURATION:PT6H
X-PUBLISHED-TTL:PT6H
BEGIN:VEVENT
DTSTART:20180218T020000Z
DTEND:20180218T033000Z
DTSTAMP:20180602T144036Z
UID:228Mip5LyZ5JqY5@organisation.com
DESCRIPTION:Task A
LOCATION:Office
SUMMARY:On Duty
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20180304T020000Z
DTEND:20180304T033000Z
DTSTAMP:20180602T144036Z
UID:230Mip5LyZ5JqY5@organisation.com
DESCRIPTION:Task B
LOCATION:Office
SUMMARY:On Duty
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
答案 0 :(得分:0)
您拥有UID但ICS文件事件需要一个SEQUENCE编号来指示事件的更新/版本是最新的。
请参阅规范https://tools.ietf.org/html/rfc5545#section-3.8.7.4
对于重复出现的事件实例,他们还需要修改实例的RECURRENCE-ID。