Je dois récupérer le sexe d'un utilisateur Facebook à partir de son profil public via l'API Facebook Graph.
Malheureusement, cela ne fonctionne pas toujours. Voir ces exemples:
en fonctionnement: https://graph.facebook.com/1423993568
{
"id": "1423993568",
"gender": "male",
...
}
ne fonctionne pas: https://graph.facebook.com/10152133878666403
{
"error": {
"message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100
}
}
Mais lorsque j'ouvre l'identifiant utilisateur directement via le Web, cela fonctionne et je peux même voir le genre. (Voir "À propos/Contact et informations de base") Je suis connecté avec mon compte personnel et non un ami de cet utilisateur! http://www.facebook.com/10152133878666403
Quel est le problème? Est-ce un problème avec la demande ou une fonction de sécurité de Facebook?
UPDATE:
Je peux faire une solution de contournement comme celle-ci, mais uniquement si je suis connecté avec mon navigateur:
Prenez l'app_scoped_user_id et obtenez le nom d'utilisateur Facebook à partir de l'URL de redirection lors de l'ouverture de cette requête:
http://www.facebook.com/app_scoped_user_id/10152133878666403
--> https://www.facebook.com/shiffoni
--> https://graph.facebook.com/shiffoni
résultats:
{
"id": "669926402",
"first_name": "Shiffoni",
"gender": "female",
"last_name": "Leonhardt",
"locale": "de_DE",
"name": "Shiffoni Leonhardt",
"username": "shiffoni"
}
Avez-vous d'autres idées pour obtenir le genre, le véritable ID utilisateur ou le surnom?
Comme déjà répondu dans les commentaires d'un employé de Facebook, ce n'est tout simplement pas possible, car il n'est pas pris en charge pour obtenir le "genre" ou le véritable identifiant utilisateur de Facebook.
Solutions possibles:
Le sexe de l'utilisateur est renvoyé uniquement avec la version 1.0 de l'API. Malheureusement, la version 1.0 est disponible jusqu'au 30 avril 2015 https://developers.facebook.com/docs/apps/changelog . http://www.name-gender.com/ est également une bonne api pour vérifier le sexe.
Meilleure façon de le vérifier en utilisant l’API de graphes de Facebook sous develoers.facebook.com => tools & support => Graph API Explorer.
$fb = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$fbuser=$fb->api('/me/friends?fields=id,name,gender');
cela donnera une liste de tous vos amis avec le nom et le sexe, vous pouvez faire une boucle et mettre une condition à l'intérieur de la boucle pour séparer les amis des deux sexes.
J'espère que ça aide
pour plus d'informations lire cet article
Forme ce que je comprends, il n’est pas possible seulement à partir du graphique api v3, car en 2.12 je suis toujours capable d’obtenir le genre