Google 日历同步¶
使用Odoo将Google日历与Odoo同步,可以从两个平台上查看和管理会议(更新在两个方向上进行)。此集成有助于组织日程安排,以确保不会错过任何会议。
在 Google 中设置¶
选择(或创建)一个项目¶
创建一个新的Google API项目并启用Google日历API。首先,转到 Google API控制台 并登录Google账户。
注解
如果这是第一次访问此页面,Google将提示用户输入国家并同意服务条款。从下拉列表中选择一个国家并同意 ToS。
接下来,点击 选择一个项目 并选择(或创建)一个用于配置 OAuth 和存储凭证的 API 项目。点击 新建项目。
小技巧
给API项目一个清晰的名称,比如“Odoo同步”,这样可以很容易地识别出来。
启用Google日历API¶
现在,在左侧菜单中点击 已启用的 API 和服务。如果 搜索栏 没有出现,请再次选择 已启用的 API 和服务。
然后,使用搜索栏搜索 Google 日历 API
,并从搜索结果中选择 Google 日历 API。点击 启用。
OAuth 授权屏幕¶
现在API项目已经创建,应配置OAuth。要做到这一点,点击左侧菜单中的 OAuth同意,然后选择 用户类型。
警告
个人 Gmail 帐户只允许是 外部 用户类型,这意味着 Google 可能需要批准,或者需要添加 范围。然而,使用 Google WorkSpace 帐户可以使用 内部 用户类型。
注意,同时,当API连接处于 外部 测试模式时,无需获得Google的批准。此测试模式下的用户限制设置为100个用户。
在第二步中, OAuth Consent Screen ,在 App name 字段中输入 Odoo
,选择 User support email 字段的电子邮件地址,并在 Developer contact information 部分输入电子邮件地址。然后,点击 Save and Continue 。
跳过第三步, Save and Continue 。
,通过点击接下来,如果继续在测试模式(外部)中进行,通过点击 Add Users,然后点击 Save and Continue 按钮,将正在配置的电子邮件地址添加到 Test users 步骤下。应用程序注册的摘要将显示。
最后,滚动到底部,然后点击 返回仪表盘。
现在,OAuth同意已经配置好了,现在是时候创建凭据了。
创建凭据¶
连接Google日历到Odoo需要 客户端ID 和 客户端密钥 。这是在Google控制台的最后一步。首先,点击左侧菜单中的 凭据 。然后,点击 创建凭据 ,选择 OAuth客户端ID ,Google将打开一个创建凭据的指南。
在 网站应用程序 作为 应用程序类型 字段,并在 名称 中输入 My Odoo 数据库
。
在 授权的 JavaScript 源 部分,点击 + 添加 URI 并输入公司的 Odoo 完整的 URL 地址。
在 授权重定向URI 部分,点击 + 添加URI 并输入公司的Odoo URL 地址,后面跟上
/google_account/authentication
。最后,点击 创建。
一个 Client ID 和 Client Secret 将会出现,将它们复制到一个记事本中。
在Odoo中设置¶
一旦找到 Client ID 和 Client Secret ,打开Odoo数据库并转到 Google Calendar 旁边的复选框。
。勾选接下来,从Google日历API凭据页面复制并粘贴 客户端ID 和 客户端密钥 到下面的相应字段中,在 Google Calendar 复选框旁边。然后,点击 保存 。
在Odoo中同步日历¶
最后,在Odoo中打开 Google 同步按钮,将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 的同步问题:
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。
要纠正此错误,请返回 OAuth 同意屏幕,在 API 和服务 下,向应用程序添加测试用户。添加要在 Odoo 中配置的电子邮件。
应用程序类型¶
在创建凭据(OAuth Client ID 和 Client Secret)时,如果为 Application Type 选择了 Desktop App,则会出现 Authorization Error`(:guilabel:`Error 400:redirect_uri_mismatch)。
要纠正此错误,请删除现有凭据,并通过为 应用程序类型 选择 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
。