from intra import IntraAPIClient import json from icalendar import Calendar, Event, vCalAddress, vText from datetime import datetime cal = Calendar() cal.add('prodid', '-//Codam Events//Duinvoetje.nl//') cal.add('version', '2.0') ic = IntraAPIClient() response = ic.get("users/187348/events_users") for entry in response.json(): ical_event = Event() event = entry['event'] ical_event.add('uid', event['id']) ical_event.add('name', event['name']) ical_event.add('description', event['description']) ical_event.add('dtstart', datetime.fromisoformat(event['begin_at'].split('.')[0])) ical_event.add('dtend', datetime.fromisoformat(event['end_at'].split('.')[0])) ical_event.add('location', event['location']) cal.add_component(ical_event) print(cal.to_ical().decode('UTF-8'))