Feed stream pubblico Google+ (unofficial)

Ancora Google non ha pubblicato le API di G+ ma gli smanettoni si sono dati da fare da subito.
Ad esempio è possibile ottenere in formato JSON lo stream dei post pubblici di un utente.
Dopo aver visto questo articolo (grazie Gian Angelo) ho provato subito con qualche riga di PHP.
Ci sono già progetti promettenti in rete, ma io mi sono limitato allo stretto indispensabile.
Accertatevi di avere attivato il supporto SSL in PHP e sostituite $googleplus_id con l'id utente che vi interessa (basta guardare l'url del profilo):

$googleplus_id = '110373656360084352107';
$url = 'https://plus.google.com/_/stream/getactivities/'.$googleplus_id.'/?sp=%5B1%2C2%2C%22'.$googleplus_id.'%22%2Cnull%2Cnull%2Cnull%2Cnull%2C%22social.google.com%22%2C%5B%5D%5D';


per recuperare i dati basta usare file_get_contents (a patto che in php.ini abbiate settato allow_url_fopen):

$output = file_get_contents( $url );


La stringa JSON ottenuta va "ripulita" come indicato nell'articolo citato:

$json = substr( $output, 4 );
$json = str_replace( '[,', '["",', $json );
while( strpos( $json, ',,' ) ) $json = str_replace( ',,', ',"",', $json );




Finalmente abbiamo una stringa che possiamo dare in pasto a json_decode per ottenere un array contenete i nostri post pubblici su Google+:

$feedArray = json_decode($json);
foreach( $feedArray[1][0] as $currPost ) {
echo 'Autore: '.$currPost[3].'<br>';
echo 'Titolo: '.$currPost[4].'<br>';
foreach( $currPost[11] as $postLinks ) {
echo ' -> Titolo link: '.$postLinks[3].'<br>';
echo ' -> Descr. link: '.$postLinks[21].'<br>';
echo ' -> Url link: '.$postLinks[24][1].'<br>';
}
echo '<br>';
}



That's all!

Nota 
Se non volete abilitare allow_url_fopen potete provare con cURL, sostituendo la chiamata a file_get_contents con questo codice:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
$output = curl_exec($ch);
curl_close($ch);

Commenti

Posta un commento

Post popolari in questo blog

Jolie on Azure Functions

Gateway Consorzio Triveneto per WP e-commerce

Jolie micro services on Kubernetes