php日历事件,使用php在nextcloud中创建日历事件

我试图用php和curl在nextcloud中创建一个日历事件。从命令行运行代码后,从nextcloud 12得到以下错误:

PUT is not allowed on non-files.

下面是我使用的完整代码

this guide

$url = 'https://cloud.org/remote.php/dav/calendars/mycalendars/activity/';

$headers = array('Content-Type: text/calendar', 'charset=utf-8');

$userpwd = 'gerald:123';

$description = 'new event description';

$summary = 'new event';

$tstart = gmdate("Ymd\THis\Z", strtotime("-2 days"));

$tend = gmdate("Ymd\THis\Z", strtotime("-2 days"));

$tstamp = gmdate("Ymd\THis\Z");

$uid = 'event-123';

$body = <<<__eod>

BEGIN:VCALENDAR

VERSION:2.0

BEGIN:VEVENT

DTSTAMP:$tstamp

DTSTART:$tstart

DTEND:$tend

UID:$uid

DESCRIPTION:$description

LOCATION:Office

SUMMARY:$summary

END:VEVENT

END:VCALENDAR

__EOD;

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

curl_setopt($ch, CURLOPT_USERPWD, $userpwd);

//curl_setopt($ch, CURLOPT_PUT, true);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');

curl_setopt($ch, CURLOPT_POSTFIELDS, $body);

//Execute the request.

$response = curl_exec($ch);

curl_close($ch);

echo $response;

?>

这是否意味着nextcloud中的caldav不支持put?那么像Thunderbird Lightning这样的日历应用程序如何在NextCloud中创建事件呢?

在下一个街区

WebDAV documentation

我找不到关于caldav实现的任何信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值