Dopo gli ultimi ritocchi grafici ho deciso di implementare una nuova pagina sul mio sito, sfruttando le
Google Plus API rilasciate in questi giorni. Su
questa pagina potrete leggere gli ultimi miei post pubblici inseriti sul social network di Google, comprensivi di un link diretto al post, il numero di risposte, commenti e condivisioni del post stesso.
Per ricevere i dati ho usato la pratica funzione cUrl di php, in questo modo:
$ch = curl_init();
$urlGet = "https://www.googleapis.com/plus/v1/people/108768066312606594072/activities/public?alt=json&maxResults=20&pp=1&key=YOUR-API-KEY";
curl_setopt($ch, CURLOPT_URL, $urlGet);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$json = json_decode($output);
Poi ho elaborato il json per visualizzare i dati nel formato che preferivo, utilizzando le seguenti formule di selezione per dividere i titoli dai contenuti.
foreach($json->items as $p)
{
$titolo="";
$contenuto="";
$urlContenuto="";
$urlImmagine="";
$urlImmagineFull="";
$replies=0;
$plusoners=0;
$resharers=0;
switch($p->verb)
{
case 'post':
$titolo = $p->title;
if(!$titolo && $p->object->attachments)
$titolo = $p->object->attachments[0]->displayName;
$contenuto = $p->content;
if((!$contenuto || $contenuto==$titolo) && isset($p->object->attachments)){
$contenuto = $p->object->attachments[0]->displayName;
if(!$contenuto || $titolo==$contenuto){
if($titolo==$contenuto)
$contenuto = $p->object->attachments[0]->content;
else
$contenuto .= ($contenuto ? '<br>' : '').$p->object->attachments[0]->content;
}
else
$contenuto .= ($contenuto ? '<br>' : '').$p->object->content;
}
else
$contenuto .= ($contenuto ? '<br>' : '').$p->object->content;
if((!$contenuto || $contenuto==$titolo) && isset($p->object))
$contenuto = $p->object->content;
$scriviPost=1;
break;
case 'share':
$titolo = $p->object->attachments[0]->displayName;
if(!$titolo)
$titolo = $p->title;
$contenuto = $p->annotation;
if(!$contenuto || strlen($p->object->content)>strlen($contenuto))
$contenuto = $p->object->content;
if(!$contenuto || strlen($p->object->attachments[0]->content)>strlen($contenuto))
$contenuto = $p->object->attachments[0]->content;
$scriviPost=1;
break;
default:
$scriviPost=0;
break;
}
$urlContenuto = $p->object->attachments[0]->url;
if(isset($p->object->attachments[0]->image)){
$urlImmagine = $p->object->attachments[0]->image->url;
$urlImmagineFull = $p->object->attachments[0]->fullImage->url;
}
$replies=$p->object->replies->totalItems;
$plusoners=$p->object->plusoners->totalItems;
$resharers=$p->object->resharers->totalItems;
$dataOra = strtotime($p->published);
if($scriviPost)
{
//write post to page
}
}
Per maggiori informazioni non esitate a contattarmi, sarò felice di condividere con voi ciò che ho imparato.