0

I am trying to create a ics feed for users to subscribe via webcal. The feed's content comes from database and looks like the following.

When the database is updated, the feed changes and updates the subscribers' calendars. It works fine with google calendar and some calendar apps. However, I never observe updates in outlook.com (the web calendar) or Yahoo calendar. Is there something wrong in the feed so update fail?

The feed is provided through webcal://example.com/subscribe.php and I put header('Content-Type: text/calendar; charset=UTF-8'); as the first PHP line

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
KC Lau
  • 1
  • 1

1 Answers1

0

You have the UID but ICS file events need a SEQUENCE number to indicate which update/version of the event is the latest.
See the specification https://www.rfc-editor.org/rfc/rfc5545#section-3.8.7.4

For recurring event instances, they also need a RECURRENCE-ID of the instance being modified.

Community
  • 1
  • 1
anmari
  • 3,830
  • 1
  • 15
  • 15