Я хочу мати доступ до наявних у моєму обліковому записі ICloud календарів без використання веб-браузера та, можливо, в автономному режимі.
Як я можу синхронізувати свої календарі з ICloud з деяким клієнтом календаря в Ubuntu?
Я хочу мати доступ до наявних у моєму обліковому записі ICloud календарів без використання веб-браузера та, можливо, в автономному режимі.
Як я можу синхронізувати свої календарі з ICloud з деяким клієнтом календаря в Ubuntu?
Відповіді:
Відповідь на OP дуже корисно , але не вистачає деяких ключових елементів. Зокрема, як визначити повну URL-адресу калдаву, замінивши XXXX
вище.
Подяка за мою відповідь пов’язана з цією публікацією в блозі (зауважте: я використовую Thunderbird / Lightning як мій клієнт caldav, але це не має значення).
Формат URL-адреси календаря iCloud такий:
https://pXX-caldav.icloud.com/<DSid>/calendars/<pGUID>
Щоб визначити відповідні параметри, спочатку увійдіть у свій обліковий запис icloud.com
, а потім запустіть консоль налагодження Firefox ( F12). Етапи зображені на скріншотах нижче, на яких відображається консоль налагодження веб-сторінки під сторінкою календаря iCloud. За допомогою вибраної вкладки "Мережа" -step (1) - генеруйте деякий трафік на бажаних календарях (наприклад: створіть фіктивну зустріч). Шукайте відповідні POST
(або GET
) взаємодії.
DSid
Параметр яке - то числовий ідентифікатор користувача , так що буде однаковою для кількох календарів / списків завдань , що належать одній і тій же обліковим записом. Перейдіть до пункту "Параметри" (2) та (3) - щоб розкрити його.
pGUID
змінюється від календаря до календаря (він може бути просто "Головна" або "Завдання", якщо у вас не встановлено кілька календарів / списків завдань). На нього можна зазирнути з тих самих взаємодій, але за допомогою вкладки "Відповідь" - кроки (4) та (5) - Можливо, вам доведеться трохи розгорнутись у структурах JSON, щоб виявити її.
Це все добре і добре. Однак це все перестало працювати зовсім недавно, і коментарі внизу вищезгаданого повідомлення в блозі вдячно вказували на джерело проблеми: з червня 2017 року Apple мігрує облікові записи iCloud для застосування паролів додатків як дуже розумного заходу безпеки. Це означає, що більше не можна просто використовувати основний пароль iCloud для автентифікації під час синхронізації календарів.
Після того, як відбудеться міграція з вашим обліковим записом iCloud (ви помітите, що синхронізація календаря не вдається), необхідно виконати наступні кроки:
Цей новинний текст (німецькою мовою, за потреби використовуйте Google translate) містить довідкову інформацію про конкретні паролі додатків.
BTW: Я не думаю, що календарі не повинні ділитися для того, щоб отримати доступ до них таким чином.
Ось оновлення 2018 року. Якщо ви хочете використовувати свій календар iCloud у календарі Gnome, вам все одно потрібно встановити Evolution. Після додавання календаря ви можете видалити Evolution.
Для синхронізації ваших календарів ICloud вам потрібен клієнт-календар, який підтримує CalDAV , наприклад, Evolution , який я покажу, оскільки він автоматично відображає той самий вміст у календарі за замовчуванням Ubuntu.
1. Завантажте клієнт електронної пошти / календаря Evolution:
Встановіть його з Software Center:
або бігати 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 з’являться у календарі, і ви отримаєте попередній перегляд на покажчику календаря верхньої панелі
Обов’язково, щоб він працював Ви також повинні зайти за адресою нижче, потім на вкладку Безпека , паролі для програм . Введіть Е поле в поле, потім скопіюйте згенерований код і вставте його в еволюцію в запитуваний пароль .