Outlook 日历同步

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

Microsoft Azure 设置

要将 Outlook日历 与 Odoo 日历 同步,需要一个Microsoft *Azure*账户。对于从未试用过*Azure*或未支付过*Azure*费用的用户,创建账户免费。更多信息,请查看`Azure 网站 <https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F>`_上的账户选项。

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

现有 Microsoft Entra ID 用户应登录 Microsoft Azure 开发者门户。然后,在标有 管理 Microsoft Entra ID 的部分下选择 视图

注册申请

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

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

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

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

选择适当的 支持的账户类型 很关键,否则连接的应用程序将无法工作。希望将 Outlook 日历 连接到 Odoo 的用户,应在:guilabel:支持的账户类型 中选择:guilabel:`任何组织目录中的账户(任何微软 Entra ID 目录 - 多用户)和个人微软账户(如 Skype、Xbox)`选项。

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

Example

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

小技巧

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

激活 开发者模式 并导航至 设置应用程序 ‣ 技术标题菜单 ‣ 参数部分 ‣ 系统参数,访问 `web.base.url。然后,从 系统参数 页面的 密钥 列表中选择它。

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

有关 URI 的限制和约束的详细信息,请查看 Microsoft 的 重定向 URI(回复 URL)限制和约束 页面。

最后,在应用程序注册页面,点击 注册 按钮完成应用程序注册。将生成 应用程序(客户端)ID。将此值复制到 outlook_calendar/odo_setup

新创建的应用程序重点部分中突出显示的应用程序客户端 ID。

创建客户密钥

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

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

新客户密钥页面,突出显示凭证和密钥菜单以及新客户密钥选项。

然后,键入 描述,并选择客户密钥 失效 时间。可用选项包括 90 天(3个月)365 天(12 个月)545 天(18 个月)730 天(24 个月)`或:guilabel:`自定义。通过 自定义 选项,管理员可以设置 开始结束 日期。

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

小技巧

由于重置同步可能比较麻烦,Odoo 建议为客户密钥设置最长允许过期日期(24 个月或自定义),这样就无需很快重新同步。

复制 以供下一节使用。

警告

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

Odoo 中的配置

在 Odoo 数据库中,进入 设置应用程序 ‣ 整合部分,并勾选 Outlook 日历 设置旁边的复选框。记住点击 保存 以执行更改。

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

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

Microsoft Azure 门户中的 "客户 ID"。

复制之前获得的 值`(客户密钥值),并将其粘贴到 Odoo 中的 :guilabel:`客户密钥 字段。

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

最后,在 Odoo 设置‣常规设置`页面,单击 :guilabel:`保存

与 Outlook 同步

警告

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

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

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

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

总之,一旦用户将其 Outlook 日历与 Odoo 日历同步,Odoo 日历就会自动更新:

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

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

  • 在 Odoo 中取消活动存档会导致 Outlook 向所有活动参与者发送邀请。

  • 在 Odoo 中存档活动会导致 Outlook 向所有活动参与者发送取消通知。

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

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

同步 Odoo 日历和 Outlook

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

Odoo 日历中的 "Outlook" 同步按钮。

同步是一个双向过程,这意味着两个账户(Outlook 和 Odoo)中的活动都要进行调节。页面将重定向到 Microsoft 登录页面,如果用户尚未登录,则要求其登录到自己的账户。最后,点击 接受,授予所需权限。

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

注解

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

故障排除同步

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

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

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

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

重置选项

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

在 Odoo 中重置 Outlook 日历选项。

用户现有活动

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

  • 从现有 Microsoft 日历账户删除:从 Microsoft 日历账户 中删除活动。

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

  • 同时删除:从 Microsoft Outlook 日历 和 Odoo 日历中删除事件。

下一次同步

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

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

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