https://github.com/eikenb/ihol
I Hate OutLook (O365 calendar pull)
https://github.com/eikenb/ihol
i
Last synced: about 1 year ago
JSON representation
I Hate OutLook (O365 calendar pull)
- Host: GitHub
- URL: https://github.com/eikenb/ihol
- Owner: eikenb
- License: other
- Created: 2017-07-15T03:41:51.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T06:05:48.000Z (over 3 years ago)
- Last Synced: 2025-04-03T18:11:19.335Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 18.6 KB
- Stars: 20
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# I Hate OutLook (ihol)
We use Office-365 at work, but I despise the online Outlook 'client' for
calendaring. So I wrote this. Turns out several of my co-workers are in the
same boat, so I'm sharing this here.
At the moment it outputs calendar events in
[remind](http://www.roaringpenguin.com/products/remind/) or basic
[ICal](https://pypi.python.org/pypi/icalendar) formats for adding them to local
calendars. It will also output the full body of the next or more events.
## Authentication Setup
MS requires Oauth2 based login now which complicates setup a bit. You need a
set of API credentials from MS and store them in a config file in json format.
`conf.js.template` is a template to be renamed to `conf.json` and populate
with your own id/credentials (`ClientID`, `ClientSecret`, `TenantID`)
The O365 library used has this documented in their
[README](https://github.com/O365/python-o365#authentication). Do the first step
(with all its sub-steps) to get the `Application ID` and `Client Secret`. When
adding permissions, be sure to add these:
`Calendars.ReadWrite`, `offline_access` and `User.Read`
Be sure to have the `Application (client) ID` and the `Client Secret` saved. If
there is a `Directory (tenant) ID` in the Overview write it down as well.
**NOTE**: if there is no `Directory (tenant) id`, use "common" TenantID in the
conf.json file.
Once that is done, continue below..
- Copy `conf.json.template` to `conf.json`
- Create your virtualenv buy running `createVenv.sh`
- Populate your `conf.json` with various IDs obtained above
- Run the ./initial-auth.py and follow the directions
- ihol should now run
Note you also need to keep the ./o365_token.txt file created by the
initial-auth.py run. The token in that file will stay good indefinitely as long
as you use it once every 90 days.