Voici une petite astuce pour récupérer la ville d’origine d’une personne à travers l’API graph de Facebook dont la structure est la suivante:
(
[id] => 12345678....
[name] => Mons, Hainaut, Belgium
)
Vous constaterez que le nom de pays est repris avec la région et la ville dans une seule chaîne. Le code suivant devrait permettre de palier à cet inconvénient…
$fbuser = json_decode(file_get_contents($graph_url));
// Extraction
$countryArray = split(",", $fbuser->hometown->name );
if( sizeof($countryArray) == 2 || sizeof($countryArray) == 3 ){
// Town, Country (2) or Town, State, Country (3)
$countryName = end($countryArray); // Last element
}
Petite explication: Après le split on vérifie la taille de l’array renvoyé. Si celui-ci contient deux éléments ou trois éléments (un seul élément correspondrait à un nom de ville) il est certain que le pays est repris dans le dernier élément que l’on récupére avec la fonction end. Le nom de pays est en Anglais donc pas besoin d’effectuer une vérification à ce niveau.
Ping : Recap java, semaine 37, année 2011 | Blog de la rubrique java