Answers:
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)-以显示它。
pGUID
日历之间的差异(如果您没有设置多个日历/任务列表,则可以简单地是“主页”或“任务”)。可以从相同的交互中窥视它,但是使用“ Response”选项卡-步骤(4)和(5)-您可能需要对JSON结构进行一些深入研究才能发现它。
一切都很好。但是,这一切都在最近停止了工作,上述博客文章底部的评论令人感激地指出了问题的根源:自2017年6月以来,Apple迁移了iCloud帐户以强制执行特定于应用程序的密码,这是非常明智的安全措施。这意味着在同步日历时,不再只能使用iCloud主密码进行身份验证。
迁移到您的iCloud帐户后(您会注意到日历同步失败),需要执行以下步骤:
此新闻项(德语,如果需要,请使用Google翻译)提供有关应用专用密码的背景信息。
顺便说一句:我不认为必须共享日历才能以这种方式访问。
这是2018年更新。如果要在Gnome日历中使用iCloud日历,则仍需要安装Evolution。添加日历后,可以删除Evolution。
要同步您的ICloud日历,您将需要一个支持 CalDAV的日历客户端,例如Evolution,我将显示它,因为它会自动在Ubuntu的默认日历上显示相同的内容。
1. 下载Evolution邮件/日历客户端:
从软件中心安装:
或运行sudo apt install evolution
。
2. 在Web浏览器中打开icloud.com,然后转到日历。单击要使用的日历名称右侧的圆形无线图标。
您要使用的日历必须共享(黑色图标)。如果不是,您将在那里看到选项。
3.一旦日历共享,注意的服务器名称权后webcal://
(例如:p02-www.icloud.com
)
4. 开放进化:
将其配置为:
类型:CalDAV
启用Copy calendar contents locally...
即可离线访问。
URL:如果服务器是p02-www.icloud.com/abc/123
,则将替换www
为caldav
并输入p02-caldav.icloud.com/abc/123
。它应该总是看起来像http://pXX...
,而不是像http://webcal://pXX...
用户名:YOUR-APPLE-ID@icloud.com
5.单击“ 查找日历”,输入您的ICloud密码,然后选择要同步的日历。
6.如果要同步多个日历,请提前从第3步开始重复。
现在,您的ICloud日历将出现在“日历”上,并且您将在顶部面板的日历指示器上获得预览
必须运行它也应该转到下面的地址,然后转到“ 安全性”选项卡,输入应用程序的密码。在字段中输入Evolution,然后复制生成的代码,然后将其粘贴到要求的密码中的Evolution中。