Développer avec Google

logo google
Google donne des Apis pour utiliser ses différents services, et incite fortement à utiliser des « Key »s au delà du but évident d’identifier qui fait quoi, le gentil google offre un service de statistiques d’utilisation des Apis.

Comment ça marche :

il suffit d’aller là https://code.google.com/apis/console et d’activer le service que vous souhaitez : Buzz, Latitude, Translate, Search …

Ensuite il faut faire un petit bout de code: J’ai testé le service de lien court de google, l’interface avec php/json ajoute un coté fun et ultra facile. Il « suffit » de poster l’url sur le service de google qui retourne un Array avec les informations. /!\ Attention certaines méthodes sont en POST d’autres en GET, ce qui explique l’utilisation de curl et la subtilité dans la fonction GoogleApi (dans l’exemple plus bas)

Le premier appel à la fonction permet de convertir: l’url avec le service de liens courts de goo.gl.
$resultat=GoogleApi("post", array ('longUrl' => 'http://blog.nasa.fr/wp'));

Le deuxième appel permet de récupérer les stats du lien court.
GoogleApi("get",
array ('shortUrl'=>$resultat['id'],
'projection' => 'FULL'));

Les résultats sont divers et variés car ils ressemblent à ceux de ‘Google Analytics’: nombre de hits, pays, navigateur, os pour :

  • deux dernières heures
  • Jour
  • Semaine
  • Mois
  • allTime

C’est facile de faire des stats par la suite avec les résultats récupérés avec l’API, ou de voir cela sur la console:

Google Api Stats
Google Api Stats

Code complet…


true,
CURLOPT_HTTPHEADER => array('Content-type: application/json')
);

if ($post=="post") {
$opts[CURLOPT_POSTFIELDS]=json_encode($value);
$opts[CURLOPT_POST]=true;
$opts[CURLOPT_URL] = "$URL?key=$KEY";
}
else
{
$GET=http_build_query($value);
$opts[CURLOPT_URL] = "$URL?key=$KEY&$GET";
}

curl_setopt_array($ch,$opts);
$reponse=curl_exec($ch);
curl_close($ch);
return json_decode($reponse,true);
}

$action="http://blog.nasa.fr/wp";

$resultat=GoogleApi("post", array ('longUrl' => $action));
if (isset($resultat['error'])) echo "error";
else foreach($resultat as $id => $val)
echo "$id ---- $val\n";

$resultat=GoogleApi("get",
array ('shortUrl'=>$resultat['id'],
'projection' => 'FULL'));

if (isset($resultat['error']))
echo "error"; else print_r($resultat);
?>

Résultats:

kind ---- urlshortener#url
id ---- http://goo.gl/WLehD
longUrl ---- http://blog.nasa.fr/wp
Array
(
[kind] => urlshortener#url
[id] => http://goo.gl/WLehD
[longUrl] => http://blog.nasa.fr/wp
[status] => OK
[created] => 2011-02-12T10:57:22.102+00:00
[analytics] => Array
(
[allTime] => Array
(
[shortUrlClicks] => 3
[longUrlClicks] => 3
[referrers] => Array
(
[0] => Array
(
[count] => 3
[id] => Unknown/empty
)
)
[countries] => Array
(
[0] => Array
(
[count] => 3
[id] => MU
)
)
[browsers] => Array
(
[0] => Array
(
[count] => 3
[id] => Safari
)
)
[platforms] => Array
(
[0] => Array
(
[count] => 3
[id] => Macintosh
)
)
)
[month] => Array
(
[shortUrlClicks] => 3
[longUrlClicks] => 3
[referrers] => Array
(
[0] => Array
(
[count] => 3
[id] => Unknown/empty
)
)
[countries] => Array
(
[0] => Array
(
[count] => 3
[id] => MU
)
)
[browsers] => Array
(
[0] => Array
(
[count] => 3
[id] => Safari
)
)
[platforms] => Array
(
[0] => Array
(
[count] => 3
[id] => Macintosh
)
)
)
[week] => Array
(
[shortUrlClicks] => 3
[longUrlClicks] => 3
[referrers] => Array
(
[0] => Array
(
[count] => 3
[id] => Unknown/empty
)
)
[countries] => Array
(
[0] => Array
(
[count] => 3
[id] => MU
)
)
[browsers] => Array
(
[0] => Array
(
[count] => 3
[id] => Safari
)
)
[platforms] => Array
(
[0] => Array
(
[count] => 3
[id] => Macintosh
)
)
)
[day] => Array
(
[shortUrlClicks] => 3
[longUrlClicks] => 3
[referrers] => Array
(
[0] => Array
(
[count] => 3
[id] => Unknown/empty
)
)
[countries] => Array
(
[0] => Array
(
[count] => 3
[id] => MU
)
)
[browsers] => Array
(
[0] => Array
(
[count] => 3
[id] => Safari
)
)
[platforms] => Array
(
[0] => Array
(
[count] => 3
[id] => Macintosh
)
)
)
[twoHours] => Array
(
[shortUrlClicks] => 2
[longUrlClicks] => 2
)
)
)

Source:
http://code.google.com/intl/fr-FR/apis/urlshortener/v1/reference.html
https://code.google.com/apis/console

2 réflexions au sujet de « Développer avec Google »

Les commentaires sont fermés