Verificación de clave

La llamada verify‑key sirve para autentificar tu clave antes de llamar a los métodos comment‑check, submit‑spam o submit‑ham por primera vez. Esta es la primera llamada que debes hacer a Akismet y es especialmente útil si vas a tener múltiples usuarios con sus propias suscripciones de Akismet utilizando tu aplicación.

Ten en cuenta que no necesitas llamar a este método antes de cada llamada a comment‑check, submit‑spam o submit‑ham; solo debes hacerlo para confirmar que una clave de API es válida antes de almacenarla localmente.

Este método se llama con una solicitud POST a la siguiente URL:

https://rest.akismet.com/1.1/verify-key

Parámetros necesarios

api_key
Tu clave de API de Akismet. Puedes encontrarla en el escritorio de tu cuenta en https://akismet.com/account/

blog
La página de inicio o URL principal de la instancia que realiza la solicitud. En un blog, sitio o wiki, esto sería la página de inicio. Nota: debe ser una URI completa, incluyendo http://.

Ejemplo en PHP

// Call to verify key function
akismet_verify_key('123YourAPIKey', 'http://www.yourblogdomainname.com/');
 
// Authenticates your Akismet API key
function akismet_verify_key( $key, $blog ) {
    $blog = urlencode($blog);
    $request = 'key='. $key .'&blog='. $blog;
    $host = $http_host = 'rest.akismet.com';
    $path = '/1.1/verify-key';
    $port = 443;
    $akismet_ua = "WordPress/4.4.1 | Akismet/3.1.7";
    $content_length = strlen( $request );
    $http_request  = "POST $path HTTP/1.0\r\n";
    $http_request .= "Host: $host\r\n";
    $http_request .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $http_request .= "Content-Length: {$content_length}\r\n";
    $http_request .= "User-Agent: {$akismet_ua}\r\n";
    $http_request .= "\r\n";
    $http_request .= $request;
 
    $response = '';
     
    if( false != ( $fs = @fsockopen( 'ssl://' . $http_host, $port, $errno, $errstr, 10 ) ) ) { 
        fwrite( $fs, $http_request );
 
        while( !feof( $fs ) ) {
            $response .= fgets( $fs, 1160 ); // One TCP-IP packet
        }
     
        fclose( $fs );
 
        $response = explode( "\r\n\r\n", $response, 2 );
    }
  
    if ( 'valid' == $response[1] ) {
        return true;
    } else {
        return false;
    }
}

Ejemplo de respuesta satisfactoria

La llamada devuelve válido si la clave es válida.

Array (
    [0] => HTTP/1.1 200 OK
           Server: nginx
           Date: Mon, 24 Feb 2014 16:31:55 GMT
           Content-Type: text/plain; charset=utf-8
           Connection: close
           Content-length: 5
    [1] => válido
)

Ejemplo de respuesta de error

Si la llamada a verify‑key devuelve «invalid», generalmente incluye una cabecera HTTP adicional con información de debug sobre qué es exactamente lo que no era válido en la llamada.

Array (
    [0] => HTTP/1.1 200 OK
           Server: nginx
           Date: Mon, 24 Feb 2014 16:34:54 GMT
           Content-Type: text/plain; charset=utf-8
           Connection: close
           X-akismet-debug-help: We were unable to parse your blog URI
           Content-length: 7
    [1] => invalid
)

Estamos aquí para ayudarte

Si te bloqueas o necesitas ayuda para solucionar algo, no dudes en ponerte en contacto con nosotros.