Google 日历同步

使用Odoo将Google日历与Odoo同步,可以从两个平台上查看和管理会议(更新在两个方向上进行)。此集成有助于组织日程安排,以确保不会错过任何会议。

在 Google 中设置

选择(或创建)一个项目

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

注解

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

接下来,点击 选择一个项目 并选择(或创建)一个用于配置 OAuth 和存储凭证的 API 项目。点击 新建项目

仅返回完整的GetText可移植对象。

小技巧

给API项目一个清晰的名称,比如“Odoo同步”,这样可以很容易地识别出来。

启用Google日历API

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

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

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

启用 Google 日历 API。

创建凭据

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

创建 OAuth 客户端 ID 下,选择 网站应用程序 作为 应用程序类型 字段,并在 名称 中输入 My Odoo 数据库

  • 授权的 JavaScript 源 部分,点击 + 添加 URI 并输入公司的 Odoo 完整的 URL 地址。

  • 授权重定向URI 部分,点击 + 添加URI 并输入公司的Odoo URL 地址,后面跟上 /google_account/authentication。最后,点击 创建

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

一个 Client IDClient Secret 将会出现,将它们复制到一个记事本中。

在Odoo中设置

一旦找到 Client IDClient Secret ,打开Odoo数据库并转到 Settings ‣ General Settings ‣ Integrations ‣ Google Calendar 。勾选 Google Calendar 旁边的复选框。

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

接下来,从Google日历API凭据页面复制并粘贴 客户端ID客户端密钥 到下面的相应字段中,在 Google Calendar 复选框旁边。然后,点击 保存

在Odoo中同步日历

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

在Odoo日历中点击Google同步按钮,将Google日历与Odoo同步。

注解

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

允许Odoo访问Google日历。

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

警告

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

一旦用户将他们的Google日历与Odoo日历同步:

  • 在Odoo中创建一个事件会导致Google向所有事件参与者发送邀请。

  • 在Odoo中删除一个事件会导致Google向所有事件参与者发送取消通知。

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

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

可以在 Google Calendar 中创建事件而不发送通知,方法是在提示发送邀请邮件时选择 Don’t Send

故障排除

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

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

用户日历标签页上高亮显示的复位按钮。

接下来,点击正确日历下的 重置账户

高级选项

以下重置选项可用于排查 Google 日历与 Odoo 的同步问题:

Odoo 中的 Google 日历重置选项。

User’s Existing Events:

  • 名称:队列名称。

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

  • 删除:删除队列。

  • 从两者中删除: 从 Google Calendar 和 Odoo 日历中删除事件。

下次同步:

  • 仅同步新事件:在 Google Calendar 和/或 Odoo 日历上同步新事件。

  • 同步所有现有事件: 同步 Google Calendar 和/或 Odoo 日历上的所有事件。

选择后点击 确认 以修改用户的事件和日历同步。

Google OAuth 常见问题解答

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

生产环境 vs. 测试环境发布状态

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

OAuth OAuth 同意屏幕验证之前,仅限于 100 次敏感范围登录。这可能需要进行一个可能需要数天的验证流程。

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

未添加测试用户

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

403 访问被拒绝错误。

要纠正此错误,请返回 OAuth 同意屏幕,在 API 和服务 下,向应用程序添加测试用户。添加要在 Odoo 中配置的电子邮件。

应用程序类型

在创建凭据(OAuth Client IDClient Secret)时,如果为 Application Type 选择了 Desktop App,则会出现 Authorization Error`(:guilabel:`Error 400:redirect_uri_mismatch)。

Error 400 重定向URI不匹配。

要纠正此错误,请删除现有凭据,并通过为 应用程序类型 选择 Web 应用程序 来创建新凭据。

然后,在 Authorized redirect URIs 下,点击 ADD 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