2022年11月10日 星期四

如何透過CardDAV跟CalDAV URL與Synology聯絡人、行事曆、工作同步?

在2019年裡面,如何讓像Outlook的應用軟體同步Synology的聯絡人、行事曆、工作?

2022/11 更新!! 

Synology不講武德! 再次更改各項服務URL與PORT,說明文件亦更新不全,多處說明均不相同,同步方法再度變更,還好,還是被小編挖出來了,請看 YouTube 影片示範


synology_logo
Synology NAS
自從Synology在2011年9月7日宣布自家的DSM 3.2支援CardDAVCalDAV之後,很多論壇以及IT業界的Synology用戶們都躍躍欲試。但是,如果你在Synology官方社群裡面搜尋”caldav”這個關鍵字,長達80頁接近八年內的搜尋結果裡面,從DSM 3.2到6.2,看到大部分人都在詢問到底怎樣才能讓同步成功? 直到目前,真正能夠同步成功的僅有CardDAV聯絡人同步。因為很少人提問CardDAV同步的相關問題。 在2014年,小編撰寫一篇如何與Synology CalDAV跟CardDAV同步Outlook連絡人、行事曆、工作。在過去幾年裡面,Synology一直在很負責地更新自家的DSM到目前的6.2版本。四年多過去了,讓我們再次看看Synology NAS提供的CalDAV及CardDAV服務是否還可以用? 對了,如果你是Baikal用戶,要確定Baikal伺服器是否還可以在較新版本的DSM上面運行? 如果目前你的Baikal伺服器運行正常,則可以無視更新DSM版本。如果要做實驗,要確定你真的懂其中相關資料庫、php、apache等等的眉眉角角。在四年多前的文章裡面也有提到如何讓Outlook同步運行在Synology上面的Baikal伺服器。如果沒有看過,請翻一翻舊文章溫古知新。

過去曾經能用的同步工具

EVO Collaborator for Outlook從2014年開始支援與Synology同步聯絡人、行事曆、工作 之後,一些同類型的同步工具軟體也逐漸開始支援,例如: gSyncit。在過去幾年的某個舊DSM版本的時候,這些同步工具軟體都可以正常同步。 就目前來說,最新版本的gSyncit已經無法偵測伺服器URL,回傳一個(404) Not Found的錯誤信息。
gsyncit_synology_verify_fail
gSyncit 404 Not Found error
關於Synology的這個問題,小編寫信給EVO團隊提問,得到的回覆是: "就在今年初,我們一個用戶來信提問Outlook無法與Synology的CardDAV伺服器同步行事曆與工作。對於此問題,我們也實驗出來一樣的結果。所以我們針對此問題找出解決辦法以確保用戶可以同步。就在幾天前,這個問題已經解決。"

從Synology官方知識庫來的信息。。。

不知道在哪裡聽到這個說法? 如果一個軟體用戶提報一個問題,其實其背後有一千個用戶也同時會有一樣的問題。只是他們沒有提報罷了。 基於上述的說法以及在Synology官方社群論壇上面討論CalDAV無法同步的熱烈,實際上有很多Synology用戶都在等一個解決方案。哈囉,群暉科技! 快點醒過來解決問題吧! 根據Synology官方知識庫的教學 “如何將 Synology Calendar 與其他 CalDAV 用戶端同步?”,同步行事曆應該是很簡單的課題。同時,另外一篇” 如何使用 Synology NAS 架設行事曆伺服器”也提供設定CalDAV用戶端的步驟。如果你按照這些教學去實作,結果是不會成功的。
synology_webdav_calendar_package
Synology WebDAV & Calendar App
如果你查看Synology DSM介面,你會看到有兩個地方可以建立CalDAV分享URL。一個是在NAS內建的行事曆App:
synology_calendar_caldav%2Baccount
Calendar App裡面的CalDAV Account設定
另外一個則是在WebDAV app:
synology_webdav_add_calendar
WebDAV 新增行事曆
官方知識庫也有提到這兩個地方。就如上面所說的,實作是行不通的。 下面是官方知識庫對於內建行事曆App顯示Calendar URL的截圖:
calendar_generated_path_on_knowledge_base
內建行事曆產生的URL
下面是官方知識庫對於WebDAV URL顯示Calendar URL的截圖:
synology_webdav_generated_path_on_knowledge_base
WebDAV產生的URL

