diff --git a/content/administration/maintain/google_oauth.rst b/content/administration/maintain/google_oauth.rst index d2c3616fe..dc3423bf3 100644 --- a/content/administration/maintain/google_oauth.rst +++ b/content/administration/maintain/google_oauth.rst @@ -21,64 +21,87 @@ Setup in Google Create a new project -------------------- -To get started, go to the `Google API Platform -`_. Log in with your *Google Workspace* -account if you have one, otherwise log in with your personal Gmail account (this should match the -email address you want to configure in Odoo). +To get started, go to the `Google API Console `_. Log in +with your *Google Workspace* account if you have one, otherwise log in with your personal Gmail +account (this should match the email address you want to configure in Odoo). -After that, click on :guilabel:`Create Project`, located on the far right of the OAuth consent -screen. If a project has already been created in this account, then the :guilabel:`New Project` -option will be located on the top left under the :guilabel:`Select a project` drop-down menu. +After that, click on :guilabel:`Create Project`, located on the far right of the :guilabel:`OAuth +consent screen`. If a project has already been created in this account, then the :guilabel:`New +Project` option will be located on the top right under the :guilabel:`Select a project` drop-down +menu. -On the :guilabel:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and browse for -the :guilabel:`Location`. Set the :guilabel:`Location` as the `Google Workspace` organization. If -you are using a personal Gmail account, then leave the :guilabel:`Location` as `No Organization`. +On the :menuselection:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and +browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace +organization*. If you are using a personal Gmail account, then leave the :guilabel:`Location` as +:guilabel:`No Organization`. .. image:: google_oauth/new-project.png :align: center - :alt: Project Name and Location for Google Oauth. + :alt: Project Name and Location for Google OAuth. -Click on :guilabel:`Create` to finish this step. On the next screen, :guilabel:`User Type` options, -select the :guilabel:`External` option, and then click on :guilabel:`Create` again, which will -finally navigate to the :guilabel:`Edit app registration` page. +Click on :guilabel:`Create` to finish this step. + +OAuth consent screen +-------------------- + +If the page doesn't redirect to the :menuselection:`User Type` options, click on :guilabel:`OAuth +consent screen` in the left menu. + +Under :guilabel:`User Type` options, select the appropriate :guilabel:`User Type`, and then click on +:guilabel:`Create` again, which will finally navigate to the :menuselection:`Edit app registration` +page. + +.. warning:: + *Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may + require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account + allows for **Internal** User Type to be used. + + Note, as well, that while the API connection is in the *External* testing mode, then no approval is + necessary from Google. User limits in this testing mode is set to 100 users. Edit app registration --------------------- -- On the :guilabel:`Oauth consent screen` step, under the :guilabel:`App information` section, - enter `Odoo` in the :guilabel:`App name` field. Select the organization's email address under the - :guilabel:`User support` email field. -- Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain` - and enter `odoo.com`. -- After that, under the :guilabel:`Developer contact information` section, enter the organization's - email address. Google uses this email address to notify the organization about any changes to - your project. -- Next, click on the :guilabel:`Save and Continue` button. -- Then, skip the :guilabel:`Scopes` page by scrolling to the bottom and clicking on - :guilabel:`Save and Continue`. -- Next, add the email being configured under the :guilabel:`Test users` step by clicking on - :guilabel:`Add Users` and then the :guilabel:`Save and Continue` button. A summary of the - :guilabel:`App registration` appears. -- Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard`. +Next we will configure the app registration of the project. + +On the :guilabel:`OAuth consent screen` step, under the :guilabel:`App information` section, enter +`Odoo` in the :guilabel:`App name` field. Select the organization's email address under the +:guilabel:`User support` email field. + +Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain` and +enter `odoo.com`. + +After that, under the :guilabel:`Developer contact information` section, enter the organization's +email address. Google uses this email address to notify the organization about any changes to your +project. + +Next, click on the :guilabel:`Save and Continue` button. Then, skip the :menuselection:`Scopes` page +by scrolling to the bottom and clicking on :guilabel:`Save and Continue`. + +If continuing in testing mode (External), add the email addresses being configured under the +:guilabel:`Test users` step, by clicking on :guilabel:`Add Users`, and then the :guilabel:`Save and +Continue` button. A summary of the app registration appears. + +Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard` to finish setting up the +project. Create Credentials ------------------ -Now that you have set up the project, you need to create credentials, which includes the -:guilabel:`Client ID` and :guilabel:`Client Secret`. First, click on :guilabel:`Credentials` in the -left sidebar menu. +Now that the project is set up, credentials should be created, which includes the *Client ID* and +*Client Secret*. First, click on :guilabel:`Credentials` in the left sidebar menu. -Then, click on :guilabel:`Create Credentials` in the top menu and select -:guilabel:`OAuth client ID` from the dropdown menu. +Then, click on :guilabel:`Create Credentials` in the top menu and select :guilabel:`OAuth client ID` +from the dropdown menu. - Under :guilabel:`Application Type`, select :guilabel:`Web Application` from the dropdown menu. -- In the :guilabel:`Client ID` field, enter `Odoo`. +- In the :guilabel:`Name` field, enter `Odoo`. - Under the :guilabel:`Authorized redirect URIs` label, click the button :guilabel:`ADD URI`, and - then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field. Be - sure to replace the *yourdbname* part of the URL with your actual Odoo database name. -- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and - :guilabel:`Client Secret`. Finally, copy each generated value for later use when configuring in - Odoo, and then navigate to the Odoo database. + then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field. + Be sure to replace the *yourdbname* part of the URL with the actual Odoo database name. +- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and :guilabel:`Client + Secret`. Finally, copy each generated value for later use when configuring in Odoo, and then + navigate to the Odoo database. .. image:: google_oauth/client-credentials.png :align: center @@ -91,32 +114,37 @@ Enter Google Credentials ------------------------ First, open Odoo and navigate to the :guilabel:`Apps` module. Then, remove the :guilabel:`Apps` -filter from the search bar and type in `Google`. Install the module called :guilabel:`Google Gmail`. +filter from the search bar and type in `Google`. Install the module called :guilabel:`Google +Gmail`. Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss` -section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates a -new option for :guilabel:`Gmail Credentials`. Then, copy and paste the :guilabel:`Client ID` and -:guilabel:`Client Secret` into the respective fields and :guilabel:`Save` the settings. +section, ensure that the checkbox for :guilabel:`Custom Email Servers` or :guilabel:`External Email +Servers` is checked. This populates a new option for :guilabel:`Gmail Credentials` or :guilabel:`Use +a Gmail Sever`. Then, copy and paste the respective values into the :guilabel:`Client ID` and +:guilabel:`Client Secret` fields and :guilabel:`Save` the settings. Configure outgoing email server ------------------------------- -After that, on the :guilabel:`General Settings` page, under :guilabel:`Custom Email Servers`, click -:guilabel:`Outgoing Email Servers` to configure the external Gmail account. +To configure the external Gmail account, return to the top of the :guilabel:`Custom Email Servers` +setting and then click the :guilabel:`Outgoing Email Servers` link. .. image:: google_oauth/outgoing-servers.png :align: center :alt: Configure Outgoing Email Servers in Odoo. -Then, :guilabel:`Create` a new email server and select the option for :guilabel:`Gmail`. Next, fill -in the :guilabel:`Description` (can be anything) and the email :guilabel:`Username` and click on -:guilabel:`Connect your Gmail account`. +Then, click on :guilabel:`New` or :guilabel:`Create` to create a new email server, and fill in the +:guilabel:`Name`, :guilabel:`Description`, and the email :guilabel:`Username` (if required). -A new window from :guilabel:`Google` opens to complete the authorization process. Select the +Next, click on :guilabel:`Gmail OAuth Authentication` or :guilabel:`Gmail` (under the +:guilabel:`Authenticate with` or :guilabel:`Connection` section). Finally, click on +:guilabel:`Connect your Gmail Account`. + +A new window labeled :guilabel:`Google` opens to complete the authorization process. Select the appropriate email address that is being configured in Odoo. -If the email address is a personal account, an extra step pops up, click :guilabel:`Continue` to -allow the verification and connect the Gmail account to Odoo. +If the email address is a personal account, then an extra step pops up, so click +:guilabel:`Continue` to allow the verification and connect the Gmail account to Odoo. Then, allow Odoo to access the Google account by clicking on :guilabel:`Continue` or :guilabel:`Allow`. After that, the page navigates back to the newly configured outgoing email @@ -127,9 +155,8 @@ server in Odoo. The configuration automatically loads the token in Odoo, and a t :align: center :alt: Configure Outgoing Email Servers in Odoo. -Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should -appear. The Odoo database can now send safe, secure emails through Google using OAuth -authentication. +Finally, :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database +can now send safe, secure emails through Google using OAuth authentication. Google OAuth FAQ ================ @@ -137,8 +164,8 @@ Google OAuth FAQ Production VS Testing Publishing Status --------------------------------------- -Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of Testing) will -display the following warning message: +Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of +:guilabel:`Testing`) will display the following warning message: .. image:: google_oauth/published-status.png :align: center @@ -158,39 +185,35 @@ populate. :align: center :alt: 403 Access Denied Error. -To correct this error, return to the :guilabel:`OAuth consent screen` under -:guilabel:`APIs & Services` and add test user(s) to the app. Add the email that you are configuring -in Odoo. +To correct this error, return to the :guilabel:`OAuth consent screen` under :guilabel:`APIs & +Services` and add test user(s) to the app. Add the email that you are configuring in Odoo. Gmail Module not updated ------------------------ -If the :guilabel:`Gmail Module` in Odoo has not been updated to the latest version, then a +If the *Google Gmail* module in Odoo has not been updated to the latest version, then a :guilabel:`Forbidden` error message populates. .. image:: google_oauth/forbidden-error.png :align: center :alt: Forbidden you don't have the permission to access the requested resource. -To correct this error, go to the :guilabel:`Apps` module and clear out the search terms. Then, -search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click on -the three dots on the upper right of the module and select :guilabel:`Upgrade`. +To correct this error, go to the :menuselection:`Apps` module and clear out the search terms. Then, +search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click +on the three dots on the upper right of the module and select :guilabel:`Upgrade`. Application Type ---------------- -When creating the :guilabel:`Credentials` (OAuth Client ID and Client Secret), if -:guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an -:guilabel:`Authorization Error` appears. +When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is +selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears. .. image:: google_oauth/error-400.png :align: center :alt: Error 400 Redirect URI Mismatch. To correct this error, delete the credentials already created and create new credentials, selecting -:guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under -:guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI` and type: -`https://yourdbname.odoo.com/google_gmail/confirm` in the field. - -.. note:: - Replace *yourdbname* in the URL with the Odoo database name. +:guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under :guilabel:`Authorized +redirect URIs`, click :guilabel:`ADD URI` and type: +`https://yourdbname.odoo.com/google_gmail/confirm` in the field, being sure to replace *yourdbname* +in the URL with the Odoo database name. diff --git a/content/applications/general/auth/google.rst b/content/applications/general/auth/google.rst index f13c6f279..406d84c5b 100644 --- a/content/applications/general/auth/google.rst +++ b/content/applications/general/auth/google.rst @@ -2,14 +2,14 @@ Google Sign-In Authentication ============================= -The **Google Sign-In Authentication** is a useful function that allows your users to sign in to Odoo -with their Google account. +The *Google Sign-In Authentication* is a useful function that allows Odoo users to sign in to their +database with their Google account. -This is particularly helpful if your organization uses Google Workforce and you want the employees -within your organization to connect to Odoo with their Google Accounts. +This is particularly helpful if the organization uses Google Workspace, and wants employees within +the organization to connect to Odoo using their Google Accounts. .. seealso:: - - :doc:`../../productivity/calendar/google` + - :doc:`/applications/productivity/calendar/google` - :doc:`/administration/maintain/google_oauth` .. _google-sign-in/configuration: @@ -17,7 +17,7 @@ within your organization to connect to Odoo with their Google Accounts. Configuration ============= -The integration of the Google sign-in function requires configuration both on Google and on Odoo. +The integration of the Google sign-in function requires configuration both on Google *and* Odoo. .. _google-sign-in/api: @@ -25,15 +25,16 @@ Google API Dashboard -------------------- #. Go to the `Google API Dashboard `_. -#. Make sure the right project is opened. If you don't have a project yet, click on *Create - Project*, fill out the project name and other details of your company, and click on *Create*. +#. Make sure the right project is opened. If there isn't a project yet, click on :guilabel:`Create + Project`, fill out the project name and other details of the company, and click on + :guilabel:`Create`. .. image:: google/new-project-details.png :align: center - :alt: Filling out the details of a new project + :alt: Filling out the details of a new project. .. tip:: - Choose the name of your own company from the drop-down menu. + Choose the name of the company from the drop-down menu. .. _google-sign-in/oauth: @@ -44,16 +45,30 @@ OAuth consent screen .. image:: google/consent-selection.png :align: center - :alt: Google oauth consent selection menu + :alt: Google OAuth consent selection menu. -#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`. +#. Choose one of the options (:guilabel:`Internal` / :guilabel:`External`), and click on + :guilabel:`Create`. .. image:: google/consent.png :align: center - :alt: Choice of a user type in oauth consent + :alt: Choice of a user type in OAuth consent. -#. Fill out your details and domain info, then click on *Save and Continue*. -#. On the **Scopes** page, leave all fields as is, and click on *Save and Continue*. + .. warning:: + *Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google + may require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* + account allows for **Internal** User Type to be used. + + Note, as well, that while the API connection is in the *External* testing mode, then no + approval is necessary from Google. User limits in this testing mode is set to 100 users. + +#. Fill out the required details and domain info, then click on :guilabel:`Save and Continue`. +#. On the :menuselection:`Scopes` page, leave all fields as is, and click on :guilabel:`Save and + Continue`. +#. Next, if continuing in testing mode (*External*), add the email addresses being configured under + the :guilabel:`Test users` step by clicking on :guilabel:`Add Users`, and then the + :guilabel:`Save and Continue` button. A summary of the app registration appears. +#. Finally, scroll to the bottom, and click on :guilabel:`Back to Dashboard`. .. _google-sign-in/credentials: @@ -64,24 +79,24 @@ Credentials .. image:: google/credentials-button.png :align: center - :alt: Credentials button menu + :alt: Credentials button menu. -#. Click on *Create Credentials* and select **OAuth client ID**. +#. Click on :guilabel:`Create Credentials`, and select :guilabel:`OAuth client ID`. .. image:: google/client-id.png :align: center - :alt: Oauth client id selection + :alt: OAuth client id selection. -#. Select **Web Application** as the Application type. Now configure the allowed pages on which you - will be redirected. +#. Select :guilabel:`Web Application` as the :guilabel:`Application Type`. Now, configure the + allowed pages on which Odoo will be redirected. - In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain - immediately followed by ``/auth_oauth/signin``. For example: - ``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*. + In order to achieve this, in the :guilabel:`Authorized redirect URIs` field, enter the database's + domain immediately followed by `/auth_oauth/signin`. For example: + `https://mydomain.odoo.com/auth_oauth/signin`, then click on :guilabel:`Create`. - .. image:: google/create-client-id.png - :align: center - :alt: Creating oauth client id +#. Now that the *OAuth client* has been created, a screen will appear with the :guilabel:`Client ID` + and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID` for later, as it will be necessary + for the configuration in Odoo, which will be covered in the following steps. .. _google-sign-in/auth-odoo: @@ -93,47 +108,53 @@ Google Authentication on Odoo Retrieve the Client ID ~~~~~~~~~~~~~~~~~~~~~~ -Once you have done the previous steps, two keys are generated on the Google API Dashboard: *Client -ID* and *Client Secret*. Copy the *Client ID*. +Once the previous steps are complete, two keys are generated on the Google API Dashboard: +:guilabel:`Client ID` and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID`. .. image:: google/secret-ids.png :align: center - :alt: Google OAuth Client ID generated + :alt: Google OAuth Client ID generated. .. _google-sign-in/odoo-activation: Odoo activation ~~~~~~~~~~~~~~~ -#. Go to :menuselection:`Odoo General Settings --> Integrations` and activate **OAuth - Authentication**. +#. Go to :menuselection:`Odoo General Settings --> Integrations` and activate :guilabel:`OAuth + Authentication`. .. note:: - You may have to log in again after this step. + Odoo may prompt the user to log-in again after this step. -#. Go back to :menuselection:`General Settings --> Integrations`, activate **Google - Authentication**, then fill out the *Client ID* with the key from the Google API Dashboard, and - *Save*. +#. Go back to :menuselection:`General Settings --> Integrations --> OAuth Authentication`, activate + the selection and :guilabel:`Save`. Next, return to :menuselection:`General Settings --> + Integrations --> Google Authentication` and activate the selection. Then fill out the + :guilabel:`Client ID` with the key from the Google API Dashboard, and :guilabel:`Save`. .. image:: google/odoo-client-id.png :align: center - :alt: Filling out the client id in Odoo settings + :alt: Filling out the client id in Odoo settings. + + .. note:: + Google OAuth2 configuration can also be accessed by clicking on :guilabel:`OAuth Providers` + under the :guilabel:`OAuth Authentication` heading in :menuselection:`Integrations`. .. _google-sign-in/log-in: Log in to Odoo with Google ========================== -To link your Google account to your Odoo profile, click on *Log in with Google* when you are asked -to choose a new password. +To link the Google account to the Odoo profile, click on :guilabel:`Log in with Google` when first +logging into Odoo. .. image:: google/first-login.png :align: center - :alt: Reset password screen with "Log in with Google" button + :alt: Reset password screen with "Log in with Google" button. -Existing users must :ref:`reset their password ` to access the *reset -password* page, while new users can directly click on *Log in with Google* instead of choosing a new -password. + +Existing users must :ref:`reset their password ` to access the +:menuselection:`Reset Password` page, while new users can directly click on :guilabel:`Log in with +Google`, instead of choosing a new password. .. seealso:: - `Google Cloud Platform Console Help - Setting up OAuth 2.0 diff --git a/content/applications/general/auth/google/create-client-id.png b/content/applications/general/auth/google/create-client-id.png deleted file mode 100644 index b247d2731..000000000 Binary files a/content/applications/general/auth/google/create-client-id.png and /dev/null differ diff --git a/content/applications/productivity/calendar/google.rst b/content/applications/productivity/calendar/google.rst index 8e052763e..cd15753b3 100644 --- a/content/applications/productivity/calendar/google.rst +++ b/content/applications/productivity/calendar/google.rst @@ -1,9 +1,9 @@ -=============================== -Google Calendar synchronization -=============================== +===================================== +Synchronize Google calendar with Odoo +===================================== -Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go -in both directions). This integration helps organize your schedule so you never miss a meeting. +Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go in +both directions). This integration helps organize schedules, so a meeting is never missed. .. seealso:: - :doc:`/applications/general/auth/google` @@ -12,96 +12,100 @@ in both directions). This integration helps organize your schedule so you never Setup in Google =============== -Enable Google Calendar API --------------------------- +Select (or create) a project +---------------------------- -Begin by creating a new Google API project and enabling the Google Calendar API. Then, go to the -`Google API Console `_ and log into your Google account. +Create a new Google API project and enable the Google Calendar API. First, go to the `Google API +Console `_ and log into the Google account. .. note:: - If this is your first time visiting this page, Google will prompt you to enter a country and + If this is the first time visiting this page, Google will prompt the user to enter a country and agree to the Terms of Service. Select a country from the drop-down list and agree to the :abbr:`ToS (Terms of Service)`. -Next, click :guilabel:`Select a project` and select or create an API project to store credentials. +Next, click :guilabel:`Select a project` and select (or create) an API project to configure OAuth +in, and store credentials. Click :guilabel:`New Project`. .. image:: google/new-api-project.png :align: center :alt: Create a new API project to store credentials. .. tip:: - Give the API Project a clear name like "Odoo Sync" so you can easily find it. + Give the API Project a clear name, like "Odoo Sync", so it can be easily identified. -Then, open the API Project and click :guilabel:`Enable APIs and Services`. +Enable Google calendar API +-------------------------- + +Now, click on :guilabel:`Enabled APIs and Services` in the left menu. Select :guilabel:`Enabled APIs +and Services` again if the :guilabel:`Search bar` doesn't appear. .. image:: google/enable-apis-services.png :align: center :alt: Enable APIs and Services on the API Project. -After that, search for *Google Calendar API* using the search bar and select :guilabel:`Google +After that, search for `Google Calendar API` using the search bar and select :guilabel:`Google Calendar API` from the search results. Click :guilabel:`Enable`. .. image:: google/enable-google-cal-api.png :align: center :alt: Enable the Google Calendar API. +OAuth consent screen +-------------------- + +Now that the API project has been created, OAuth should be configured. To do that, click on +:guilabel:`OAuth consent` in the left menu and then select the :guilabel:`User Type`. + +.. warning:: + *Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may + require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account + allows for **Internal** User Type to be used. + + Note, as well, that while the API connection is in the *External* testing mode, then no approval is + necessary from Google. User limits in this testing mode is set to 100 users. + +In the second step, :guilabel:`OAuth Consent Screen`, type `Odoo` in the :guilabel:`App name` field, +select the email address for the :guilabel:`User support email` field, and type the email address +for the :guilabel:`Developer contact information` section. Then, click :guilabel:`Save and +Continue`. + +Skip the third step, :menuselection:`Scopes`, by clicking :guilabel:`Save and Continue`. + +Next, if continuing in testing mode (External), add the email addresses being configured under the +:guilabel:`Test users` step, by clicking on :guilabel:`Add Users`, and then the :guilabel:`Save and +Continue` button. A summary of the app registration appears. + +Finally, scroll to the bottom, and click on :guilabel:`Back to Dashboard`. + +Now, the OAuth consent has been configured, and it's time to create credentials. + Create credentials ------------------ -Now that you have created your API project and enabled the Google Calendar API, you need to create -credentials. Begin by clicking :guilabel:`Create Credentials`. Google will then guide you through -four steps to create your API credentials. +The *Client ID* and the *Client Secret* are both needed to connect Google Calendar to Odoo. This is +the last step in the Google console. Begin by clicking :guilabel:`Credentials` in the left menu. +Then, click :guilabel:`Create Credentials`, and select :guilabel:`OAuth client ID`, Google will open +a guide to create credentials. -- In the first step, :guilabel:`Credential Type`, select the :guilabel:`Google Calendar API` and - :guilabel:`User Data` options. Then, click :guilabel:`Next`. +Under :menuselection:`Create OAuth Client ID`, select :guilabel:`Website application` for the +:guilabel:`Application Type` field, and type `My Odoo Database` for the :guilabel:`Name`. -.. image:: google/credential-type.png - :align: center - :alt: Select Google Calendar API and User Data for the Credential Type. - -- In the second step, :guilabel:`OAuth Consent Screen`, type *Odoo* in the :guilabel:`App name` - field, select your email address for the :guilabel:`User support email` field, and type your email - address for the :guilabel:`Developer contact information` section. Then, click :guilabel:`Save - and Continue`. - -- Skip the third step, :guilabel:`Scopes`, by clicking :guilabel:`Save and Continue`. - -- In the last step, :guilabel:`OAuth Client ID`, select :guilabel:`Website application` for the - :guilabel:`Application Type` field and type *My Odoo Database* for the :guilabel:`Name`. - - - Under the :guilabel:`Authorized JavaScript Origins` section, click :guilabel:`+ Add URI` and - type your company's Odoo URL address. - - - Under the :guilabel:`Authorized redirect URIs` section, click :guilabel:`+ Add URI` and type - your company's Odoo URL address followed by */google_account/authentication*. Finally, click - :guilabel:`Create` and :guilabel:`Done`. +- Under the :guilabel:`Authorized JavaScript Origins` section, click :guilabel:`+ Add URI` and + type the company's Odoo full :abbr:`URL (Uniform Resource Locator)` address. +- Under the :guilabel:`Authorized redirect URIs` section, click :guilabel:`+ Add URI` and type + the company's Odoo :abbr:`URL (Uniform Resource Locator)` address followed by + `/google_account/authentication`. Finally, click :guilabel:`Create`. .. image:: google/uri.png :align: center :alt: Add the authorized JavaScript origins and the authorized redirect URIs. -After successfully creating a new API project, enabling the Google Calendar API, and generating the -Google Calendar API credentials, you should now have a Client ID and Client Secret. - -Client ID & Client Secret -------------------------- - -The **Client ID** and the **Client Secret** are both needed to connect Google Calendar to Odoo. Find -the Client ID and the Client Secret by opening the Google Cloud Platform navigation menu and going -to :menuselection:`API & Services --> Credentials --> OAuth 2.0 Client IDs`. - -Next, locate the credentials you just created for the Google Calendar API. Then, click on -:guilabel:`Edit OAuth Client` (the pencil icon). The page will redirect to the edit page, where you -can view the Client ID and the Client Secret. - -.. image:: google/edit-oauth-2.png - :align: center - :alt: Click Edit OAuth Client to view the credential details. +A :guilabel:`Client ID` and :guilabel:`Client Secret` will appear, copy these to a notepad. Setup in Odoo ============= -Once the Client ID and the Client Secret are located, open the Odoo database and go to +Once the *Client ID* and the *Client Secret* are located, open the Odoo database and go to :menuselection:`Settings --> General Settings --> Integrations --> Google Calendar`. Check the box next to :guilabel:`Google Calendar`. @@ -109,20 +113,25 @@ next to :guilabel:`Google Calendar`. :align: center :alt: The Google Calendar checkbox in General Settings. -Next, copy and paste the Client ID and the Client Secret from the Google Calendar API Credentials -page into their respective fields below the :guilabel:`Google Calendar` checkbox. Then, click -:guilabel:`Save`. +Next, copy and paste the *Client ID* and the *Client Secret* from the Google Calendar API +credentials page into their respective fields below the :guilabel:`Google Calendar` checkbox. Then, +click :guilabel:`Save`. -Finally, open the Calendar module in Odoo and click on the :guilabel:`Google` sync button to sync -Google Calendar with Odoo. +Sync calendar in Odoo +===================== + +Finally, open the :menuselection:`Calendar` app in Odoo and click on the :guilabel:`Google` sync +button to sync Google Calendar with Odoo. .. image:: google/sync-google.png :align: center :alt: Click the Google sync button in Odoo Calendar to sync Google Calendar with Odoo. .. note:: - The first time you sync your Google Calendar with Odoo, the page will redirect to your Google - Account. Click :guilabel:`OK` and :guilabel:`Allow` to authorize Odoo to access Google Calendar. + When syncing Google Calendar with Odoo for the first time, the page will redirect to the Google + Account. From there, select the :guilabel:`Email Account` that should have access, then select + :guilabel:`Continue` (should the app be unverifed), and finally select :guilabel:`Continue` (to + give permission for the transfer of data)`. .. image:: google/trust-odoo.png :align: center @@ -130,6 +139,17 @@ Google Calendar with Odoo. Now, Odoo Calendar is successfully synced with Google Calendar! -.. image:: google/successful-sync.png - :align: center - :alt: Successfully sync between Odoo and Google Calendar. +.. warning:: + Odoo highly recommends testing the Google calendar synchronization on a test database and a test + email address (that is not used for any other purpose) before attempting to sync the desired + Google Calendar with the user's production database. + + Once a user synchronizes their Google calendar with the Odoo calendar: + + - Creating an event in Odoo causes Google to send an invitation to all event attendees. + - Deleting an event in Odoo causes Google to send a cancellation to all event attendees. + - Adding a contact to an event causes Google to send an invitation to all event attendees. + - Removing a contact from an event causes Google to send a cancellation to all event attendees. + + Events can be created in Google Calendar without sending a notification by selecting + :guilabel:`Don't Send` when prompted to send invitation emails. diff --git a/content/applications/productivity/calendar/google/credential-type.png b/content/applications/productivity/calendar/google/credential-type.png deleted file mode 100644 index 5e5f64b9f..000000000 Binary files a/content/applications/productivity/calendar/google/credential-type.png and /dev/null differ diff --git a/content/applications/productivity/calendar/google/edit-oauth-2.png b/content/applications/productivity/calendar/google/edit-oauth-2.png deleted file mode 100644 index 9cf436940..000000000 Binary files a/content/applications/productivity/calendar/google/edit-oauth-2.png and /dev/null differ diff --git a/content/applications/productivity/calendar/google/successful-sync.png b/content/applications/productivity/calendar/google/successful-sync.png deleted file mode 100644 index c834b3066..000000000 Binary files a/content/applications/productivity/calendar/google/successful-sync.png and /dev/null differ diff --git a/content/applications/productivity/calendar/google/sync-google.png b/content/applications/productivity/calendar/google/sync-google.png index 94f51a9df..9bdb3b38d 100644 Binary files a/content/applications/productivity/calendar/google/sync-google.png and b/content/applications/productivity/calendar/google/sync-google.png differ diff --git a/content/applications/productivity/calendar/google/trust-odoo.png b/content/applications/productivity/calendar/google/trust-odoo.png index 1d90763f5..79ec7a610 100644 Binary files a/content/applications/productivity/calendar/google/trust-odoo.png and b/content/applications/productivity/calendar/google/trust-odoo.png differ