2017-06-03 1395 views
0

我一直在使用cURL的PHP​​ Web应用程序从iCloud日历中取得ics数据,但最近它已停止工作。 JSON响应是{“reason”:“Origin头文件无效或缺失”,“错误”:1} iCloud提供的链接具有webcal://协议,但它在过去用https:/ /。cURL苹果iCloud日历订阅链接失败

下面是PHP卷曲要求:

$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); 

我认为这可能是与苹果和他们的2因素认证,他们一直在推动近来的一个问题。如果这是原因,我找到了从iCloud获取应用程序特定密码的位置,但不确定如何在此处实现该密码。

回答

1

可能来不及提供帮助,但这可能只适用于已发布(可共享,只读)日历。我试着用我的一个(和echo'd $回应),并得到我的日历的所有事件。

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