使用Google OAuth将Gmail连接到Odoo¶
Odoo 兼容 Google 的 OAuth 用于 Gmail。为了从自定义域发送安全电子邮件,只需要在 Google 的 Workspace 平台上配置一些设置,以及在 Odoo 数据库的后端上进行配置。此配置可通过使用个人电子邮件地址或自定义域创建的地址来实现。
小技巧
更多信息,请访问 Google’s documentation 了解如何设置 OAuth。
另请参阅
在 Google 中设置¶
创建一个新项目¶
要开始,请转到 Google API Console。使用您的 Google Workspace 帐户登录(如果您有一个),否则使用您的个人 Gmail 帐户登录(这应该与您要在 Odoo 中配置的电子邮件地址匹配)。
After that, click on 创建项目, located on the far right of the OAuth consent screen. If a project has already been created in this account, then the New Project option will be located on the top right under the Select a project drop-down menu.
在 Project name 重命名为 Odoo
并浏览 Location。将 Location 设置为 Google Workspace organization。如果您使用的是个人 Gmail 帐户,则将 Location 保留为 No Organization。

点击 创建 完成此步骤。
OAuth 授权屏幕¶
如果页面没有重定向到 OAuth 同意屏幕。
选项,请在左侧菜单中点击在 用户类型 选项下,选择适当的 用户类型,然后再次点击 创建,最终将导航到 页面。
警告
个人 Gmail 帐户只允许是 外部 用户类型,这意味着 Google 可能需要批准,或者需要添加 范围。然而,使用 Google WorkSpace 帐户可以使用 内部 用户类型。
注意,同时,当API连接处于 外部 测试模式时,无需获得Google的批准。此测试模式下的用户限制设置为100个用户。
编辑应用程序注册¶
接下来,我们将配置项目的应用程序注册。
在 OAuth consent screen 步骤中,在 App information 部分,输入 Odoo
在 App name 字段中。在 User support email 字段下选择组织的电子邮件地址。
接下来,在 添加域名 并输入 odoo.com
。
之后,在 开发者联系信息 部分,输入组织的电子邮件地址。Google 使用此电子邮件地址通知组织有关项目的任何更改。
接下来,点击 保存并继续 按钮。然后,通过滚动到底部并点击 页面的 保存并继续 跳过。
如果继续处于测试模式(外部),请在 测试用户 步骤下配置的电子邮件地址上,点击 添加用户,然后点击 保存并继续 按钮。应用注册的摘要将显示。
最后,滚动到底部,点击 返回仪表盘 完成项目设置。
创建凭据¶
现在项目已经设置好,应该创建凭据,其中包括 Client ID 和 Client Secret。首先,在左侧边栏菜单中点击 Credentials。
然后,在顶部菜单中点击 创建凭据,然后从下拉菜单中选择 OAuth 客户端 ID。
在 Application Type 下,从下拉菜单中选择 Web Application。
在 Name 字段中输入
Odoo
。在 授权重定向 URI 标签下,点击 添加 URI 按钮,然后在 URI 1 字段中输入
https://yourdbname.odoo.com/google_gmail/confirm
。请确保将 URL 中的 yourdbname 部分替换为实际的 Odoo 数据库名称。接下来,点击 创建 以生成 OAuth 客户端ID 和 客户端密钥。最后,复制每个生成的值以备在配置Odoo时使用,然后导航到Odoo数据库。

在Odoo中设置¶
输入 Google 凭据¶
首先,打开 Odoo 并导航到 Apps 模块。然后,从搜索栏中移除 Apps 过滤器,并输入 Google
。安装名为 Google Gmail 的模块。
接下来,导航到 讨论 部分,确保 自定义电子邮件服务器 或者 外部电子邮件服务器 复选框被选中。这将 生成一个新的选项 Gmail 凭据 或者 使用 Gmail 服务器。然后,将 相应的值复制并粘贴到 客户端 ID 和 客户端密钥 字段中,并 保存 设置。
,在配置发件人电子邮件服务器¶
要配置外部 Gmail 帐户,请返回到 自定义电子邮件服务器 设置的顶部,然后点击 发送电子邮件服务器 链接。

然后,点击 New 或 Create 来创建一个新的邮件服务器,并填写 Name , Description 和邮件 Username (如果需要)。
接下来,点击 Gmail OAuth 认证 或者 Gmail (在 Authenticate with 或者 Connection 部分下面)。 最后,点击 连接你的 Gmail 账户。
打开一个标有 Google 的新窗口以完成授权过程。在Odoo中选择正在配置的适当的电子邮件地址。
如果电子邮件地址是个人帐户,则会弹出一个额外的步骤,所以点击 Continue 允许验证并将 Gmail 帐户连接到 Odoo。
然后,通过点击 Continue 或者 Allow,允许Odoo访问Google账户。之后,页面会导航回Odoo中新配置的外发邮件服务器。配置会自动加载Odoo中的令牌,并且一个标签 Gmail Token Valid 会以绿色出现。

最后, 测试连接 。应该会出现一个确认消息。现在,Odoo数据库可以通过使用OAuth身份验证来安全地发送电子邮件。
Google OAuth 常见问题解答¶
生产环境与测试环境发布状态¶
选择 生产 作为 发布状态 (而不是 测试) 将显示以下警告消息:

要纠正此警告,请导航到 Google API 平台。如果 发布状态 是 生产中,请点击 返回测试 来纠正此问题。
未添加测试用户¶
如果在OAuth同意屏幕中没有添加测试用户,则会出现403访问被拒绝的错误。

要纠正此错误,请返回到 OAuth consent screen`(在 :guilabel:`APIs & Services 下)并向应用程序添加测试用户。添加您在 Odoo 中配置的电子邮件。
Gmail模块未更新¶
如果Odoo中的 Google Gmail 模块没有更新到最新版本,则会出现 Forbidden 错误消息。

要纠正此错误,请转到 Gmail
或 Google
并升级 Google Gmail 模块。最后,点击模块右上角的三个点并选择 升级。
应用程序类型¶
当创建凭证(OAuth Client ID 和 Client Secret)时,如果选择 Desktop App 作为 Application Type,将出现 Authorization Error。

要纠正此错误,请删除已创建的凭据并创建新的凭据,选择: Web Application 作为 Application Type 。然后,在 Authorized redirect URIs 下,点击 ADD URI 并输入: https://yourdbname.odoo.com/google_gmail/confirm
,确保在 URL 中用 Odoo 数据库名称替换 yourdbname 。