我們發現的真相是。。。

理論上,就同一個CardDAV帳號來說,內建行事曆App跟WebDAV App裡面的行事曆應該要一樣,不應該是分開的。不論你在哪裡存取行事曆資料,應該看到一樣的東西。 對於上述狀況,也許舊版DSM是正常的。但是目前已經不可考究。就現在的DSM 6.2來說,經過實驗證明,兩個App的行事曆是分開獨立的。同時,在找出解決辦法之後,我們確定WebDAV App的行事曆經過一些修正之後才可以提供同步之用。

解決問題,繼續同步

我們花了很多時間找出官方知識庫跟實作上面步驟的差別,並對其URL、路徑、主機名稱,連接埠等等作差異比較之後,我們在數個CalDAV用戶端軟體上面已經同步成功。 我們先列出完全可用的CalDAV URL。然後我們再將其與知識庫提供的URL作比較。下面是完全可用的URL:
  • 非SSL: http://<server_hostname_or_ip>:port/homes/<user_account>/<calendar_folder>/
  • SSL: https://<server_hostname_or_ip>:port/homes/<user_account>/<calendar_folder>/
我們實驗裡面實際使用的URL:
  • 非SSL: http://junkyard2019.ddns.net:5005/homes/junkadmin/calendar/
  • SSL: https://junkyard2019.ddns.net:5006/homes/junkadmin/calendar/
在DSM 6.2內建行事曆App 實作產生的URL:
synology_calendar_caldav%2Baccount_path
Synology內建行事曆URL路徑
我們先把主機名稱擺一邊,直接比對上圖與實際可用的URL路徑。經過瀏覽Synology NAS的樹狀路經後,完全找不到圖中的caldav目錄名稱。也就是說,圖中的URL路徑是完全不可用的。就算可以用,也只能在行事曆App裡面有效,無法做同步之後。

WebDAV App提供的URL路徑:

synology_webdav_path_for_quickconnect
Synology WebDAV提供的URL路徑
synology_webdav_generated_path_on_knowledge_base
官方知識庫示範的CalDAVURL路徑
現在,我們來比對完全可用的URL、DSM 6.2上面實作產生的URL、官方知識庫提供的WebDAV URL路徑。同樣地,把主機名稱擺一邊。DSM 6.2的版本完全正確。但是,除非把鼠標停留在Location底下,否則根本不會出來。一般使用者沒有注意到的話,應該只會專注在KB上面的教學。再來,兩個WebDAV版本差別在於資料夾路徑。官方知識庫的路徑是:
  • /web/Calendar/Work
實作產生的路徑:
  • /homes/<user_account>/<calendar_folder>
比較之後發現路徑上的差異是造成使用者們無法同步Synology CalDAV服務主要原因。同步工具軟體們按照原先舊的/web/Calendar/<calendar_folder>自動偵測法則並無法偵測到新版的URL路徑。過去幾年中,舊版的路徑偵測都是可以用的,但是新版卻不可以,這只能說明群暉科技的官方知識庫的小編有點偷懶喔。

與Synology CardDAV服務同步

synology_carddav_service_icon
Synology DSM CardDAV 伺服器
在Synology NAS DSM上面CardDAV服務的設定很簡單。只有一個地方可以做連接埠的設定。
synology_carddav-service_UI
Synology CardDAV 設定介面

目前完全可用的CardDAV URL:

  • 非SSL: http://<server_hostname_or_ip>:port/addressbooks/users/<user_account>/addressbook/
  • SSL: https://<server_hostname_or_ip>:port/addressbooks/users/<user_account>/addressbook/
如果逐字比較,我們可以發現上面的URL格式跟先前2014年提供的EVO Collaborator for Outlook所用的格式一模一樣。在官方知識庫裡,只有兩頁提到如何做DSM裡面相關參數的設定。完全沒有針對iOS、macOS、Thunderbird、Outlook等等用戶端相關軟體的設定教學。這是蠻可惜的。

與Synology CardDAV伺服器同步的一些問題

狀況 #1

