Since accessing del.icio.us API services require Authentication ,i
tried writing a PHP script which uses curl.The script does a login to
del.icio.us(https://secure.del.icio.us/login) and then stores the
authentication cookie in a file and then use the same cookie data to
access the service (https://api.del.icio.us/v1/posts/update)
But unfortunately i get a HTTP 401 - Not Authorised Error even though
am passing the cookie.
I have also pasted the PHP code .Kindly let me know where am going wrong.
<?php
define("OK", 0);
function do_curl($method, $url, $fields)
{
$retval = array('error_code' => 0, 'error_string' =>
'OK');
$cookiejar = "/tmp/cookiejar";
$ch = curl_init();
if($method == "POST")
{
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
}
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiejar);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$retval['result'] = $result;
$retval['http_code'] = $http_code;
curl_close($ch);
return $retval;
}
function getupdate()
{
$url = "https://api.del.icio.us/v1/posts/update";
$result = do_curl("GET", $url, array());
if($result['error_code'] != OK)
return $result;
if($result['http_code'] != 200)
{
$retval = array();
$retval['error_code'] = "Error";
$retval['error_string'] = "HTTP Code : " .
$result['http_code'];
return $retval;
}
return $result;
}
$fields['user_name'] = "dummy007";
$fields['password'] = "gopal123";
$url = "https://secure.del.icio.us/login";;
$retval = do_curl("POST", $url, $fields);
print_r($retval);
print_r(getupdate());
?>
Thanks,
Gopal