Office 365 Connector
This module allows you to synchronize your Office 365 calendar with Odoo.
Table of contents
For this module you need to install requests-oauthlib.
Open the terminal and run: sudo pip3 install requests-oauthlib
First you have to register your Odoo server with the Microsoft App Registration Portal:
- Go to https://apps.dev.microsoft.com/;
- under Converged applications click ‘Add an app’;
- fill in any name e.g. ‘My Odoo Server’;
- click ‘Generate New Password’ and store the password we will need it later;
- click ‘Add Platform’ and select ‘Web’;
- enter the redirect url e.g.: ‘https://yourodooserver.com/office-365-oauth/success’ replace ‘yourodooserver.com’ with the address of your Odoo server (note that your Odoo server has to be accessible via HTTPS);
- add the following permissions: ‘User.Read’, ‘Calendars.ReadWrite’, and ‘offline_access’.
It should look like this:
- Go to Settings > General Settings;
- fill the Client ID with the Client ID / Application ID from the Microsoft App Registration Portal;
- put the password from before in Client Secret.
To start synchronizing your calendar:
- Go to Calendar;
- click Sync with office 365;
- you’ll be redirected to the login page of Office 365;
- login into you’re account;
- on completion you’ll be redirected (if setup properly) back to your Odoo server.
The synchronization is personal per user.
- Synchronize contacts
- Synchronize files
- Synchronize notes
Please log in to comment on this module
- The author can leave a single reply to each comment.
- This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
- If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Great but a small adjustment would make it way better
To anyone confused why this is a sync app that only goes one way, which is a misleading use of the word, I believe to make it work both ways simply add the following code on line 206 of the calendar_event.py file: (pretty sure the comment system will remove my line breaks so it is what it is, good luck) to_add = self.search([ ('office_365_id', 'not in', ids), ('office_365_id', '=', False), ('user_id', '=', user.id), ('start', '', start) ]) for event in to_add: event._office_365_push_create() It just searches for events that don't have o365 equivalents and adds them using the existing function the author already made for us. So I am not sure if there is some issue I am not seeing but this, in my opinion, should be in the app by default.
Re: Great but a small adjustment would make it way better
Feel free to make a PR in https://github.com/onesteinbv/addons-onestein/tree/12.0