這是一個蠻有意思的狀況。大部分郵件軟體包含Thunderbird、Outlook、iOS Mail等等 ,裡面聯絡人的地址區塊把街道名、城市、區域、國家、郵遞區號等等儲存在各自的項目中,如下圖:
synology_outlook_original_address
Outlook聯絡人地址項目
但是,當聯絡人資料同步至Synology NAS以後,全部的項目都會被併至街道名項目裡面,如下圖:
synology_one_line_address
Synology地址合併為一行
當同步工具偵測上述的合併動作之後,會把這些變更同步回本地端的聯絡人。看官們可能會馬上瘋掉。為了避免悲劇的發生,絕對不要在Synology上面做任何修改動作。
synology_outlook_one_line_address_after%2Bsync
同步過後Outlook地址變成一行

狀況 #2

如果使用同步工具的郵件軟體是Outlook,在聯絡人的電話分類清單中,不要使用主要(Primary)類別來儲存電話號碼。
synology_issue_primary_phone_number
Outlook 電話 Primary
在另外一端的Synology NAS上面,不要使用TelephonePreferred兩種類別來儲存號碼。

synology_issue_telephone_preferred_number

在我們的實驗中,會發生下列諸多的問題: 1. 當Primary類別電話號碼被同步到Synology NAS以後,一開始會被分類到Telephone。如果在NAS上面修改這筆電話,後續的同步結束以後,該筆在Outlook上面的Primary類別電話號碼會消失。 2. 建立在Synology NAS上面Telephone類別電話號碼不會被同步到Outlook上面。 3. Preferred類別電話號碼是會被同步到Outlook上面,並且會以Primary類別存在。但是,該筆Primary類別電話號碼又會被同步回Synology上面並以Telephone類別項目的形式存在。這時候,#1的狀況又會再次發生並造成Primary電話號碼的消失。 4. 當Synology上面Telephone跟Preferred類別電話號碼都存在的狀況下,Preferred電話號碼照道理來說會跟Outlook上面的Primary電話號碼同步並一致。但是,實際狀況則是Preferred電話號碼會不見,Primary電話號碼又會被存入Telephone分類的電話號碼中。再來,又會回到#1的狀況。 上述的實驗最後會變成一種不會結束的迴圈。因此,為避免造成不必要的資料流失,不要使用這三個電話類別以及其他籠統名目的電話類別。

在不同軟體/平台上面與Synology CalDAV跟CardDAV同步

讓我們來看看是否同步工具軟體/插件是否能勝任在不同平台上面做同步的工作

Outlook與Synology CalDAV跟CardDAV同步

EVO Collaborator for Outlook可以經過一次設定就輕鬆做到同步CalDAV行事曆、工作 跟CardDAV聯絡人的課題。相容的平台是Outlook 20072010201320162019Office 365。下面是設定的步驟:
  1. 打開Outlook。
  2. 點擊Configure Profile(s)
  3. eco_config_profile
    Configure Profile(s)
  4. 典籍左下角的Profile #21
  5. eco_profile_21
    點擊Profile #21
  6. 在上方依照先前提供的格式輸入Synology NAS的主機名稱
    eco_server_hostname_url
    輸入伺服器主機名URL
    • 透過非SSL同步: https:/<server_hostname_or_ip>:8008
    • 透過SSL同步: https://<server_hostname_or_ip>:8443
  7. 輸入帳號密碼
    eco_enter_username_password
    輸入帳號及密碼
  8. 點擊下方的TEST之後,聯絡人、行事曆、工作的伺服器URL就會自動偵測並在URL空白欄為自動填入。

    eco_auto_discovery_result

    eco_click_test_and_apply_button_before_test
    點擊TEST按鈕
  9. 又,若是Synology上面有多個行事曆(日曆)或工作,點擊上一個步驟中URL右手邊的資料夾圖案即可從跳出來的視窗中選擇。
    eco_calendar_task_folder_list
    多行事曆清單
  10. 點擊下方的Apply儲存設定。

    eco_click_test_and_apply_button

注意事項:
  • 為了讓自動偵測能夠正常運作,所有非SSL或SSL使用的連接埠必須使用Synology提供的預設值:
    • CardDAV: 非SSL: 8008 / SSL: 8443
    • CalDAV: 非SSL: 5005 / SSL: 5006
  • 同時,在輸入主機名稱的時候,最後面的連接埠一定要輸入。非SSL需要輸入”:8008”。SSL需要輸入”:8443”。

    eco_port_8008_hostname

    eco_port_8443_hostname

  • 若是因為某些考量,CalDAV跟CardDAV的連接埠必須使用非預設值的連接埠號碼,則需要手動輸入URL。此時,將Server Hostname空間保留空白然後按照先前講到的URL規則在伺服器URL區塊來手動輸入URL。完成之後,同樣點擊TEST做測試,然後點擊Apply儲存設定。

    synology_eco_server_url_empty_configure_manually

