Package: notion-gcal-sync
Notion-GCal-SyncNotion-GCal-Sync is a python application to bidirectional synchronize calendar events within notion and google calendar.Getting startedInstall package fromPyPipipinstallnotion-gcal-syncGet your Google Calendarcredentials.jsonlike thisGet your Notion Tokenlike thisSet up the Notion pagelike thisCreate config folder~/.notion-gcal-syncand copy thecredentials.jsoninsideLinux (or WSL)cp~/Downloads/client_secret_*.apps.googleusercontent.com.json"~/.notion-gcal-sync/client_secret.json"WindowsCopy yourclient_secret_*.apps.googleusercontent.com.jsonasclient_secret.jsoninsideC:\Users\dude\.notion-gcal-sync# TODORun the script and fill out the prompts. If not sure skip the optional bits.Makesure you get your timezone rightUse your TZ database name astimezone_nameUse the UTC DST offset astimezone_diffgoogle_mail: Your mail you are using in google calendar want to have syncednotion_database_urlThe url for the page you set up in 4.notion_token: The token you set up in 3.notion-gcal-sync2021-10-2819:55:41,198[INFO]/home/worker/.notion-gcal-sync/config.ymldoesnotexist
Createnon-existing/home/worker/.notion-gcal-sync/config.yml?[Y/n]:y2021-10-2819:55:42,630[INFO]Configuring/home/worker/.notion-gcal-sync/config.yml
default_event_length[60]:
no_date_action[skip]:
timezone_name[Europe/Berlin]:
timezone_diff[+02:00]:
google_mail(e.gname@gmail.com):cooldude@gmail.com
notion_database_url[https://www.notion.so/***?v=***&p=]:
notion_token:secret_ASDFASDFCASDFIt will prompt you to authenticate yourself for google. This will create atoken.json.$notion-gcal-sync
...
PleasevisitthisURLtoauthorizethisapplication:
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=***For more information followthese instructions.UsageMake sure you followed thesetupand
configured theconfig.ymlwith your notion token and page for Notion API and gathered and setup
credentialsclient_secret.jsonfor Google Calendar API.notion-gcal-syncDockerTo run inside the container you need to add the volume at~/.notion-gcal-syncdocker run -v ~/.notion-gcal-sync:/home/worker/.notion-gcal-sync notion-gcal-syncIf you want to update the setup within the cli or only map the credentials, you'll need to add interactive mode-itand for authenticating a new token you'll also need--net=hostdocker run --net=host -it \-v ~/.notion-gcal-sync/client_secret.json:/home/worker/notion-gcal-sync/client_secret.json \notion-gcal-syncIf you do not want to mount, build it yourself with your credentials.FROMghrc.io/ravio1i/notion-gcal-syncCOPYtoken.json/home/worker/token.jsonCOPYconfig.yml/home/worker/config.jsonNotesBE AWARE OF THE FOLLOWING:This sync will update your source links in gcal. Links to mail etc. will get overwritten with a link to the notion page. The
original links will be put on top of the descriptionThis sync will update all your invites from other calendars not specified to your default calendar. There is a button on gcal
to restore backGoals defined from calendar apps are skipped.Recurrent original events are skipped. Recurrent occurrences of events are created one by one in notion. Changing in notion
will change only an occurrence in GCal.With around ~2500 events in gcal the sync:to get all events took ~1minKnown LimitationsThe Last update of an event of notion and google calendar are checked on minute base. When changing an event more then once within a minute and syncing right away