Conectar Gmail a Odoo con Google OAuth

Odoo es compatible con la OAuth de Google para Gmail. Para enviar correos electrónicos seguros desde un dominio personalizado, solo necesita configurar algunos ajustes en la plataforma Espacio de trabajo de Google, así como en el backend de la base de datos de Odoo. Esta configuración funciona al usar una dirección de correo electrónico personal o una creada por un dominio personalizado.

Truco

Para obtener más información, consulte la documentación de Google sobre la configuración de OAuth.

Configuración en Google

Crear un nuevo proyecto

Primero, vaya a la Consola de API de Google. Inicie sesión en su cuenta de Google Workspace si tiene una o inicie sesión en su cuenta personal de Gmail (debe coincidir con la dirección de correo electrónico que desea configurar en Odoo).

Luego, haga clic en Crear proyecto en la parte derecha de la pantalla de consentimiento de OAuth. Si un proyecto ya se creó en esta cuenta, entonces la opción Nuevo proyecto estará situada en la parte superior derecha, en el menú desplegable Seleccionar un proyecto.

En la pantalla de Nuevo proyecto, cambie el nombre de proyecto a Odoo y busque la ubicación. Establezca la ubicación como la organización de Google Workspace. Si utiliza una cuenta personal de Gmail, establezca la ubicación como Sin organización.

screenshot: general-email-google-new-project
menu
(Google Cloud console) ‣ New Project
shows
The New Project form with Project name and Location.
module
google_gmail
notes
Google website.

Haga clic en Crear para finalizar este paso.

Editar el registro a la aplicación

A continuación, configuraremos el registro a la aplicación del proyecto.

En el paso de la pantalla de consentimiento de OAuth, en la sección de información de la aplicación, escriba Odoo en el campo nombre de aplicación. Seleccione la dirección de correo electrónico de la organización en el campo de correo electrónico de soporte de usuario.

A continuación, en Dominio de la aplicación ‣ Dominios autorizados, haga clic en Agregar dominio e introduzca el dominio de la base de datos de Odoo (por ejemplo, company-name.com).

Después de eso, en la sección información de contacto de desarrollador, introduzca la dirección de correo electrónico de la organización. Google utiliza esta dirección de correo electrónico para notificar a la organización de cualquier cambio en su proyecto.

Haga clic en guardar y continuar. Omita la página alcances, vaya hasta la parte inferior de la página y haga clic en guardar y continuar.

Si sigue en el modo de prueba (externo), y desea agregar las direcciones de correo que configuró en el paso Usuarios de prueba haga clic en Agregar usuarios y después en Guardar y continuar. Verá un resumen del registro de la aplicación.

Por último, vaya al final de la página y haga clic en volver al tablero para terminar de configurar el proyecto.

Crear credenciales

Ahora que el proyecto está configurado, debe crear credenciales, entre ellas el ID del cliente y el secreto del cliente. Primero, haga clic en Credenciales en el menú de la barra lateral izquierda.

Posteriormente, haga clic en crear credenciales en el menú superior y seleccione ID de cliente de OAuth en el menú desplegable.

  • En tipo de aplicación, seleccione aplicación web en el menú desplegable.

  • Escriba Odoo en el campo Nombre.

  • En la etiqueta URIs de redirección autorizados, haga clic en el botón AGREGAR URI e introduzca https://<odoo base url>/google_gmail/confirm en el campo URIs 1.

  • A continuación, haga clic en Crear para generar un ID de cliente de OAuth y un secreto de cliente. Por último, copie cada valor generado para usar más tarde en la configuración de Odoo y luego vaya a la base de datos de Odoo.

screenshot: general-email-google-client-credentials
menu
(Google Cloud console) ‣ Credentials
shows
The "OAuth client created" dialog with Client ID and Client Secret.
highlight
Client ID and Client Secret.
module
google_gmail
notes
Google website; blur IDs and secrets.

Configuración en Odoo

Introducir credenciales de Google

Primero, abra Odoo y vaya al módulo Aplicaciones. Luego, elimine el filtro Aplicaciones de la barra de búsqueda y escriba Google. Instale el módulo que se llama Google Gmail.

Después, vaya a Ajustes ‣ Ajustes generales y asegúrese de que la casilla de servidores de correo electrónico personalizados o servidores de correo electrónico externos en la sección Conversaciones esté seleccionada. Aparecerá una nueva opción para las credenciales de Gmail o para usar un servidor de Gmail. Luego, copie y pegue el ID de cliente y el secreto de cliente en sus respectivos campos y guarde los ajustes.

Configurar servidor de correos electrónicos salientes

