如何同步ICloud日历?


10

我希望能够访问ICloud帐户上的日历,而不必使用网络浏览器,甚至可以脱机使用。

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

Answers:


12

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

我的回答值得赞扬是由于此博客文章(注意:我使用Thunderbird / Lightning作为我的caldav客户,但这无关紧要)。

iCloud caldav URL的格式如下:

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

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

  • DSid参数是某种数字用户ID,因此对于同一帐户拥有的多个日历/任务列表,该参数将是相同的。转到“参数”-步骤(2)和(3)-以显示它。 确定“ dsid”
  • pGUID日历之间的差异(如果您没有设置多个日历/任务列表,则可以简单地是“主页”或“任务”)。可以从相同的交互中窥视它,但是使用“ Response”选项卡-步骤(4)和(5)-您可能需要对JSON结构进行一些深入研究才能发现它。 确定“ pGUID”

一切都很好。但是,这一切都在最近停止了工作,上述博客文章底部的评论令人感激地指出了问题的根源:自2017年6月以来,Apple迁移了iCloud帐户以强制执行特定于应用程序的密码,这是非常明智的安全措施。这意味着在同步日历时,不再只能使用iCloud主密码进行身份验证。

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

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

新闻项(德语,如果需要,请使用Google翻译)提供有关应用专用密码的背景信息。

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


8

这是2018年更新。如果要在Gnome日历中使用iCloud日历,则需要安装Evolution。添加日历后,可以删除Evolution。

  • 转到icloud.com并临时共享日历以获取服务器URL并将其记下(例如https://p12-caldav.icloud.com)。现在停用日历共享。如果您不这样做,那么每个人都可以查看此共享日历!
  • 登录您的Apple帐户,并为Evolution创建一个应用程序专用密码,以访问日历。
  • 在Evolution中创建一个新日历,选择CalDAV并输入服务器URL。不要输入完整的日历URL,输入域部分(例如https://p12-caldav.icloud.com)。
  • 为用户输入您的AppleId-电子邮件,然后单击查找日历。现在,系统将询问您先前创建的密码(保存密码),并可以选择任意数量的日历进行同步。

4

要同步您的ICloud日历,您将需要一个支持 CalDAV的日历客户端,例如Evolution,我将显示它,因为它会自动在Ubuntu的默认日历上显示相同的内容。

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

从软件中心安装:

软件中心演进

或运行sudo apt install evolution

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

iCloud分享图标

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

3.一旦日历共享,注意的服务器名称权后webcal://(例如:p02-www.icloud.com

4. 开放进化:

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

将其配置为:

类型CalDAV

启用Copy calendar contents locally...即可离线访问。

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

用户名YOUR-APPLE-ID@icloud.com

在此处输入图片说明

5.单击“ 查找日历”,输入您的ICloud密码,然后选择要同步的日历。

6.如果要同步多个日历,请提前从第3步开始重复。


现在,您的ICloud日历将出现在“日历”上,并且您将在顶部面板的日历指示器上获得预览

在此处输入图片说明


对于步骤4中的身份验证,您必须登录appleid.apple.com并为要访问的每个日历生成一个应用程序专用密码。(“用户”不必是icloud电子邮件地址。)
John Mee

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.