Description:
This project synchronizes all your tasks from Notion to your Google Calendar.
- Sync tasks from Notion to Google Calendar
- Automatically update calendar events when tasks are modified
- Supports recurring tasks
- Python 3.x installed
- A Google account
- A Notion account
-
Clone the repository:
git clone https://github.com/itsDarkArcher/calendar_sync.git
-
Navigate to the project directory:
cd calendar_sync -
Install the required dependencies:
pip install -r requirements.txt
-
Create a project in the Google Cloud Console:
- Go to the Google Cloud Console.
- Click on the project drop-down and select "New Project".
- Enter a name for your project and click "Create".
-
Enable the Google Calendar API:
- In the Google Cloud Console, go to the "APIs & Services" > "Library".
- Search for "Google Calendar API" and click on it.
- Click "Enable".
-
Create credentials for the API:
- Go to "APIs & Services" > "Credentials".
- Click on "Create Credentials" and select "OAuth 2.0 Client IDs".
- Set the application type to "Desktop app" and click "Create".
- Download the JSON file with your credentials and save it as
credentials.jsonin the project directory.
-
Create an integration in Notion:
- Go to Notion Integrations.
- Click "New Integration".
- Enter a name for your integration and select your workspace.
- Copy the "Internal Integration Token" and save it for later use.
-
Share your Notion database with the integration:
- Go to the Notion page or database you want to sync.
- Click "Share" and invite your integration by selecting its name.
-
Ensure your credentials file is correctly set up:
- Your
credentials.jsonfile should contain your Google API credentials. - Create a
access.jsonfile with the following content:
{ "token": "<Your Notion Integration Token>", "database_id": "<Your Notion Database ID>", "email":"example@example.com" } - Your
-
Run the synchronization script:
python main.py
- Ensure that your Google and Notion credentials are correctly configured.
- Check the console output for any error messages and follow the instructions to resolve them.
Feel free to submit issues, fork the repository, and send pull requests. We appreciate all contributions.
This project is licensed under the MIT License. See the LICENSE file for details.