Как синхронизировать календарь ICloud?
Я хочу иметь доступ к календарям, которые есть в моей учетной записи ICloud, без необходимости использовать веб-браузер и, возможно, в автономном режиме.
Как я могу синхронизировать свои календари из ICloud с некоторым клиентом календаря в Ubuntu?
4 ответа
Ответ ОП очень полезен, но в нем отсутствуют некоторые ключевые моменты. В частности, как определить полный 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), чтобы открыть его. -
pGUIDварьируется от календаря к календарю (это может быть просто "Главная" или "Задачи", если у вас нет нескольких календарей / списков задач) . Его можно посмотреть из тех же взаимодействий, но с помощью вкладки "Response" -steps (4) и (5) . Возможно, вам придется немного углубиться в структуры JSON, чтобы обнаружить его.
Это все хорошо. Однако все это перестало работать совсем недавно, и комментарии внизу вышеупомянутого поста в блоге, к счастью, указали на источник проблемы: с июня 2017 года Apple переносит учетные записи iCloud для обеспечения применения паролей для конкретных приложений в качестве очень разумной меры безопасности. Это означает, что больше невозможно просто использовать основной пароль iCloud для аутентификации при синхронизации календарей.
Когда миграция произошла с вашей учетной записью iCloud (вы заметите, что синхронизация вашего календаря не удалась), необходимо выполнить следующие шаги:
- Включите двухфакторную аутентификацию в вашей учетной записи iCloud
- Сгенерируйте пароль для приложения и используйте его в своем клиенте caldav
- Весьма вероятно, что ваш сервер caldav будет изменен в процессе миграции (у меня был изменен с p03 до p40), поэтому URL-адреса необходимо настроить.
Эта новость (на немецком языке, при необходимости, используйте Google переводчик) содержит справочную информацию о паролях, специфичных для приложения.
КСТАТИ: я не думаю, что календари должны быть разделены для доступа таким образом.
Вот обновление 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 и нажмите найти календари. Теперь вам будет предложено ввести пароль, который вы создали ранее (сохраните его), и сможете выбрать столько календарей, сколько хотите синхронизировать.
Для синхронизации ваших календарей ICloud вам понадобится клиент календаря, который поддерживает CalDAV, например, Evolution, который я покажу, поскольку он автоматически отображает тот же контент в календаре Ubuntu по умолчанию.
1. Загрузите почтовый / календарный клиент Evolution:
Установите его из Центра программного обеспечения:
или беги sudo apt install evolution,
2. Откройте 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 в запрошенном пароле.
