Outlook日历同步

将用户的 Outlook 日历 与 Odoo 同步有助于在所有相关应用程序中跟踪任务和约会。

Microsoft Azure 设置

要将 Outlook 日历 与 Odoo 的 日历 同步,需要一个 Microsoft Azure 账户。对于从未尝试或付费使用 Azure 的用户,创建账户是免费的。更多信息,请查看 Azure 网站 上的账户选项。

请参阅 Microsoft 的文档 了解如何设置 Microsoft Entra ID*(正式名称为 Microsoft *Azure Active Directory (Azure AD))。这是一个用于管理和注册 Microsoft 应用程序的 API 控制台。

现有的 Microsoft Entra ID 用户应在 Microsoft Azure 开发者门户 登录。接下来,在标记为 管理 Microsoft Entra ID 的部分下选择 查看

注册应用程序

使用 Microsoft Entra ID 登录后,注册一个应用程序

要创建一个应用程序,请点击顶部菜单中的 + 添加。从弹出的下拉菜单中,选择 应用注册

Microsoft Azure 管理页面,突出显示了 + 添加和应用注册菜单。

为连接的应用程序输入唯一的 名称

选择适当的 支持的账户类型 至关重要,否则连接的应用程序将无法工作。希望将其 Outlook 日历 连接到 Odoo 的用户应为 支持的账户类型 选择 任何组织目录中的账户(任何 Microsoft Entra ID 目录 - 多租户)和个人 Microsoft 账户(例如 Skype、Xbox) 选项。

配置 Redirect URI 时,从第一个下拉菜单中选择 Web 选项。然后,输入 Odoo 数据库 URI(URL),后跟 /microsoft_account/authentication

Example

输入 https://yourdbname.odoo.com/microsoft_account/authentication 作为 重定向 URI。将 yourdbname.odoo.com 替换为 URL(统一资源定位符)

小技巧

确保在 URI 中使用的数据库的 URL(统一资源定位符)`(域名)与 `web.base.url 系统参数中配置的域名完全相同。

通过激活 开发者模式 并导航至 设置应用 ‣ 技术头菜单 ‣ 参数部分 ‣ 系统参数 来访问 web.base.url。然后,在 系统参数 页面的 列表中选择它。

Microsoft Entra ID 门户中的 "支持的账户类型" 和 "重定向 URI" 设置。

有关URI的限制和局限性的更多信息,请查看微软的 Redirect URI (reply URL) restrictions and limitations 页面。

最后,在应用程序注册页面上,点击 注册 按钮以完成应用程序注册。此时会生成 应用程序(客户端)ID。请复制此值,因为在后续的 在Odoo中的配置 中会用到它。

新创建的应用程序的“基本信息”部分中突出显示的应用程序客户端 ID。

创建客户端密钥

完成 Microsoft Outlook 日历 同步所需的第二个凭证是 客户端密钥。用户 必须 添加一个客户端密钥,因为这允许 Odoo 自行进行身份验证,无需用户进行任何操作。证书 是可选的。

要添加客户端密钥,请点击左侧菜单中的 证书和机密。然后点击 + 新建客户端密钥 来创建客户端密钥。

新客户端密钥页面,带有证书和密钥菜单,并突出显示新的客户端密钥选项。

接下来,输入一个 描述,并选择客户端密钥的 过期时间。可用的选项包括:90 天(3 个月)365 天(12 个月)545 天(18 个月)730 天(24 个月)自定义自定义 选项允许管理员设置 开始结束 日期。

最后,点击 添加添加客户端密钥

小技巧

由于重置同步可能较为复杂,Odoo 建议将客户端密钥的最大允许过期日期设置为最长(24 个月或自定义),这样就不需要很快重新同步。

复制 Value 以便在下一部分中使用。

警告

客户端密钥值无法查看,除非在创建后立即查看。请务必在创建时保存密钥 离开页面之前。

在Odoo中的配置

在 Odoo 数据库中,转到 设置应用 ‣ 集成部分,并勾选 Outlook 日历 设置旁边的复选框。记得点击 保存 以应用更改。

在Odoo中激活了"Outlook日历"设置。

从 Microsoft Azure 门户中,在应用程序的 概览 部分下,复制 应用程序(客户端)ID`(如果尚未复制),并将其粘贴到 Odoo 的 :guilabel:`客户端 ID 字段中。

Microsoft Azure 门户中的“客户端 ID”。

将之前获取的 Value`(客户端密钥值)复制,并粘贴到 Odoo 中的 :guilabel:`Client Secret 字段中。

需要从Microsoft复制到Odoo的"客户端密钥"令牌。

最后,在 Odoo 设置 ‣ 通用设置 页面,点击 保存

与Outlook同步

警告

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

如果用户在同步Outlook日历之前在Odoo日历上有任何过去、现在或未来的事件,Outlook将把同步期间从Odoo日历中提取的事件视为新事件,导致Outlook向所有事件参与者发送电子邮件通知。

为避免向所有过去、现在和未来的事件参与者发送不必要的电子邮件,用户必须在第一次同步之前将Odoo日历中的事件添加到Outlook日历中,从Odoo中删除这些事件,然后开始同步。

即使将Odoo日历与Outlook日历同步,Outlook仍会在每次编辑事件(创建、删除、取消归档或更改事件日期/时间)时向所有参与者发送通知,没有例外。这是一个无法从Odoo方面修复的限制。

简而言之,一旦用户将他们的Outlook日历与Odoo日历同步:

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

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

  • 在Odoo中取消存档一个事件会导致Outlook向所有事件参与者发送邀请。

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

  • 将联系人添加到事件中会导致 Outlook 向所有事件参与者发送邀请。

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

同步Odoo日历和Outlook

在 Odoo 数据库中,打开 日历 模块,然后点击页面右侧、月历下方的 Outlook 同步按钮。

Odoo日历中的“Outlook”同步按钮。

同步是一个双向过程,意味着事件会在两个账户(Outlook 和 Odoo)中进行协调。页面会重定向到 Microsoft 登录页面,如果用户尚未登录,系统会要求其登录。最后,通过点击 接受 来授予所需的权限。

在 Microsoft Outlook OAuth 页面上的身份验证过程。

注解

所有希望使用同步功能的用户只需 将其日历与 Outlook 同步 。Microsoft Azure 账户的配置只需进行一次,因为 Microsoft Entra ID 租户的客户端 ID 和客户端密钥是唯一的,帮助用户管理特定实例的 Microsoft 云服务,供内部和外部用户使用。

故障排除

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

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

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

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

高级选项

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

在 Odoo 中激活 "Outlook 日历" 设置。

User’s Existing Events:

  • 名称:队列名称。

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

  • 删除:删除队列。

  • 从两者中删除: 从 Microsoft Outlook 日历 和 Odoo 日历中删除事件。

下次同步:

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

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

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