Jak zsynchronizować Kalendarz ICloud?

10

Chcę mieć dostęp do kalendarzy, które mam na moim koncie ICloud, bez konieczności korzystania z przeglądarki internetowej i być może offline.

Jak mogę zsynchronizować swoje kalendarze z ICloud z jakimś klientem kalendarza na Ubuntu?

M. Becerra
źródło

Odpowiedzi:

12

Odpowiedź przez OP jest bardzo przydatne, ale brakuje kilka kluczowych elementów. W szczególności, jak ustalić pełny adres URL caldav, zastępując XXXXpowyższe.

Uznanie za moją odpowiedź wynika z tego postu na blogu (uwaga: używam Thunderbirda / Lightninga jako mojego klienta caldav, ale to nie ma znaczenia).

Format adresu URL caldav iCloud jest następujący:

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

Aby określić odpowiednie parametry, najpierw zaloguj się do swojego konta icloud.com, a następnie uruchom konsolę debugowania przeglądarki Firefox ( F12). Kroki są przedstawione na poniższych zrzutach ekranu, które pokazują konsolę debugowania internetowego poniżej strony kalendarza iCloud. Po wybraniu zakładki „Sieć” -step (1) - wygeneruj ruch w stosunku do pożądanych kalendarzy (np .: utwórz spotkanie zastępcze). Poszukaj odpowiednich POST(lub GET) interakcji.

  • Ten DSidparametr jest jakimś numerycznym identyfikatorem użytkownika, więc będzie taki sam dla wielu kalendarzy / list zadań, które są własnością tego samego konta. Przejdź do „Parametry” - kroki (2) i (3) - aby je ujawnić. Określanie „dsid”
  • W pGUIDprzedziale od kalendarza do kalendarza (może to być po prostu „dom” lub „zadania”, jeśli nie masz wiele kalendarzy / Setup tasklists). Można go zerknąć z tych samych interakcji, ale używając zakładki „Odpowiedź” - kroki (4) i (5) - Być może trzeba będzie nieco pogłębić struktury JSON, aby je odkryć. Określanie „pGUID”

Wszystko dobrze i dobrze. Jednak wszystko to przestało działać całkiem niedawno, a komentarze na dole wspomnianego posta na blogu z wdzięcznością wskazywały na źródło problemu: od czerwca 2017 r. Apple migruje konta iCloud, aby wymusić hasła aplikacji jako bardzo rozsądny środek bezpieczeństwa. Oznacza to, że nie można już używać głównego hasła iCloud do uwierzytelniania podczas synchronizacji kalendarzy.

Po migracji do konta iCloud (zauważysz, że synchronizacja kalendarza nie powiedzie się), wymagane są następujące kroki:

  1. Włącz uwierzytelnianie dwuskładnikowe na swoim koncie iCloud
  2. Wygeneruj hasło aplikacji i użyj go w kliencie caldav
  3. Jest całkiem prawdopodobne, że twój serwer caldav zmieni się w ramach migracji (moja zmieniła się z p03 na p40), więc adresy URL wymagają dostosowania.

Ten element wiadomości (w języku niemieckim, w razie potrzeby użyj tłumaczenia Google) zawiera podstawowe informacje o hasłach specyficznych dla aplikacji.

BTW: Nie sądzę, że kalendarze muszą być udostępniane, aby można było uzyskać do nich dostęp w ten sposób.

sxc731
źródło
8

Oto aktualizacja 2018. Jeśli chcesz używać swojego kalendarza iCloud w Kalendarzu Gnome, nadal musisz zainstalować Evolution. Po dodaniu kalendarza możesz usunąć Ewolucję.

  • Wejdź na icloud.com i tymczasowo udostępnij kalendarz, aby uzyskać adres URL serwera i zanotuj go gdzieś (np. Https://p12-caldav.icloud.com ). Teraz wyłącz udostępnianie kalendarza. Jeśli tego nie zrobisz, każdy może wyświetlić ten udostępniony kalendarz!
  • Zaloguj się do swojego konta Apple i utwórz hasło aplikacji, aby Evolution miał dostęp do kalendarzy.
  • W Evolution utwórz nowy kalendarz, wybierz CalDAV i wprowadź adres URL serwera. Nie wpisuj pełnego adresu URL kalendarza, tylko część domeny (np. Https://p12-caldav.icloud.com ).
  • Dla użytkownika wpisz swój AppleId-Email i kliknij znajdź kalendarze. Zostaniesz teraz zapytany o hasło utworzone wcześniej (zapisz je) i możesz wybrać tyle kalendarzy, ile chcesz zsynchronizować.
Mniess
źródło
4

Aby zsynchronizować kalendarze ICloud, potrzebujesz klienta kalendarza obsługującego CalDAV , np. Evolution , który pokażę, ponieważ automatycznie wyświetla tę samą zawartość w domyślnym kalendarzu Ubuntu.

1. Pobierz klienta poczty / kalendarza Evolution:

Zainstaluj go z Centrum oprogramowania:

Ewolucja w Software Center

lub biegnij sudo apt install evolution.

2. Otwórz icloud.com w przeglądarce internetowej i przejdź do kalendarzy. Kliknij okrągłą ikonę sieci bezprzewodowej po prawej stronie nazwy kalendarza, którego chcesz użyć.

Ikona udostępniania iCloud

Kalendarz, którego chcesz użyć, musi być udostępniony (ciemna ikona). Jeśli nie, pojawi się tam opcja.

3. Po udostępnieniu kalendarza zanotuj nazwę serwera zaraz po webcal://(przykład p02-www.icloud.com:)

4. Otwarta ewolucja:

  • Plik> Nowy ...> Kalendarz

Skonfiguruj go jako:

Rodzaj :CalDAV

Włącz,Copy calendar contents locally... aby uzyskać dostęp do offline.

URL : Jeśli serwer był p02-www.icloud.com/abc/123, zastąpiłbyś wwwgo caldavi wprowadził p02-caldav.icloud.com/abc/123. I zawsze powinno to wyglądać http://pXX..., a nie jakhttp://webcal://pXX...

Użytkownik :[email protected]

wprowadź opis zdjęcia tutaj

5. Kliknij Znajdź kalendarze , wprowadź hasło iCloud i wybierz kalendarz, który chcesz zsynchronizować.

6. Jeśli chcesz zsynchronizować więcej niż jeden kalendarz, po prostu powtórz wcześniej od kroku 3 .


Teraz Twoje kalendarze ICloud pojawią się w Kalendarzu, a na podglądzie kalendarza pojawi się podgląd

wprowadź opis zdjęcia tutaj

M. Becerra
źródło
W celu uwierzytelnienia w kroku 4 musisz zalogować się na appleid.apple.com i wygenerować hasło aplikacji dla każdego kalendarza, do którego chcesz uzyskać dostęp. („Użytkownik” nie musi być adresem e-mail icloud).
John Mee,
2

Obowiązkowe, aby to działało Należy również przejść na poniższy adres, a następnie na kartę Zabezpieczenia , hasła do aplikacji . W polu wpisz Ewolucja, a następnie skopiuj wygenerowany kod i wklej go do ewolucji w żądanym haśle .

https://appleid.apple.com

Jerome Villiseck
źródło