Comment obtenir un Facebook de l'utilisateur actuel du pays?
Le Facebook Graph API fournit un utilisateur emplacement actuel en deux formats: le nom et l'identité. L'ID peut être quelque chose comme 104022926303756. Le nom peut être quelque chose comme Palo Alto, Californie ou Beijing, en Chine. À partir de ces deux champs, comment puis-je extraire le pays? Toutes les endroits Américains sont dans la forme [City], [State]
alors que tous les non-Américains emplacements sont en forme [City], [Country]
. Puis-je code quelque chose de moins hacky que:
$states = array(
'Alabama'
'Alaska',
'Arizona',
//...
);
$country = 'USA';
if (!in_array($locationName, $states)) {
preg_match('#, ([a-z]+$)#i', $locationName, $match);
$country = $match[1];
}
OriginalL'auteur JoJo | 2012-03-05
Vous devez vous connecter pour publier un commentaire.
Comment l'utilisation de ce: http://developers.facebook.com/tools/explorer/?method=GET&path=fql%3Fq%3DSELECT%20current_location%20FROM%20user%20WHERE%20uid%3Dme()
?
Comme vous pouvez le voir, à l'aide de FQL sur la table utilisateur, le JSON que vous allez recevoir est quelque chose comme:
Là, vous avez le champ pays, beaucoup plus lisible 🙂
EDIT:
Le lien est brisé parce que paranthèses sont portées disparues à la fin de la requête,de toute façon le FQL requête est:"moi()" peut être n'importe quel nom d'utilisateur.
Je ne le pense pas, mais je ne suis pas sûr de ça. L'avantage de cette approche est que, dans tous de cas, l'information que vous recherchez (le pays) est dans ce champ.
Penser vraiment petit pays comme la Cité du Vatican, je doute vraiment que tous les pays du monde sont divisées en place dans les états.
Merci pour la correction de Joakim 🙂
Comment l'API Javascript obtenir de l'actuel pays? Quand je regarde le documentation, je ne vois que ça offre une chaîne de nom et id de type entier.
OriginalL'auteur thermz
Si vous voulez plus d'informations vous pouvez utiliser la latitude et la longitude de https://graph.facebook.com/104022926303756 et de les introduire dans un inverse geocoder.
http://maps.googleapis.com/maps/api/geocode/json?latlng=37.4293,-122.138&sensor=false
L'API Google donne beaucoup de l'information, mais il peut être très utile.
Le code de pays peut être une meilleure idenfifier que le nom du pays par exemple.
Il y a aussi la possibilité de sélectionner la langue de sortie. L'ajout de &lang=sv vous donne "Kalifornien" comme le nom de l'état au lieu de "la Californie".
OriginalL'auteur Joakim Syk
Il est à l'intérieur de la signature de la demande quand ils ont frappé votre application. Il s'agit, même s'ils ne l'approuve pas votre application.
OriginalL'auteur paterlinimatias