This page NeedsTranslation
Delete
To delete a blogmark, just send an HTTP Delete on the mark editURI.
The editURI can be found in Atom feeds and is basically http://api.blogmarks.net/marks/MARK_ID
Authentication is explained in AtomApiTutorial/Get
The client send :
DELETE /marks/1025 HTTP/1.0 Host: api.blogmarks.net Authorization: WSSE profile="UsernameToken" X-WSSE: UsernameToken Username="$Username", PasswordDigest="$PasswordDigest", Nonce="$Nonce", Created="$CreationTimestamp"
The server response :
HTTP/1.1 200 OK Date: Thu, 10 Mar 2005 12:10:26 GMT Connection: close
With PHP / Pear HTTP:Request you write
<?php
$Username = 'znarf';
$Password = '';
$Nonce = rand( 1 , 100000000000000 );
$CreationTimestamp = date('Y-m-d\Th:i:s\Z');
$PasswordHash = md5( $Password );
$PasswordDigest = base64_encode( sha1( $Nonce . $CreationTimestamp . $PasswordHash ) );
require_once "HTTP/Request.php";
$req =& new HTTP_Request('http://api.blogmarks.net/marks/1025');
$req->setMethod(HTTP_REQUEST_METHOD_DELETE);
$req->addHeader('X-WSSE', 'UsernameToken Username="' . $Username . '", PasswordDigest="' . $PasswordDigest . '", Nonce="' . $Nonce . '", Created="' . $CreationTimestamp . '"');
$response = $req->sendRequest();
if (PEAR::isError($response)) {
echo $response->getMessage();
} else {
$code = $req->getResponseCode();
switch ($code) {
case 200:
echo "OK\n";
break;
default:
echo $code . " Error\n";
echo $req->getResponseBody();
break;
}
}
?>
See also : AtomApiTutorial/Get, AtomApiTutorial/Post, AtomApiTutorial/Put
