Google+: come recuperare i +1 senza API ufficiale


A differenza di Facebook e Twitter, Google non ha ancora rilasciato un’API (Application Programming Interface) che permetta di recuperare in modo semplice i +1 ricevuti su uno specifico URL.

Vista l’importanza che ha questo valore ed i social signals in genere, è sicuramente utile monitorarlo. A questo punto dovrebbe sorgere spontanea la domanda: “Come recupero i +1 se non esiste un’API pubblica?”

Visto che recentemente mi sono trovato ad affrontare questo problema, e visto che l’unico metodo “ufficioso” disponibile su Internet non funziona più – non si sa bene il perché – ho deciso di condividere la soluzione che ho trovato. Spiego molto brevemente il funzionamento del codice che trovate in fondo all’articolo, in modo da poterlo implementare con qualsiasi linguaggio di programmazione. La mia soluzione è scritta in php.

L’unica fonte in cui è pubblicamente visibile il numero di +1 è il bottone/widget ufficiale fornito da Google (Disponibile qui: https://developers.google.com/+/plugins/+1button/).

Analizzando il codice sorgente del bottone si nota che non è altro che un iframe avente come attributo src un URL del tipo: https://plusone.google.com/_/+1/fastbutton?bsv&size=tall&hl=it&url=[url della pagina correntemente visualizzata]

Analizzando ora il sorgente dell’iframe, è possibile estrarre da uno <span> con  id=”aggregateCount” il tanto ricercato numero di +1.

Ripetendo questa operazione per ogni url del sito è quindi possibile avere un report completo sul numero di +1 ricevuti.

<?php
function get_plusones($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, “https://plusone.google.com/_/+1/fastbutton?bsv&size=tall&hl=it&url=”.urlencode($url));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$html = curl_exec ($curl);
curl_close ($curl);
$doc = new DOMDocument();
$doc->loadHTML($html);
$counter=$doc->getElementById(‘aggregateCount’);
return $counter->nodeValue;
}
echo get_plusones(‘https://www.giorgiotave.it/’);
//risultato 171
?>

Se state già pensando di utilizzare questa tecnica in modo massivo, vi consiglio di limitare il numero di richieste per secondo e/o di variare l’indirizzo IP e/o lo user agent, altrimenti Google potrebbe arrabbiarsi.

Come nota conclusiva, va precisato che questo metodo non è ufficiale, quindi non garantisco che il codice funzioni all’infinito perché Google potrebbe cambiare l’implementazione del bottone di punto in bianco. In quel caso troverete una versione aggiornata del codice.

E voi come pensate di utilizzare questo nuovo strumento?

Sei membro del forum? Vuoi scrivere anche tu su SOCIAL Blog gt
Chiedilo a @giorgiotave