1

I'm having an issue when pulling/listing an event feed from Google Calendar in python, using gdata 2.0.16.

If one event in a series of recurring events is edited, that specific event is duplicated. The Google Calendar web interface doesn't show both events, but when pulling the feed of events with gdata, both are returned.

This issue causes my event feed to show an event for the original event in the series, and a second event for edited version of that specific event in the series.

Does anyone know if this is a bug in Google Calendar, or if there is a way to prevent the original event (that was supposed to have been edited) from showing up? I've inspected the properties of both events, and they have an event_status of 'CONFIRMED'.

Rubén
  • 34,714
  • 9
  • 70
  • 166
cjflory
  • 31
  • 5

2 Answers2

2

Turns out all I needed, was to add the following to my lookup query.

query.singleevents = 'true'
cjflory
  • 31
  • 5
1

Google Calendar has specific way how to mark exceptions in recurrent events. In case that one occurrence of recurrent event has been edited or deleted it will return new event (recurrent exception). This event has link original_event to the recurrent event which it extends. Therefore you can modify check which events has tag original_event and according it modify the displaying of recurrent events. A deleted recurrent exception has status 'CANCELED'.

Also note, that the recurrent exceptions (extending events) are returned only for queried interval.

If you are using python-dateutil for representing recurrent events than you can exclude some recurrence with rruleset.exdate(dt).

frantisek
  • 201
  • 2
  • 7