macOS與Synology CalDAV跟CardDAV同步

一直以來,很多人macOS在建立CardDAV跟CalDAV帳戶的時候遇到” Unable to verify account name or password.”的問題。因為無法設定CalDAV帳戶,所以連同步都談不上。我google這個信息,找到很多答案,應該是跟伺服器憑證有關。 小編針對這個問題做了一個實驗供看官做參考。在這個實驗的下面三種狀況裡面,我嘗試在Mojve上面建立CardDAV跟CalDAV帳號:
  1. Synology上面有預設Synology自己簽署(Self-signed)的憑證。
  2. 在Synology上面匯入第三方自己簽署的憑證。
  3. 在Synology上面匯入CA簽署的憑證。
在第一個跟第二個狀況裡面嘗試建立帳戶的時候,不論是透過手動或是進階模式,大多數機會都會出現上面這個無法驗證帳戶名跟密碼的信息。但是在第三個狀況,透過進階模式,每次建立帳戶都可以成功。 然而在測試第一種跟第二種狀況的時候,偶而有一個信息跳出來”Internet Accounts (System Preferences) can’t verify the identity of the server “junkyard2019.ddns.net””。我就聯想到如果讓自己簽署的憑證在macOS底下永遠受信任,應該就沒有問題了。我嘗試了,也成功了。只要把憑證匯入macOS底下並永遠信任它,不論哪一種狀況下建立CardDAV跟CalDAV帳號都沒有問題。 現在,我來總結一下在建立DAV帳戶之前有哪些步驟要先做?
  1. 如果要使用Synology自己簽署的憑證,將該憑證匯出至macOS。
    • 在Synology NAS底下把憑證匯出到一個crt憑證檔案。
      01_export_self_sign_cert
      匯出crt憑證檔案
    • 將此crt憑證檔案在macOS匯入。
      02_import_self_sign_to_macos
      在macOS匯入剛剛匯出的憑證
    • Keychain Access裡面左下角的Certificate設定中選取該憑證下拉選單的Get Info,點擊並展開Trust,然後在下拉選單中選擇Always Trust
      03_get_info_on_cert
      點擊憑證帶出選單並點擊Get Info
      04_make_cert_always_trust
      點擊Always Trust取代系統預設值
  2. 如果要使用現有CA簽署的憑證,將該憑證匯入至Synology。
    • 如果手上沒有CA簽署的憑證,可以按照此連接的教學取得。
    • 隨後,點擊Control Panel/Security
      06_control_panel_security
      Synology 的Control Panel / Security
    • 點擊Certificate分頁。
      07_certificate_tab
      Certificate分頁
    • 點擊Add
      08_add_new_certificate
      點擊Add然後Add a new certificate
    • 參考上面的截圖,點擊Add a new certificate然後Next
    • 點擊Import certificate然後Next
      09_import_certificate
      匯入憑證
    • 點擊Browse來瀏覽存放憑證檔案的資料夾。
      10_browse_ca_signed_cert
      瀏覽憑證檔案資料夾
    • 參考上面的截圖,分別匯入Private Key, CertificateIntermediate certificate,然後點擊OK
當上面的步驟完成之後,在先前Synology DSM的憑證分頁點擊Configure,將下拉選單中CA簽署或自己簽署的憑證指派給CardDAV ServerWebDAV Server
11_select_certificate_as_default_for_carddav_webdav
指派憑證給CardDAV/WebDAV伺服器
再來,繼續完成設定macOS的動作:
  1. 在macOS打開System Preferences / Internet Accoutns
    12_system_preference_internet_accounts
    macOS的System Preferences / Internet Accounts
  2. 點擊Add Other Account…:
    13_add_other_account_selection
    點擊Add Other Accounts...
    • 如要設定CardDAV帳號,點擊CardDAV account
    • 如要設定CalDAV帳號,點擊CalDAV account
  3. Account Type的下拉選單中選擇Advanced,然後輸入:
    14_advanced_account_type
    Account Type 選擇Advanced
    • User Name, 範例: junkadmin
    • Password, 範例: ********
    • Server Address:
      • 格式: server_host.domain.com
      • 範例: junkyard2019.ddns.com
    • Server Path:
      • 如要設定CardDAV:
        • 格式: /addressbooks/users/<username>/addressbook/
        • 範例: /addressbooks/users/junkadmin/addressbook/
      • 如要設定CalDAV:
        • 格式: /homes/<username>/<calendar_folder>/
        • 範例: /homes/junkadmin/appointment/
    • Port:
      • 8443 for CardDAV
      • 5006 for CalDAV
    • Use SSL: 保持打勾
      15_carddav_advanced_setting_demo
      CardDAV設定範例
      16_caldav_advanced_setting_demo
      CalDAV設定範例
      17_both_dav_accounts_added
      添加CardDAV跟CalDAV帳號完成
  4. 最後,點擊Sign In繼續登入。
