使用谷歌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:创建 完成此步骤。

编辑应用程序注册

接下来,我们将配置项目的应用程序注册。

在 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 模块尚未更新至最新版本,则会弹出 已禁止 错误信息。

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

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

应用类型

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

错误 400 重定向 URI 不匹配。

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