Je souhaite récupérer le pays de l'utilisateur connecté et l'insérer dans un div . Je parviens à le créer avec le nom d'utilisateur, le sexe et la tranche d'âge, mais je ne peux pas récupérer le pays code:
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me?fields=name,email,gender,age_range,picture,country', function (response) {
document.getElementById('status').innerHTML = response.name + ",";
document.getElementById('status1').innerHTML = response.gender + ",";
document.getElementById('status2').innerHTML = (response.age_range.min) + "-" + (response.age_range.min + 1) + " years old";
document.getElementById('status3').innerHTML = response.country;
}
Merci!
Je crois que le paramètre que vous recherchez est location
au lieu de pays.
/me?fields=name,email,gender,age_range,picture,location
Pour interroger ces données, vos utilisateurs devront vous accorder l’autorisation user_location
.
Cela vous donnera la valeur du champ soumis par l'utilisateur - notez que ce paramètre peut ne pas toujours être renseigné, car cela dépend de la soumission de cette information par l'utilisateur. S'ils ne l'ont pas fournie, vous ne pourrez pas le récupérer.
L'objet ressemblera à ceci:
"location": {
"id": "112604772085346",
"name": "Ramat Gan"
},
Une fois que vous avez l'objet location (qui sera probablement une page), vous pouvez interroger cet objet pour extraire le pays:
/112604772085346?fields=location
Cela vous donnera plus d'informations, y compris le pays.
{
"location": {
"city": "Ramat Gan",
"country": "Israel",
"latitude": 32.0833,
"longitude": 34.8167,
"Zip": "<<not-applicable>>"
},
"id": "112604772085346"
}
Pour compléter quoi Lix dit:
Vous pouvez le faire en un seul appel à Graph API, en appelant
/me?fields=name,email,gender,age_range,picture,location{location}
En effet, l'objet de localisation sous l'objet utilisateur est un objet Page , qui a un objet Emplacement .
Donc, cela vous donnera quelque chose comme ça:
"location": {
"location": {
"city": "Ramat Gan",
"country": "Israel",
"latitude": 32.0833,
"longitude": 34.8167,
"Zip": "<<not-applicable>>"
}
}
Cela vous évite de faire un double appel à Graph API.
Les champs de l'API Fb sont maintenant compatibles
scope="public_profile,user_location"
fields="name,location{location{country, country_code, city, city_id, latitude, longitude, region, region_id, state, street, name}}"
requête v2.11:
/me?fields=hometown,location
autorisation:
user_hometown
user_location
résultat:
{
"hometown": {
"id": "XXXXREDACTED",
"name": "Manila, Philippines"
},
"location": {
"id": "XXXXREDACTED",
"name": "Manila, Philippines"
},
"id": "XXXXREDACTED"
}