下面為同步結果的截圖:
18_macos_address_book
macOS聯絡人同步結果
19_macos_calendar_sync_demo
macOS行事曆同結果

iOS (iPhone & iPad) 與Synology CalDAV跟CardDAV同步

在過去幾年,蘋果的iOS不論是iPhone或是iPad一直以來在CalDAVCardDAVExchange以及市面上其他同類型帳戶方面的建置以及同步是最合拍的。在下面的實驗裡面,我們測試安裝最新版本iOS 12.2iPhone XS。 之前,我不記得是哪個版本,好像是iOS 10或11,蘋果開始強制性地要求此類帳戶建置以、連線及同步必須透過SSL/TLS協議。我個人覺得這樣子比較好。畢竟不是每台伺服器都會安裝SSL憑證也不是每個人都要透過SSL連線。就目前的iOS 12.2,非SSL連線仍然行不通。 在CardDAV方面,當我輸入伺服器IP或主機名稱(無須輸入連接埠)、帳戶名、密碼之後,iOS非常迅速的偵測到伺服器URL。一下子就設定完畢。

iphone_carddav_summary

在CalDAV方面,由於iOS無法偵測到正確的伺服器URL,這裡需要調整一些參數才可以搞定:
  1. 在iPhone上面,點進 Settings/Password & Accounts。
    iphone_password_account
    iPhone的Settings / Passwords & Accounts
  2. 往下拉到Add Account並點進去。
    iphone_add_button
    iPhone的Add Account
  3. 點進Other。
    iphone_account_template_selection
    點進去Other
  4. 點進Add CalDAV Account。
    iphone_other_template_selection
    點擊Add CalDAV Account
  5. 在輸入伺服器主機名稱、帳戶名、密碼之後,點右上角的Next。
    iphone_enter_server_username_password
    輸入伺服器、帳號、密碼
  6. 跳出”Cannot Connect Using SSL”時,點Cancel。然後再點OK繼續。
    iphone_caldav_unable_ssl_warning
    無法透過SSL連結
    iphone_caldav_cannot_verify
    無法確認帳戶資料
  7. 點在Advaned Settings。
    iphone_caldav_advanced_settings
    進入Advanced Settings做微調
  8. 照以前來說,iOS通常都能偵測到完整的CalDAV伺服器URL,然後不用再做任何設定即可順利建置帳號。針對Synology的CalDAV服務,這部分則沒有辦法做到。所以我們只能按照先前提到的URL生成手法來手動補上完整的伺服器URL。範例如下:
    • https://junkyard2019.ddns.net:5006/homes/junkadmin/appointment
      iphone_caldav_advanced_change_url
      修改Account URL
  9. 接下來點前一步驟截圖中左上角的< CalDAV
  10. 點右上角的Next繼續。
    iphone_next_top_right
    點擊右上角的Next
  11. 接下來會的頁面會出現完成建置才會有的打勾,然後下一個畫面中可以開啟或關閉行事曆或工作的選項。
    iphone_caldav_settings_verified
    CalDAV帳號設定完成,打勾表示確認
  12. 最後,點右上角的Save儲存設定。
    iphone_caldav_save_settings
    點在右上角Save儲存設定
只要透過一些微調,還是可以讓iOS裝置與Synology NAS同步聯絡人、行事曆、工作。

Thunderbird與Synology CalDAV跟CardDAV同步

