Как синхронизировать календарь ICloud?

10

Я хочу иметь доступ к календарям, которые есть в моей учетной записи ICloud, без необходимости использовать веб-браузер и, возможно, в автономном режиме.

Как я могу синхронизировать свои календари из ICloud с каким-либо клиентом календаря в Ubuntu?

М. Бесерра
источник

Ответы:

12

Ответ на OP очень полезно , но не хватает некоторых ключевых элементов. В частности, как определить полный URL-адрес Caldav путем замены XXXXвыше.

Благодарность за мой ответ связана с этим сообщением в блоге (примечание: я использую Thunderbird / Lightning в качестве клиента caldav, но это не имеет значения).

Формат URL-адреса iCloud Caldav выглядит следующим образом:

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

Чтобы определить соответствующие параметры, сначала войдите в свою учетную запись icloud.com, затем запустите консоль веб-отладки Firefox ( F12). Шаги изображены на скриншотах ниже, которые показывают консоль веб-отладки под страницей календаря iCloud. С выбранной вкладкой «Сеть» -step (1) - генерировать некоторый трафик для нужных календарей (например: создать фиктивную встречу). Ищите соответствующие POST(или GET) взаимодействия.

  • DSidПараметр какое - то числовой идентификатор пользователя , так что будет одинаковой для нескольких календарей / списков задач , принадлежащих одной и той же учетной записью. Перейдите к пункту «Параметры» (2) и (3), чтобы открыть его. Определение «DSID»
  • В pGUIDменяется от календаря к календарю (это может быть просто «Home» или «задача» , если вы не имеете несколько календарей / настройка) списки задач. Его можно посмотреть из тех же взаимодействий, но с помощью вкладки «Response» -steps (4) и (5). Возможно, вам придется немного углубиться в структуры JSON, чтобы обнаружить его. Определение «pGUID»

Это все хорошо. Однако все это перестало работать совсем недавно, и комментарии внизу вышеупомянутого поста в блоге, к счастью, указали на источник проблемы: с июня 2017 года Apple переносит учетные записи iCloud для обеспечения применения паролей для конкретных приложений в качестве очень разумной меры безопасности. Это означает, что больше невозможно просто использовать основной пароль iCloud для аутентификации при синхронизации календарей.

Когда миграция произошла с вашей учетной записью iCloud (вы заметите, что синхронизация календаря не удалась), необходимо выполнить следующие шаги:

  1. Включите двухфакторную аутентификацию в своей учетной записи iCloud
  2. Сгенерируйте пароль для приложения и используйте его в своем клиенте caldav
  3. Весьма вероятно, что ваш сервер caldav будет изменен в процессе миграции (у меня был изменен с p03 до p40), поэтому URL-адреса необходимо настроить.

Эта новость (на немецком языке, при необходимости, используйте Google переводчик) содержит справочную информацию о паролях, специфичных для приложения.

КСТАТИ: я не думаю, что календари должны быть разделены для доступа таким образом.

sxc731
источник
8

Вот обновление 2018 года. Если вы хотите использовать свой календарь iCloud в Gnome Calendar, вам все равно нужно установить Evolution. После того, как вы добавили календарь, вы можете удалить Evolution.

  • Перейдите на icloud.com и временно поделитесь календарем, чтобы получить URL-адрес сервера и записать его где-нибудь (например, https://p12-caldav.icloud.com ). Теперь отключите общий доступ к календарю. Если вы этого не сделаете, каждый может просмотреть этот общий календарь!
  • Войдите в свою учетную запись Apple и создайте пароль для приложения, чтобы Evolution получила доступ к календарям.
  • В Evolution создайте новый календарь, выберите CalDAV и введите URL-адрес сервера. Не вводите полный URL-адрес календаря, только доменную часть (например, https://p12-caldav.icloud.com ).
  • Для пользователя введите свой AppleId-Email и нажмите найти календари. Теперь вам будет предложено ввести пароль, который вы создали ранее (сохраните его), и вы сможете выбрать столько календарей, сколько хотите синхронизировать.
mniess
источник
4

Для синхронизации ваших календарей ICloud вам понадобится клиент календаря, который поддерживает CalDAV , например, Evolution , который я покажу, поскольку он автоматически отображает тот же контент в календаре Ubuntu по умолчанию.

1. Загрузите почтовый / календарный клиент Evolution:

Установите его из Центра программного обеспечения:

Evolution on Software Center

или беги sudo apt install evolution.

2. Откройте icloud.com в веб-браузере и перейдите к своим календарям. Нажмите на круговую беспроводную иконку справа от названия календаря, который вы хотите использовать.

Значок общего доступа ICloud

Календарь, который вы хотите использовать, должен быть общим (темный значок). Если это не так, вам будет представлен вариант там.

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 появятся в календаре, и вы увидите предварительный просмотр на индикаторе календаря на верхней панели.

введите описание изображения здесь

М. Бесерра
источник
Для проверки подлинности на шаге 4 необходимо войти на сайт appleid.apple.com и сгенерировать пароль приложения для каждого календаря, к которому вы хотите получить доступ. («Пользователь» не обязательно должен быть адресом электронной почты icloud.)
John Mee
2

Обязательно для того, чтобы он работал. Вам также нужно перейти по указанному ниже адресу, затем на вкладку Безопасность , пароли для приложений . Введите в поле Evolution, затем скопируйте сгенерированный код и вставьте его в Evolution в запрошенном пароле .

https://appleid.apple.com

Джером Виллисек
источник