Připojení CalDAV kalendáře
CalDAV je otevřený standardní protokol pro přístup ke kalendářům přes internet. Podporuje ho mnoho služeb, například Fastmail, Nextcloud, SOGo, Radicale, Baikal nebo Synology Calendar.
Postup
-
Připravte si údaje CalDAV
Před připojením si musíte zjistit údaje o svém CalDAV serveru. Obvykle je najdete:
- v nápovědě nebo dokumentaci svého poskytovatele,
- na stránce nastavení účtu,
- v e-mailu, který vám poskytovatel poslal při registraci.
Budete potřebovat:
- Adresu serveru – často stačí samotná adresa serveru, např.
cloud.example.com, přesnou cestu ke kalendářům zkusíme dohledat sami. Jinak zadejte úplnou URL CalDAV, např.https://example.com/dav. - Uživatelské jméno – obvykle vaši e-mailovou adresu nebo uživatelské jméno účtu
- Heslo – heslo k účtu nebo heslo pro aplikaci
Údaje pro Fastmail, Nextcloud, SOGo a Synology Calendar najdete níže v části Oblíbení poskytovatelé CalDAV.
-
Přejděte na stránku Kalendáře
V SyncMyDay klikněte v menu na Kalendáře, nebo přejděte přímo na stránku Kalendáře.
-
Klikněte na „Jiný CalDAV“
Najděte dlaždici Jiný CalDAV a klikněte na ni.
-
Zadejte přihlašovací údaje CalDAV
Vyplňte formulář údaji, které jste si připravili:
- Adresa serveru – adresa serveru nebo přímo URL CalDAV, například:
https://caldav.fastmail.comhttps://nextcloud.example.com/remote.php/davcaldav.example.com(https://přidáme automaticky)
- Uživatelské jméno – obvykle vaše e-mailová adresa (např.
vy@example.com) nebo uživatelské jméno - Heslo – heslo k účtu nebo heslo pro aplikaci (pokud ho váš poskytovatel vyžaduje)
- E-mail (nepovinné) – zobrazí se u kalendáře, pokud se liší od uživatelského jména
Když do pole E-mail zadáte adresu poskytovatele, pro kterého máme vlastní formulář, nabídneme vám přepnutí na něj. U adresy na vlastní doméně zkusíme CalDAV server dohledat a jeho adresu doplníme, pokud jste ji ještě nevyplnili.
- Adresa serveru – adresa serveru nebo přímo URL CalDAV, například:
-
Nechte SyncMyDay najít kalendáře
Klikněte na Najít kalendáře. SyncMyDay přitom:
- ověří, že je server dosažitelný přes HTTPS,
- přihlásí se vašimi přihlašovacími údaji,
- vyhledá dostupné kalendáře.
Obvykle to trvá několik sekund.
-
Vyberte kalendář
Uvidíte seznam kalendářů dostupných na vašem CalDAV serveru. Vyberte ten, který chcete synchronizovat, případně upravte jeho název a klikněte na Dokončit nastavení. Vybraný kalendář můžete později změnit v jeho detailu přes Upravit.
Typicky tu uvidíte například tyto kalendáře:
- Osobní – váš hlavní kalendář
- Práce – pracovní události
- Rodina – sdílený rodinný kalendář
- jakékoli vlastní kalendáře, které jste si vytvořili
Kalendář označený Jen pro čtení může být jen zdrojem jednosměrného pravidla. Blokace do něj zapisovat nejde a obousměrnou synchronizaci s ním nenastavíte.
-
Hotovo, kalendář je připojený
Váš CalDAV kalendář je teď připojený a připravený k použití.
Oblíbení poskytovatelé CalDAV
Fastmail
Populární e-mailová a kalendářová služba.
- URL serveru:
https://caldav.fastmail.com - Uživatelské jméno: vaše e-mailová adresa Fastmail
- Heslo: vaše heslo Fastmail (nebo heslo pro aplikaci, pokud je zapnuté 2FA)
Nextcloud
Self-hosted nebo spravovaný Nextcloud.
- URL serveru:
https://vas-nextcloud.com/remote.php/dav - Uživatelské jméno: vaše uživatelské jméno Nextcloud
- Heslo: vaše heslo Nextcloud nebo heslo pro aplikaci
SOGo
Open-source groupware server.
- URL serveru:
https://vas-sogo-server.com/SOGo/dav - Uživatelské jméno: vaše uživatelské jméno SOGo (často
email@domena.cz) - Heslo: vaše heslo SOGo
Synology Calendar
Balíček Kalendář pro Synology NAS.
- URL serveru:
https://vase-nas-adresa.com:5001/calendar - Uživatelské jméno: vaše uživatelské jméno Synology DSM
- Heslo: vaše heslo Synology DSM
Ujistěte se, že je nainstalovaný balíček Kalendář a že je v nastavení Kalendáře povolený CalDAV.
Řešení problémů
„Server … nejde zastihnout“ nebo „Server … nemá platný certifikát“
Zkontrolujte tyto časté problémy:
- Adresa serveru:
https://přidáme automaticky. Pokud samotná adresa serveru nestačí, zadejte úplnou URL CalDAV z dokumentace poskytovatele. - Lomítko na konci: zkuste adresu s lomítkem (
/) na konci i bez něj. - Číslo portu: některé servery potřebují výslovně uvedený port (např.
:8443). - Certifikát: připojujeme se jen přes HTTPS a k serverům s neplatným certifikátem (včetně self-signed) se z bezpečnostních důvodů nepřipojíme. Pokud server provozujete sami, nastavte mu platný certifikát.
- Dostupnost z internetu: server, na který se dostanete jen z vnitřní sítě nebo přes VPN, připojit nejde.
„CalDAV odmítl přihlašovací údaje.“
Časté příčiny:
- nesprávné uživatelské jméno nebo heslo,
- je potřeba použít heslo pro aplikaci (pokud máte zapnuté 2FA),
- špatný formát uživatelského jména (zkuste ho s
@domena.czi bez), - účet je uzamčený nebo deaktivovaný.
Řešení: zkontrolujte přihlašovací údaje, v případě potřeby vygenerujte heslo pro aplikaci, nebo kontaktujte svého poskytovatele.
„Nenašli jsme žádný kalendář. Zkontrolujte adresu serveru.“
Pokud se kalendáře nenajdou:
- Zadejte místo samotné adresy serveru úplnou URL CalDAV z dokumentace poskytovatele.
- Ujistěte se, že máte ve svém účtu alespoň jeden kalendář.
- Zkontrolujte, že kalendáře nejsou skryté nebo archivované.
- Zkuste vytvořit testovací kalendář ve webovém rozhraní svého poskytovatele.
Synchronizace se zastavila a přišel mi e-mail
Když uložené heslo přestane fungovat, SyncMyDay připojení pozastaví a pošle vám e-mail. Otevřete kalendář na stránce Kalendáře, klikněte na Upravit, vyplňte Nové heslo (nepovinné) a klikněte na Uložit změny.
Synchronizace je pomalá
CalDAV kalendáře se synchronizují každých 5 minut, což je pomaleji než u Google Calendar a Microsoft 365:
- Je to normální kvůli omezením protokolu CalDAV.
- Push notifikace v reálném čase nejsou k dispozici.
- Frekvence dotazování vyvažuje rychlost odezvy a zatížení serveru.
Potřebujete rychlejší synchronizaci? Zvažte Google Calendar nebo Microsoft 365, které podporují webhooky v reálném čase.
Další kroky
Technické detaily
Pro vývojáře a IT
Protokol CalDAV (RFC 4791)
SyncMyDay implementuje standard CalDAV pomocí těchto požadavků:
PROPFIND— objevování kalendářů, jejich oprávnění a značek změnREPORT— dotazování kalendářových dat (calendar-query)PUT— vytváření a aktualizace blokacíDELETE— odstraňování blokací
Objevování služby
Kalendářové kolekce hledáme pomocí WebDAV service discovery:
- Zkusíme zadanou URL; pokud na ní CalDAV neodpovídá, zkusíme
/.well-known/caldav(RFC 6764). - Přes
current-user-principalnajdeme vlastnostcalendar-home-set. - V home setu vyhledáme kalendářové kolekce.
- Podle
current-user-privilege-setpoznáme kalendáře jen pro čtení a označíme je.
Autentizace a zabezpečení
- Basic Auth: standardní HTTP Basic Authentication přes HTTPS
- Digest Auth: podporováno, pokud ho server vyžaduje
- Jen HTTPS s platným certifikátem, adresy ve vnitřních sítích odmítáme.
- Přihlašovací údaje jsou v databázi šifrované (libsodium).
Strategie dotazování (polling)
Protože CalDAV nepodporuje push notifikace:
- Změny kontrolujeme každých 5 minut.
- Porovnáme
getctag/sync-tokenkalendáře; když se nezměnil, události znovu nestahujeme. - Když se změnil, načteme události celého synchronizovaného období dotazem
REPORT(calendar-query). - Nejméně jednou za hodinu kalendář projdeme celý i bez změny.
Formát iCalendar
Události se vyměňují ve formátu iCalendar (RFC 5545):
- Parsujeme komponenty
VEVENT. - Extrahujeme
DTSTART,DTENDaSTATUS. - Zpracováváme pravidla opakování (
RRULE). - Podporujeme převod časových pásem (
VTIMEZONE).
Známá omezení
- Žádná synchronizace v reálném čase: interval dotazování 5 minut
- Závislost na serveru: vyžaduje správnou implementaci CalDAV
- Omezení firewallu: server musí být přístupný z internetu
Nepovedlo se? Napište nám a pomůžeme vám.