获取Yahoo日历

测试

我正在尝试使用下一个代码获取Yahoo日历列表。

$url = "https://calendar.yahoo.com/";
$user = "****@yahoo.com";
$pwd = "*****";
$body = "<A:propfind xmlns:A='DAV:'>
                            <A:prop>
                                <A:displayname/>
                            </A:prop>
                        </A:propfind>";
$c=curl_init($url);
curl_setopt($c, CURLOPT_HTTPHEADER, array("Depth: 1", "Content-Type: text/xml; charset='UTF-8'", "User-Agent: DAVKit/4.0.1 (730); CalendarStore/4.0.1 (973); iCal/4.0.1 (1374); Mac OS X/10.6.2 (10C540)"));
curl_setopt($c, CURLOPT_HEADER, 0);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($c, CURLOPT_USERPWD, $user.":".$pwd);
curl_setopt($c, CURLOPT_CUSTOMREQUEST, "PROPFIND");
curl_setopt($c, CURLOPT_POSTFIELDS, $body);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$data=curl_exec($c);
curl_close($c);

但是作为回应,我遇到了500错误。任何的想法?

另外我正在尝试使用此链接https://caldav.calendar.yahoo.com,但它也太过500错误

测试

这是我的情况

       $xml = "<A:propfind xmlns:A='DAV:'>
                            <A:prop>
                                <A:displayname/>
                            </A:prop>
                        </A:propfind>";

        $url = sprintf("https://caldav.calendar.yahoo.com/dav/%s/Calendar", $email);

        $headers = array(
            'Depth: 1',
            'Content-Type: text/xml; charset=utf-8',
            'Content-Length: '.strlen($xml),
            "User-Agent: DAVKit/4.0.1 (730); CalendarStore/4.0.1 (973); iCal/4.0.1 (1374); Mac OS X/10.6.2 (10C540)"
        );

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($ch, CURLOPT_USERPWD, $email.":".$password);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PROPFIND');
        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章