Verifica della chiave

La verifica della chiave autentica la tua chiave prima di chiamare i metodi comment‑check, submit‑spam o submit‑ham per la prima volta. Questa è la prima chiamata che dovresti fare ad Akismet ed è particolarmente utile se la tua applicazione è usata da più utenti con un proprio abbonamento Akismet.

Nota bene che non è necessario chiamare questo metodo prima di ogni chiamata a comment‑check, submit‑spam o submit‑ham. Fai questa richiesta solo per confermare la validità di una chiave API prima di memorizzarla localmente.

Questo metodo viene chiamato con una richiesta POST all’URL qui sotto:

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

Parametri richiesti

api_key
La tua chiave API di Akismet. Puoi trovarla nella bacheca del tuo account su: https://akismet.com/account/

blog
L’URL della pagina principale o home dell’istanza che effettua la richiesta. Per un blog o una wiki, è la pagina principale. Nota bene: deve essere un URI completo, con http:// incluso.

Esempio in PHP

// Chiamata alla funzione di verifica della chiave
akismet_verify_key('123YourAPIKey', 'http://www.yourblogdomainname.com/');

// Autentica la tua chiave API Akismet
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.0rn";
    $http_request .= "Host: $hostrn";
    $http_request .= "Content-Type: application/x-www-form-urlencodedrn";
    $http_request .= "Content-Length: {$content_length}rn";
    $http_request .= "User-Agent: {$akismet_ua}rn";
    $http_request .= "rn";
    $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( "rnrn", $response, 2 );
    }
 
    if ( 'valid' == $response[1] ) {
        return true;
    } else {
        return false;
    }
}

Esempio di risposta positiva

La chiamata restituisce valid se la chiave è valida.

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] => valid
)

Esempio di risposta di errore

Se la chiamata verify‑key restituisce “invalid”, di solito include un’intestazione HTTP aggiuntiva con alcune informazioni di debug che descrivono cos’è che era invalido nella chiamata.

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
)

Siamo qui per aiutarti

Se sei difficoltà o hai bisogno di aiuto, non esitare a contattarci.