Google 日历同步

将 Google 日历与 Odoo 同步,可同时查看和管理两个平台上的会议(双向更新)。这种整合有助于安排日程,从而避免错过会议。

在Google中设定

选择(或创建)一个项目

创建一个新的 Google API 项目并启用 Google 日历。首先,访问 Google API 控制台 并登录 Google 账户。

注解

如果是首次访问此页面,Google 将提示用户输入国家/地区并同意服务条款。请从下拉列表中选择一个国家,并同意 ToS(服务条款)

接下来,单击 选择项目 并选择(或创建)一个 API 项目,以便在其中配置 OAuth 和存储凭据。单击 新建项目

Create a new API project to store credentials.

为 API 项目命名一个清晰的名称,例如 Odoo Sync ,以便识别。然后点击 创建 按钮。

启用 Google 日历 API

现在,点击左侧菜单中的 已启用的 API 和服务 。如果未出现 搜索栏 ,请再次选择 已启用的 API 和服务

Enable APIs and Services on the API Project.

然后,使用搜索栏搜索 Google 日历 API ,并从搜索结果中选择 Google 日历 API 。点击 启用

Enable the Google Calendar API.

授权域名设置

接下来,任何需要出现在同意屏幕或 OAuth 客户端配置中的域名都必须预先注册。为此,请导航至左侧菜单中的 品牌化 。在 授权域名 部分,点击 添加域名 按钮以创建一个字段来输入授权域名。输入域名(如 odoo.com ),然后点击页面底部的 保存 按钮。

测试用户

为了使用户能够与个人 Gmail 帐户同步,他们必须被设置为测试用户。通过左侧菜单中的 受众 设置测试用户,然后在 测试用户 部分点击 添加用户 按钮。输入所需的用户电子邮件,然后点击 保存 按钮。

创建凭据

客户端 ID客户端密钥 都是连接 Google 日历与 Odoo 所必需的。这是 Google 控制台中的最后一步。首先点击左侧菜单中的 客户端 。然后点击 创建凭据 ,并选择 OAuth 客户端 ID ,Google 将打开一个创建凭据的指南。

创建 OAuth 客户 ID 下,为 应用类型 字段选择 网站申请 ,并为 名称 键入 我的 Odoo 数据库

  • 经授权 JavaScript Origins 部分,单击 + 添加 URI 并键入公司的 Odoo 完整 URL (统一资源定位符) 地址。

  • 经授权重新定向 URIs 部分,单击 + 添加 URI ,然后键入公司的 Odoo URL(统一资源定位符) 地址,后面跟上 /google_account/authentication 。最后,点击 创建

Add the authorized JavaScript origins and the authorized redirect URIs.

将出现一个 客户端 ID客户端密钥 ,请将它们保存在安全的地方。

设置Odoo

找到 客户端 ID客户端密钥 后,打开 Odoo 数据库并转到 设置 ‣ 日历 以找到 Google 日历 功能。勾选标有 Google 日历 的复选框。

The Google Calendar checkbox in General Settings.

接下来,将 Google 日历 API 证书页面中的 客户 ID客户密钥 复制并粘贴到 Google 日历 复选框下方的相应字段中。然后,单击 保存

注解

勾选 暂停同步 复选框以暂时停止事件更新。这允许在不删除凭据或卸载同步的情况下进行测试和故障排除。要恢复同步,请清除复选框并保存。

在 Odoo 中同步日历

最后,打开 Odoo 中的 日历 应用程序,点击 Google 同步按钮,将 Google 日历与 Odoo 同步。

Click the Google sync button in Odoo Calendar to sync Google Calendar with Odoo.

注解

首次将 Google 日历与 Odoo 同步时,页面将重定向到 Google 帐户。从那里,选择应具有访问权限的 电子邮件帐户 ,然后选择 继续 (如果应用未经验证),最后选择 继续 (授予数据传输权限)。

Give Odoo permission to access Google Calendar.

现在,Odoo 日历已成功与 Google 日历同步!

警告

Odoo 强烈建议在测试数据库和测试电子邮件地址(不用于任何其他目的)上测试 Google 日历同步,然后再尝试将所需的 Google 日历与用户的生产数据库同步。

一旦用户将 Google 日历与 Odoo 日历同步后:

  • 在 Odoo 中创建活动会导致 Google 向所有参与者发送邀请。

  • 在 Odoo 中删除活动会导致 Google 向所有参与者发送取消通知。

  • 将联系人添加到活动会导致 Google 向所有参与者发送邀请。

  • 从活动中删除联系人会导致 Google 向所有参与者发送取消通知。

Google 日历 中创建活动时,可在提示发送邀请电子邮件时选择 不发送 ,而无需发送通知。

故障排除同步

有时 Google 日历 账户可能无法与 Odoo 正确同步。同步问题可在数据库日志中看到。

在这种情况下,账户需要进行故障排除。可使用 重置账户 按钮进行重置,该按钮可通过导航至 设置应用程序 ‣ 管理用户 访问。然后,选择要修改日历的用户,并点击 日历 选项卡。

Reset buttons highlighted on the calendar tab of the user.

然后,在正确的日历下点击 重置账户

重置选项

以下重置选项可用于排除 Google 日历与 Odoo 同步的故障:

Google calendar reset options in Odoo.

用户现有活动

  • 不做改动 :不更改活动。

  • 从当前的 Google 日历帐户中删除 :从 Google 日历 中删除事件。

  • 从 Odoo 中删除 :从 Odoo 日历中删除活动。

  • 同时删除 :从 Google 日历 和 Odoo 日历中删除活动。

下一次同步

  • 只同步新活动 :同步 Google 日历 和/或 Odoo 日历上的新活动。

  • 同步所有现有活动 :同步 Google 日历 和/或 Odoo 日历上的所有活动。

选择后点击 确认 以修改用户活动和日历同步。

谷歌OAuth常见问题解答

有时可能会发生配置错误,需要进行故障排除以解决问题。以下是在为 Odoo 配置 Google 日历 时可能出现的最常见错误。

生产与测试发布状态

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

OAuth 同意屏幕通过验证之前,OAuth 的敏感范围登录次数仅限 100 次。这可能需要几天的验证过程。

要更正此警告,请导航至 Google API 平台 。如果 发布状态生产中 ,请点击 返回到测试 以更正问题。

无新增测试用户

如果没有测试用户添加到 OAuth consent 屏幕 ,则会弹出 错误 403: access_denied

403 Access Denied Error.

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

应用类型

创建凭证(OAuth 客户 ID客户密钥 )时,如果在 应用类型 中选择了 桌面应用程序 ,则会出现 授权错误错误400:redirect_uri_mismatch )。

Error 400 Redirect URI Mismatch.

要纠正此错误,请删除现有凭证,并在 应用类型 中选择 网络应用 创建新凭证。

然后,在 授权重定向 URI 下,单击 添加 URI 按钮,并在字段中键入: https://yourdbname.odoo.com/google_account/authentication ,确保将 URL 中的 yourdbname 替换为 真实的 Odoo 数据库名称。

小技巧

确保域(在 URI 中使用:https://yourdbname.odoo.com/google_account/authentication )与 web.base.url 系统参数中配置的域完全相同。

激活 开发者模式 并导航至 设置应用程序 ‣ 技术标题菜单 ‣ 参数部分 ‣ 系统参数,访问 web.base.url