如何将CalDAV对象移动到另一个集合?

时间:2019-05-10 14:47:05

标签: curl caldav

我试图使用libcurl以编程方式将一些CalDAV资源对象(即事件)从一个日历集合移动到另一个日历集合。

我认为,MOVE方法适用于我的问题。我有一个Nextcloud实例,所以我尝试了关于shell的下一个请求:

$ curl -v -X MOVE -u bergentroll:password \
-H 'Destination: http://orangepi/remote.php/caldav/bergentroll/aux/Nextcloud-wafrjmzdgc7qxdv75drtrm.ics' \
http://orangepi/remote.php/caldav/calendars/bergentroll/personal/Nextcloud-wafrjmzdgc7qxdv75drtrm.ics

辅助集合和ics对象都存在,但出现异常:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception\Conflict</s:exception>
  <s:message>The destination node is not found</s:message>
</d:error>

我尝试了没有协议://主机名的目的地,也尝试了没有文件名的路径,但是每次我遇到相同的异常。

那么MOVE方法是否适合该目的以及如何获得结果?

我看到了MOVE的下一个替代方案:GET,DELETE,PUT;但它看起来丑陋且多余。

0 个答案:

没有答案