Para configurar la cuenta externa de Gmail, regrese a la parte superior de los ajustes para los servidores de correo electrónico personalizados y haga clic en el enlace Servidores de correo saliente .

screenshot: general-email-google-outgoing-servers-link
menu
Settings ‣ General Settings ‣ Emails
shows
The "Use Custom Email Servers" setting with the Gmail Credentials fields and the "Outgoing Email Servers" link.
highlight
The "Outgoing Email Servers" link.
module
google_gmail
notes
English UI, crop to the section; blur the values.

A continuación, haga clic en Nuevo para crear un nuevo servidor de correo y complete el Nombre, la Descripción y el Nombre de usuario del correo electrónico (si es necesario).

Haga clic en autenticación de Gmail con OAuth o en Gmail (en la sección autenticar con o conexión). Por último, haga clic en Conectar su cuenta de Gmail.

Se abrirá una nueva ventana con el nombre Google para completar el proceso de autorización. Seleccione la dirección de correo electrónico adecuada que se configurará en Odoo.

Si la dirección de correo electrónico es una cuenta personal, aparecerá un paso adicional. Haga clic en continuar para permitir la verificación y conectar la cuenta de Gmail con Odoo.

Después, brinde a Odoo acceso a la cuenta de Google al hacer clic en continuar o permitir. Después de eso, la página lo redirecciona al servidor de correo electrónico recién configurado en Odoo. La configuración carga de forma automática el token en Odoo y aparecerá una etiqueta de color verde que dice Token de Gmail válido.

screenshot: general-email-google-token-valid
menu
Settings ‣ Technical ‣ Email ‣ Outgoing Mail Servers ‣ (Gmail server)
shows
Outgoing mail server with "Authenticate with" set to "Gmail OAuth Authentication" and the green "Gmail Token Valid" indicator.
highlight
The token indicator.
module
google_gmail
notes
English UI, crop to the form.

Por último, pruebe la conexión. Debe aparecer un mensaje de confirmación. La base de datos de Odoo ahora puede enviar correos electrónicos seguros a través de Google mediante la autenticación OAuth.

Preguntas frecuentes sobre la autenticación OAuth de Google

Estados de publicación de producción y de prueba

Si elige producción como estado de publicación (en lugar de prueba) aparecerá el siguiente mensaje de advertencia:

screenshot: general-email-google-testing-warning
menu
(Google sign-in page)
shows
The Google warning that the app is in testing and limited to 100 sensitive scope logins.
module
google_gmail
notes
Google website.

Para corregir esta advertencia, vaya a la plataforma de API de Google. Si el estado de publicación es en producción, haga clic en volver a prueba para corregir el problema.

No se agregaron usuarios de prueba

Si no se agregaron usuarios de prueba a la pantalla de consentimiento de OAuth, entonces recibirá un error 403 de acceso denegado.

screenshot: general-email-google-403
menu
(Google sign-in page)
shows
The "Error 403: access_denied" page shown when the user is not a test user of the app.
module
google_gmail
notes
Google website.

Para corregir este error, regrese a la pantalla de consentimiento de OAuth en API y servicios y agregue usuarios de prueba a la aplicación. Agregue el correo electrónico que está configurando en Odoo.

El módulo de Gmail no se actualizó

Si el módulo Google Gmail de Odoo no se ha actualizado a la versión más reciente, entonces recibirá mensaje de error de tipo prohibido.

screenshot: general-email-google-forbidden
menu
(browser)
shows
The "Forbidden – You don't have the permission to access the requested resource" error page displayed after the Google authorization.
module
google_gmail
notes
Browser window; example domain in the URL.

Para corregir este error, vaya al módulo Aplicaciones y elimine los términos de búsqueda. Después, busque Gmail o Google y actualice el módulo Google Gmail. Por último, haga clic en los tres puntos en la parte superior derecha del módulo y seleccione actualizar.

Tipo de aplicación

Aparecerá un error de autorización al crear las credenciales (ID de cliente y secreto de cliente de OAuth) si seleccionó aplicación de escritorio como el tipo de aplicación.

screenshot: general-email-google-400
menu
(Google sign-in page)
shows
The "Error 400: redirect_uri_mismatch" authorization error.
module
google_gmail
notes
Google website.

Para corregir este error, elimine las credenciales ya creadas y cree unas nuevas, seleccionando Aplicación web como Tipo de aplicación. A continuación, en URIs de redirección autorizados, haga clic en AGREGAR URI y escriba: https://<odoo base url>/google_gmail/confirm en el campo, sustituyendo <odoo base url> por la URL de la base de datos de Odoo (por ejemplo, https://erp.company-name.com).