使用谷歌OAuth连接Gmail到Odoo

Odoo 与Google Gmail 的 OAuth 兼容。要从自定义域发送安全电子邮件,只需在 Google 的 Workspace 平台以及 Odoo 数据库的后端配置即可。该配置可通过使用个人电子邮件地址或自定义域创建的地址来实现。

小技巧

有关更多信息,请访问` Google 文档<https://support.google.com/cloud/answer/6158849>`_,了解有关设置 OAuth 的信息。

在Google中设定

创建一个新的项目

要开始使用,请访问 `Google API 控制台<https://console.developers.google.com>`_。如果您有*Google Workspace* 账户,请使用该账户登录,否则请使用个人 Gmail 账户登录(该账户应与您要在 Odoo 中配置的电子邮件地址一致)。

然后,点击位于:guilabel:OAuth 同意屏幕 最右侧的:guilabel:创建项目"。如果该账户已创建项目,则:guilabel:`选择项目'下拉菜单右上方会出现 :guilabel:`新建项目 选项。

在:menuselection:新建项目 屏幕上,将:guilabel:项目名称 重命名为 Odoo,并浏览 位置 。将 位置 设置为 Google 工作区组织。如果使用的是个人 Gmail 帐户,则将:guilabel:位置 设为 无组织

Google OAuth 的项目名称和位置。

点击:guilabel:创建 完成此步骤。

编辑应用程序注册

Next we will configure the app registration of the project.

OAuth 同意屏幕 步骤中的 应用程序信息 部分,在 应用程序名称 字段中输入`Odoo`。在:guilabel:用户支持 电子邮件字段下选择组织的电子邮件地址。

接下来,在 应用程序域名 ‣ 授权域名 下,单击 添加域名 并输入 odoo.com

然后,在 开发者联系信息 部分中输入组织的电子邮件地址。如果项目有任何变更,Google 会使用此电子邮件地址通知该组织。

然后,单击:guilabel:保存并继续 按钮。然后,滚动到底部并单击 保存并继续 跳过:menuselection:范围 页面。

如果继续测试模式(外部),请通过点击 添加用户,然后点击 保存并继续 按钮,添加在 测试用户 步骤下配置的电子邮件地址。应用程序注册摘要将出现。

最后,滚动到底部并单击:guilabel:返回仪表板 以完成项目设置。

创建凭证

现在项目已建立,应创建凭证,其中包括 客户 ID客户密钥。首先,点击左侧边栏菜单中的:guilabel:凭证

然后,点击顶部菜单中的 创建凭证 并从下拉菜单中选择 OAuth 客户 ID

  • 在:guilabel:应用类型 下,从下拉菜单中选择:guilabel:网络应用程序

  • 在:guilabel:名字`字段中输入`Odoo

  • 授权重定向 URI 标签下,单击 添加 URI 按钮,然后在:guilabel:URIs 字段中输入 https://yourdbname.odoo.com/google_gmail/confirm。请务必用实际的 Odoo 数据库名称替换 URL 中的 yourdbname 部分。

  • 接下来,点击 创建 生成 OAuth 客户 ID 和:guilabel:客户密钥。最后,复制每个生成的值,以便以后在 Odoo 中配置时使用,然后导航到 Odoo 数据库。

Google OAuth 的客户端 ID 和客户端密文。

设置Odoo

输入 Google 认证

首先,打开 Odoo 并导航至 应用程序 模块。然后,从搜索栏中移除 应用程序 筛选器,输入 Google。安装名为 Google Gmail 的模块。

接下来,导航至:menuselection:设置-->常规设置,在:guilabel:讨论`部分,确保选中:guilabel:`自定义电子邮件服务器`或:guilabel:`外部电子邮件服务器`复选框。这将弹出一个新选项:guilabel:`Gmail 认证`或:guilabel:`使用 Gmail 服务器。然后,将相应值复制并粘贴到 客户 ID客户密钥 字段,然后 保存 设置。

配置邮件外发服务器

要配置外部 Gmail 帐户,请返回到:guilabel:客户邮件服务器 设置的顶部,然后单击:guilabel:外发电子邮件服务器 链接。

在 Odoo 中配置外发电子邮件服务器。

然后,点击 新建创建 新电子邮件服务器,并填写 名称, 描述 和电子邮件 用户名 (如果需要)。

接下来,点击:guilabel:Gmail OAuth 身份验证Gmail (在:guilabel:通过以下方式验证连接 部分下)。最后,点击 连接 Gmail 账户

一个标有 Google 的新窗口将打开,以完成授权过程。选择正在 Odoo 中配置的相应电子邮件地址。

如果电子邮件地址是个人账户,则会弹出一个额外步骤,请单击 继续 以允许验证并将 Gmail 账户连接到 Odoo。

然后,点击:guilabel:继续允许 Odoo 访问 Google 账户。之后,页面会返回到 Odoo 中新配置的外发邮件服务器。配置会自动在 Odoo 中加载令牌,并显示绿色标签:guilabel:Gmail 令牌有效

在 Odoo 中配置外发电子邮件服务器。

最后,输入:guilabel:测试连接。此时会出现一条确认信息。现在,Odoo 数据库可以使用 OAuth 身份验证通过 Google 发送安全可靠的电子邮件。

谷歌OAuth常见问题解答

生产VS测试发布状态

选择 生产 作为 发布状态 (而不是 测试)将显示以下警告信息:

OAuth 仅限 100 个敏感范围登录。

要更正此警告,请导航至 `Google API 平台<https://console.cloud.google.com/apis/credentials/consent>`_。如果 发布状态生产中,请单击 返回到测试 以更正问题。

无新增测试用户

如果没有将测试用户添加到OAuth同意屏幕,则会出现403访问拒绝错误。

403 拒绝访问错误

要纠正此错误,请返回 APIs & Services 下的 OAuth consent screen 并在应用程序中添加测试用户。添加您在 Odoo 中配置的电子邮件。

Gmail模块未更新

如果 Odoo 中的 Google Gmail 模块尚未更新至最新版本,则会弹出 已禁止 错误信息。

禁止 您没有访问所请求资源的权限。

要纠正这一错误,请转到 应用程序 模块并清除搜索条件。然后,搜索 GmailGoogle 并升级 Google Gmail 模块。最后,点击模块右上方的三个点,选择 升级

应用类型

创建凭证(OAuth Client IDClient Secret)时,如果为 应用程序类型 选择了 桌面应用程序,则会出现 授权错误

错误 400 重定向 URI 不匹配。

要纠正此错误,请删除已创建的凭证并创建新凭证,在 应用类型 中选择 网络应用。然后,在 授权重定向 URI 下单击 添加 URI 并键入: https://yourdbname.odoo.com/google_gmail/confirm”,确保将 URL 中的 yourdbname 替换为 Odoo 数据库名称。