Calcurse同步Nextcloud报错415 Unsupported Media Type如何解决
问题解决方法
核心原因
你遇到的HTTP 415错误是两个配置问题共同导致的:
- calcurse-caldav 不支持CalDAV根路径自动探测,必须指定到具体日历的完整路径,不能直接用
remote.php/dav/作为Path - Hostname配置项只能填写纯域名,不能携带路径后缀,你将
/nextcloud子路径写在了Hostname里属于错误写法
修改配置步骤
1. 获取你Nextcloud日历的具体路径
打开Nextcloud网页端日历界面,点击你要同步的日历名称右侧的三个点,选择「复制私有链接」,提取链接中域名之后的完整路径即可。
举个例子:如果你复制的私有链接为https://nextcloud.example.com/nextcloud/remote.php/dav/calendars/BestUsername/personal/,则需要用到的路径为/nextcloud/remote.php/dav/calendars/BestUsername/personal/
2. 更新calcurse-caldav配置文件
修改后的完整配置如下:
[General] Binary = calcurse Hostname = nextcloud.example.com Path = /nextcloud/remote.php/dav/calendars/BestUsername/替换为你自己的日历ID/ AuthMethod = basic HTTPS = Yes DryRun = No Verbose = Yes [Auth] Username = BestUsername Password = SuperSecretPassword
3. 测试同步
修改完成后先执行测试命令验证配置是否正确:calcurse-caldav --dry-run
测试无报错后再执行初始化命令即可正常同步:calcurse-caldav --init keep-remote
为什么同配置Calibre可以正常使用
Calibre的CalDAV客户端自带根路径自动探测日历的功能,不需要手动指定具体日历路径,因此你原来的配置可以在Calibre中正常运行,但calcurse-caldav没有实现自动探测逻辑,必须手动指定到具体日历路径。
内容的提问来源于stack exchange,提问作者Jocomol
相关产品推荐
相关产品推荐

