andrewramsay / ical_to_gcal_sync Goto Github PK
View Code? Open in Web Editor NEWBasic Python script to pull events from an iCal feed and push to Google Calendar
License: MIT License
Basic Python script to pull events from an iCal feed and push to Google Calendar
License: MIT License
Hi,
I am not great with python, but i have been looking at the code,...
is there a way to when added an event i can add a conference option?
All events will have this same conference option ( zoom )
Thanks
Adam
Hello. In my ical I have recurrent events. The time is imported correctly to Google calendar before the daylight savings time change (28 March in my case), but after that day the event is imported with one hour difference. If the ical is imported directly on Google calendar, then the correct time is shown. Also, if the event is not recurrent, and occurs after the daylight savings change, then it is imported with the correct time.
Hi, thanks for this software - I hope to use it for syncing my ics file to google.
Just checking though -- are there any limitations on the number of entries that will be synced? I noticed this in the script:
eventsResult = service.events().list(calendarId=CALENDAR_ID, timeMin=from_time, maxResults=100, singleEvents=True, orderBy='startTime', showDeleted=True).execute()
is there a hard limit of 100 events in the calendar?
Hello,
I have an exchange calendar that I want to sync from my local machine to google calendar. It's stored locally as a folder full of *.ics files. I quickly wrote a new function that's a wrapper for get_current_events() called get_current_events_from_files() that loops through the ics files and returns the cal dictionary. To use this, I added a global in config.py called 'FILES' which, when set to True assumes the ICAL_FEED global is a path and not a url. There were a few other things I modified to get this to work.
Is this a feature that is desirable or is this a corner case that's only useful to me. I'm happy to send a pull request.
Thanks for the code, making my life better...
J.
HI, I was testing this great script and, let me say day 1 of testing, all was good.
Day 2 of testing i start to get this error "[ERROR] > Error parsing iCal data (69)" taken from txt log file.
What is wrong on parsing ical object?
Is there a way to troubleshoot it?
Regards
Hi,
Me again, sorry.
I am getting an issue with not being authorised and so i get a 404 error. I reach out to google support to see if there was anything wrong with my account ( i also tried a different account) but they asured me that the code is at fault ( ¯_(ツ)_/¯ )
This is what they said
and identified a few differences, specifically that there doesn't appear to be any reference to using the authorization URL[2], or requesting an access token[3]. I see that the Calendar Python Quickstart[4] uses a different authorisation mechanism,
I am going to dig into the code tomorrow but just checking in to see if you have noticed and changes that might effect this
Thanks
Adam
Hi. I am having an issue with imported events from my outlook calendar. I don't think this was happening before, but I noticed that the imported events are one hour off.
For example in the ics file I have an event:
DTSTART;TZID=GMT Standard Time:20200819T151500
DTEND;TZID=GMT Standard Time:20200819T161500
When I read the events from the ics file in python, the wrong time zone is shown:
Event 'Event name' begin:2020-08-19T15:15:00+00:00 end:2020-08-19T16:15:00+00:00
On my google calendar this is imported for 16:15, not 15:15. GMT Standard Time is GMT+1 because of daylight savings.
Is there a way I can fix this issue?
Also, to add that when I import the ics file directly into google calendar, the correct time is shown.
I am not sure if this is the script or if its a google calendar setting but all my all day events imported have a default reminder of 11:50pm - which is an awfully inconvenient time for a reminder. (I tend to be sleeping at that point!) :)
I've looked through my calendar settings as well as created an all day event manually and it doesn't seem to have a reminder set so I assume the script is either explicitly setting the default notification OR the google API is setting it because a default notification isn't specified by the script.
Either way I don't want any reminder. Is there some way to turn this off? I've been looking through the script source but I am not seeing anything.
Hi,
I've been looking for a way to manually sync an ICS file into Google, as their own sync is broken beyond belief, and they still don't want to fix it.
I registered the application, and then created the json file and config. Start the script, it starts up but bombs out with:
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://www.googleapis.com/calendar/v3/calendars/kcore.org_xxxxxxxxxxxxxxxxxxxxxxxxxx%40group.calendar.google.com/events/0c234de16509d920c12577c3003d751blotus_notes_generated?alt=json returned "Not Found">
The calendar in question is on google's GSuite platform, but that shouldn't really matter I think.
I can see that it has synced some items already, but then stops.
Hi,
I have started to get this error
Traceback (most recent call last):
File "ical_to_gcal_sync.py", line 174, in <module>
name = gcal_event['summary']
KeyError: 'summary'
How can i trace back what is causing it
Hello,
Trying installing the script for the first time today. Getting this error in the logs:
Error retrieving iCal data (can't compare offset-naive and offset-aware datetimes)
Any thoughts?
Hi
I am getting this error, my guess is that there is a non ascii character in a title of an event
Is there a way to track this down?
('iCal event %s to be added at %s' % (ical_event.name, ical_event.begin))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
Thanks
Hi,
Wonderful tool you have here! I am using it to sync my girlfriends work agenda to our shared Google Calendar. I just notice that my token keeps expiring every 7 days. I found out that it is because my "App" is in testing mode, tokens get revoked after 7 days (as seen here: https://stackoverflow.com/questions/66058279/token-has-been-expired-or-revoked-google-oauth2-refresh-token-gets-expired-i).
When I put my app into production, the authorize URL that ical_to_gcal_sync.py generates no longer works, When I put the app back to testing, the authorize URL works again.
Do you have any suggestions on how to keep your tool working after 7 days?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.