Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Thezap/Linker_EPITECH_To_GOOGLE_Calendar

Link Epitech calendar to google calendar
https://github.com/Thezap/Linker_EPITECH_To_GOOGLE_Calendar

calendar epitech epitech-intra google-calendar sync synchronization

Last synced: 3 days ago
JSON representation

Link Epitech calendar to google calendar

Awesome Lists containing this project

README

        

# Linker_EPITECH_To_GOOGLE_Calendar
Link your Epitech calendar to your Google calendar.

# Installation:

## Basics
- Clone this repository.
- Create a `config.json` file with the following content:

```json
{
"CALENDAR_ID": "",
"USER_COOKIE": "",
"GetModules": false
}
```

## Configuration
### Authentications
#### Add your Epitech session Cookie.

Find it by going on the intra and going into dev console -> application -> cookies -> user

You need to copy the value inside the config json.

#### Add your Calendar ID.

First things first, you can create an Epitech sub-calendar. This step is not mandatory, but creating a sub-calendar improves your general calendar clarity and its organisation.
To do so, create a new calendar by clicking on this menu:

![New Calendar](https://i.imgur.com/THXXkR0.png)

Then, select the `Settings and sharing` menu option for this sub-calendar:

![Settings and sharing](https://i.imgur.com/mvFQdWB.jpg)

Press `Ctrl+F`, search for `Calendar ID` in the page and copy-paste the address `[email protected]` in the `config.json` file for the `CALENDAR_ID` key.

#### Specify your getter preference

If you want to retrieve modules' timeline in addition of projects' one, replace `false` by `true` in the `config.json` file for the `GetModules` key.

In the end, your configuration file should look like this:
```json
{
"CALENDAR_ID": "[email protected]",
"USER_COOKIE": "XXXXXXXX",
"GetModules": false
}
```

### APIs configuration

Go to https://developers.google.com/calendar/quickstart/python and click on "Enable the Google Calendar API". Create a project and download the client configuration. The `credentials.json` must be located in the program directory.

Run `sudo pip3 install --upgrade google-api-python-client oauth2client` to install the Google API library, and `sudo pip3 install -r requirements.txt` to install all other dependencies.

If you do not have access to an internet browser (e.g., in a server context) run `python3 main.py --noauth_local_webserver` otherwise run `python3 main.py` to execute the program. *You will need to connect to your Google account the first time.*

# Notes
You can setup a crontab to synchronise your Epitech calendar regularly. (https://crontab.guru)