如何同步 ICloud 日历?

如何同步 ICloud 日历?

我希望能够无需使用网络浏览器(甚至离线)访问我的 ICloud 帐户上的日历。

如何将 ICloud 上的日历与 Ubuntu 上的某些日历客户端同步?

答案1

OP 的回答非常有用,但缺少一些关键部分。特别是如何通过替换XXXX上述内容来确定完整的 caldav URL。

我的回答归功于这篇博文(注意:我使用 Thunderbird/Lightning 作为我的 caldav 客户端,但这无关紧要)。

iCloud caldav URL 的格式如下:

https://pXX-caldav.icloud.com/<DSid>/calendars/<pGUID>

要确定相关参数,首先登录您的帐户icloud.com,然后启动 Firefox 网页调试控制台 ( F12)。以下屏幕截图显示了 iCloud 日历页面下方的网页调试控制台,这些屏幕截图描述了这些步骤。选择“网络”选项卡 - 步骤 (1) - 针对所需日历生成一些流量(例如:创建虚拟约会)。查找相应的POST(或GET)交互。

  • DSid参数是某种数字用户 ID,因此对于同一帐户拥有的多个日历/任务列表,它将是相同的。翻到“参数”-步骤 (2) 和 (3)- 以显示它。 确定“dsid”
  • 日历各pGUID不相同(如果您没有设置多个日历/任务列表,则可能只是“主页”或“任务”)。可以从相同的交互中查看,但使用“响应”选项卡 - 步骤 (4) 和 (5) - 您可能需要深入研究 JSON 结构才能发现它。 确定“pGUID”

一切都很好。然而,最近一切都停止了工作,底部的评论上述博客文章幸运的是,问题根源已经暴露:自 2017 年 6 月起,Apple 开始迁移 iCloud 账户,强制使用应用专用密码,这是一项非常明智的安全措施。这意味着在同步日历时,不再可能只使用主 iCloud 密码进行身份验证。

一旦您的 iCloud 帐户迁移完成(您会注意到日历同步失败),则需要执行以下步骤:

  1. 在您的 iCloud 帐户上启用双因素身份验证
  2. 生成应用程序专用密码并在 caldav 客户端中使用该密码
  3. 您的 caldav 服务器很可能会在迁移过程中发生变化(我的服务器从 p03 迁移到 p40),因此 URL 需要调整。

新闻(德语,必要时可使用谷歌翻译)包含应用程序专用密码的背景信息。

顺便说一句:我不认为日历必须共享才能以这种方式访问​​。

答案2

笔记:最后测试日期:2024-02

您可以使用 Evolution 设置 iCloud 日历同步。同步的日历也会显示在 Gnome 日历中,因此您可以在设置同步后安全地删除 Evolution。

  • 前往 icloud.com暂时地创建任意日历的公共共享以获取服务器 URL 并将其记在某处(例如https://p12-caldav.icloud.com)。 现在停用日历共享。如果不这样做,每个人都可以查看这个共享日历!
  • 登录您的Apple 帐户并为 Evolution 创建应用程序专用密码来访问日历。
  • 在 Evolution 中创建一个新日历,选择 CalDAV 并输入服务器 URL。不要输入完整的日历 URL,仅有的域部分(例如https://p12-caldav.icloud.com)。
  • 对于用户,请输入您的 AppleId-Email 并单击“查找日历”。现在将要求您输入之前创建的密码(保存),并可以选择要同步的任意数量的日历。

答案3

要同步你的 ICloud 日历,你需要一个日历客户端支持 卡尔达夫例如进化,这是我将要展示的,因为它会自动在 Ubuntu 的默认日历上显示相同的内容。

1. 下载 Evolution 邮件/日历客户端:

从软件中心安装:

软件中心的演变

或运行sudo apt install evolution

2. 打开 icloud.com在网络浏览器中,转到日历。点击圆形无线的您要使用的日历名称右侧的图标。

ICloud 分享图标

您要使用的日历必须是共享的(深色图标)。如果不是,您将在那里看到该选项。

3.日历共享后,记下服务器的名称紧接着webcal://(例如p02-www.icloud.com:)

4. 开放进化:

  • 文件 > 新建... > 日历

配置为:

类型CalDAV

使能够Copy calendar contents locally...以离线访问。

网址:如果服务器是p02-www.icloud.com/abc/123,您将替换wwwcaldav并输入p02-caldav.icloud.com/abc/123。它应该总是看起来像http://pXX...,而不是像http://webcal://pXX...

用户[email protected]

在此处输入图片描述

5.点击查找日历,输入您的 ICloud 密码并选择您想要同步的日历。

6.如果你想同步多个日历,只需重复步骤3提前。


现在,您的 ICloud 日历将出现在日历上,您将在顶部面板日历指示器上看到预览

在此处输入图片描述

答案4

必须这样操作你还应该访问下面的地址,然后访问“安全”选项卡应用程序密码. 在字段中输入 Evolution,然后复制生成的代码并将其粘贴到要求的密码中

https://appleid.apple.com

相关内容