cURL Apple iCloud 日历订阅链接失败
Posted
技术标签:
【中文标题】cURL Apple iCloud 日历订阅链接失败【英文标题】:cURL Apple iCloud Calendar Subscription Link Fails 【发布时间】:2017-06-03 02:00:52 【问题描述】:我一直在 php Web 应用程序中使用 cURL 从 iCloud 日历中获取 ics 数据,但最近它停止工作了。 JSON 响应是 "reason":"Invalid or missing Origin header","error":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);
我认为这可能是 Apple 及其最近一直在推广的 2 因素身份验证的问题。如果这是原因,我找到了从 iCloud 获取应用程序特定密码的位置,但不知道如何在此处实现。
【问题讨论】:
【参考方案1】:提供帮助可能为时已晚,但这可能仅适用于已发布(可共享、只读)的日历。我用我的一个试了一下(并回显了 $response)并为我的日历获取了所有事件。
CURLOPT_URL => 'https://p35-calendars.icloud.com/published/2/f3en8ZL-G5cgxxxxxxxxx'
【讨论】:
以上是关于cURL Apple iCloud 日历订阅链接失败的主要内容,如果未能解决你的问题,请参考以下文章