Error: Failed to load processor TracNav
No macro or processor named 'TracNav' found

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