在Thunderbird底下, Lightning插件可以用於同步Synology的CalDAV行事曆。設定步驟如下:
  1. 打開Thunderbird並確認是否已經更新到目前最新的60.5.3版。
    thunderbird_website_tw
    Thunderbird 官網
  2. 滑鼠右鍵點在行事曆區塊,然後點選New Calendar…
    synology_thunderbird_add_calendar_menu
    新行事曆選單
  3. 點擊On the Network選項,然後點擊Next
    synology_thunderbird_lightning_on_network
    添加行事曆 - On the Network
  4. 點擊Caldav並輸入按照先前提到的URL生成手法產生的伺服器URL,然後點擊Next
    • https://junkyard2019.ddns.net:5006/homes/junkadmin/appointment/
      synology_thunderbird_lightning_create_new_calendar
      點選CalDAV,輸入伺服器URL
  5. 輸入行事曆名稱還有點選電子郵件供會議邀請用途,然後點擊Next
    synology_thunderbird_lightning_name_calendar
    輸入行事曆名稱、輸入電子郵件地址供會議通知使用
  6. 在跳出來的Add Security Exception視窗裡面,點擊Confirm Security Exception
    synology_thunderbird_lightning_confirm_certificate
    確認憑證例外
  7. 此時,在新建立的行事曆上面點擊滑鼠右鍵,在下拉選單中,點選Synchronize做同步。
    synology_thunderbird_click_on_synchronize_calendar
    點擊Synchronize Calendars
  8. 在跳出來的Authentication Required的視窗裡面,輸入帳戶名密碼,然後點擊OK
    synology_thunderbird_lightning_enter_username_password
    輸入帳戶名、密碼做認證
  9. 點擊Finish完成設定。 
    synology_thunderbird_lightning_complete
    行事曆設定結束
  10. 最後,同步完成。
    synology_thunderbird_lightning_sync_complete
    行事曆同步完成
在CardDAV方面,SOGo connector for Thunderbird可以拿來同步Synology的CardDAV聯絡人。設定步驟如下:
  1. 打開Thunderbird並確認SOGo connector for Thunderbird已經安裝。在SOGo connector官網點擊下面畫面圈起來的60.0.2完成下載的動作。
    synology_thunderbird_sogo_connector_download
    下載SOGo Connector for Thunderbird
  2. 在Thunderbird裡面打開Address Book
    synology_thunderbird_sogo_connector_addressbook_button
    打開Address Book
  3. 點擊左上角File然後New -> Remote Address Book
    synology_thunderbird_sogo_connector_remote_address_book
    打開 File / New / Remote Address Book
  4. 在跳出來的視窗裡面,輸入連絡簿名稱並輸入按照先前提到的URL生成手法產生的伺服器URL,然後點擊OK
    • https://junkyard2019.ddns.net:8443/addressbooks/users/junkadmin/addressbook/
      synology_thunderbird_sogo_connector_enter_url_info
      輸入行事曆名稱以及伺服器URL
  5. 在跳出來的Add Security Exception視窗裡面,點擊Confirm Security Exception
    synology_thunderbird_sogo_connector_confirm_ssl
    確認憑證例外
  6. 此時,在新建立的連絡簿上面點擊滑鼠右鍵,在下拉選單中,點選Synchronize做同步。
    synology_thunderbird_sogo_connector_click_sync_button
    點選Address Book然後點擊Synchronize同步
  7. 在跳出來的Authentication Required的視窗裡面,輸入帳戶名密碼,然後點擊OK。
    synology_thunderbird_sogo_connector_enter_user_password
    輸入帳戶名、密碼做認證
  8. 最後,同步完成。
    synology_thunderbird_sogo_connector_sync_done
    聯絡人同步完成

關於Synology CalDAV跟CardDAV伺服器功能的一些小編感想

Synology提供小到個人、大到企業的NAS解決方案。當然啦,可以下載的一卡車模組化App真的有幫老闆省一筆錢,例如這個CalDAV跟CardDAV伺服器功能就可以免去再建置一台專職的伺服器。但是,我先前指出來的一些小問題例如: 行事曆app的行事曆資料夾跟WebDAV App裡面的行事曆資料夾無法整合、聯絡人裡面的地址區塊的錯亂、官方知識庫小編對於CalDAV伺服器URL小偷懶沒有做更新等等難免有點小困擾。扣除這些小問題,還是能夠透過小撇步還有修改URL格式進而達到讓用戶端同步的目的。其實。。。也不差啦~!

1 則留言: