Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php cURL Apple iCloud日历订阅链接失败_Php_Curl_Icloud_Icalendar - Fatal编程技术网

Php cURL Apple iCloud日历订阅链接失败

Php cURL Apple iCloud日历订阅链接失败,php,curl,icloud,icalendar,Php,Curl,Icloud,Icalendar,我一直在php web应用程序中使用cURL从iCloud日历中获取ics数据,但最近它已经停止工作。JSON响应为{原因:无效或缺少原始标头,错误:1}iCloud提供的链接具有webcal://协议,但它过去曾使用https://替换它 以下是PHP中的cURL请求: $request = curl_init(); curl_setopt_array($request, array ( CURLOPT_URL => 'https://p05-calendarws.icl

我一直在php web应用程序中使用cURL从iCloud日历中获取ics数据,但最近它已经停止工作。JSON响应为{原因:无效或缺少原始标头,错误:1}iCloud提供的链接具有webcal://协议,但它过去曾使用https://替换它

以下是PHP中的cURL请求:

$request = curl_init();
curl_setopt_array($request, array
    (
    CURLOPT_URL => 'https://p05-calendarws.icloud.com/ca/subscribe/1/D_qOGO6JavMSf055UDaLZJP3SMdywBrlw_w6JkYC1yNJK6R5oxtSOXXXXXXXXXX',
    CURLOPT_POST => FALSE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_HEADER => FALSE,
    CURLOPT_FOLLOWLOCATION => TRUE
));

$response = curl_exec($request);
curl_close($request);

我认为这可能是苹果和他们最近一直在推广的双因素认证的问题。如果这是原因,我找到了从iCloud获取特定于应用程序的密码的地方,但不确定如何在此处实现。

可能太晚了,无法提供帮助,但这可能只适用于已发布的可共享只读日历。我用我的一个试过了,回显了$response,得到了我日历上的所有事件

CURLOPT_URL => 'https://p35-calendars.icloud.com/published/2/f3en8ZL-G5cgxxxxxxxxx'