Google谷歌日程同步

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

在Google中设定

选择(或创建)一个项目

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

注解

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

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

创建一个新的API项目来存储凭据。

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

启用 Google Calendar API

现在,点击侧边菜单中的 启用 API 和服务。如果未显示搜索栏,请再次点击 启用 API 和服务。

在API项目中启用API和服务。

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

启用谷歌日历API。

已授权域名设置

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

测试用户

要使用户能够与个人 Gmail 账户同步,必须将其设置为测试用户。设置测试用户的方法是:前往左侧菜单中的 受众,并在 测试用户 部分点击 添加用户 按钮。输入所需的用户邮箱,然后点击 保存 按钮。

创建凭据

将 Google 日历连接到 Odoo 需要同时提供 Client ID 和 Client Secret。这是 Google 控制台中的最后一步。首先点击左侧菜单中的 客户端。然后点击 创建凭据 并选择 OAuth 客户端 ID。此时 Google 会打开一个创建凭据的指南。

在 Create OAuth client ID 页面中,为 应用类型 字段选择 Web 应用,并在 名称 中键入 My Odoo Database。

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

重要

输入 授权的 JavaScript 来源 时,必须使用 Odoo 数据库的确切 URL。

如果可以通过 .odoo.com 子域和自定义域访问数据库,则应使用配置为主域的自定义域。.odoo.com 子域在所有情况下可能无法正常工作,并可能导致身份验证错误。

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

添加授权的 JavaScript 起源和授权的重定向 URI。

此时会出现 客户 ID 和 客户密钥,请将其保存在安全的地方。

设置Odoo

找到 客户 ID 和 客户密钥 后,打开 Odoo 数据库并前往 设置 ‣ 日历,找到 Google 日历 功能。勾选标注为 Google 日历 的复选框。

常规设置中的谷歌日历复选框。

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

注解

勾选 暂停同步 复选框可临时暂停活动更新。这样无需移除凭证或卸载同步即可进行测试和故障排查。要恢复同步,请清除此复选框并保存。

在 Odoo 中同步日历

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

点击Odoo日历中的谷歌同步按钮来将谷歌日历与Odoo同步。

注解

首次将 Google 日历与 Odoo 同步时,页面会重定向到 Google 账户。在那里,选择应具有访问权限的 邮箱账户,然后(若该应用未经过验证)选择 继续,最后选择 继续 (以授予数据传输权限)。

给 Odoo 访问 Google 日历的权限。

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

警告

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

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

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

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

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

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

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

故障排除同步

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

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

用户日历选项卡上突出显示的重置按钮。

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

重置选项

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

Odoo 中的 Google 日历重置选项。

用户现有活动:

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

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

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

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

下一次同步:

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

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

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

谷歌OAuth常见问题解答

有时会出现配置错误,需要通过故障排查来解决问题。以下是配置 Google 日历 与 Odoo 配合使用时可能出现的最常见错误。

生产与测试发布状态

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

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

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

无新增测试用户

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

403 拒绝访问错误

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

应用类型

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

错误 400 重定向 URI 不匹配。

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

然后,在 授权重定向 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 。