web-dev-qa-db-fra.com

Facebook Graph API - Comment obtenir le genre à partir d'un profil public

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?

8
Ben Marten

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:

  • utilisez l’application genre (par exemple, genderize.io ) pour extraire le sexe en fonction du prénom . 
  • récupérez les informations de genre sur Facebook (vous devez être connecté via le Web) à la page de l'utilisateur à propos de.
7
Ben Marten

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.

2
simsik

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

Obtenir des amis Facebook avec genre

2
Talib Hassan

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 

0
satis