One-way synchronization of calendar events from Exchange server to Google Calendar
- Events within the configured timeframe relative to today
- Event subject, location, date/time and attendees with valid email addresses
- The event body/description will not be synced! The description field in Google Calendar is instead used to store a hash.
- Create a new Google Calendar and take note of its Calendar ID (xxx@group.calendar.google.com), which can be found in the calendar settings under Calendar Address
- Pull the code from this GitHub repository
- Edit the
calendar_sync.ini
configuration file and follow the hints given within the file - Visit the Google API Console and ...
- Create a new project
- Under Library, enable the Google Calendar API
- Under Credentials, create a new OAuth client ID for application type Other and download it as a JSON file
- Rename the downloaded JSON file to
google_api_client_secret.json
and place it into the credentials folder (replace the pre-existing dummy file)
- Install Python 3 and make sure
pip
is available - Install dependencies
- Run
pip install git+https://github.com/linkedin/pyexchange
- Run
pip install --upgrade oauth2client google-api-python-client
- Run
- Run the
calendar_sync.bat
by double-clicking on it (Windows) or runpython ./calendar_sync.py
in the command line. On first run a browser window will be opened and you're asked for authorization to manage your Google Calendar.
Feel free to add an issue in GitHub and I am happy to help out.