web-dev-qa-db-fra.com

Obtenez l'URL de profil "réelle" de Facebook Graph API / utilisateur

Comme indiqué dans les documentation API pour /user, le champ link contient l'URL du profil de l'utilisateur. Cependant, cette URL redirige généralement vers une URL différente (c'est-à-dire celle qui apparaît dans les résultats Google).

Existe-t-il un moyen de déterminer l'emplacement de redirection final (la "vraie" URL) d'un profil donné via l'API Facebook?

Par exemple, étant donné:

"link":"https://www.facebook.com/1091552020"

Je veux récupérer https://www.facebook.com/sbhutiani de l'API

17
jchook

Vous ne pouvez plus obtenir l'ID réel ou le nom d'utilisateur des utilisateurs, il n'y a donc aucun moyen d'obtenir la "vraie URL". Plus d'informations: https://developers.facebook.com/docs/apps/changelog

Vous pouvez cependant obtenir un lien vers le profil utilisateur avec l'appel d'API suivant: /me?fields=link

Consultez les "ID de portée d'application" dans les documents Facebook.

Mise à jour: Il semble que la liaison avec le profil utilisateur ne soit plus possible: https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/

21
luschn

Il semble que Facebook ait créé une autorisation distincte (que l'utilisateur doit approuver) appelée user_link pour que vous puissiez récupérer cela. Vous pouvez voir plus de détails ici: https://developers.facebook.com/docs/facebook-login/permissions/#reference-user_link

Lorsque vous interrogez des métadonnées sur les champs disponibles pour le point de terminaison à l'aide de /me?metadata=1 voici ce que dit la description de link:

{
  "name": "link",
  "description": "A link to the person's Timeline. The link will only resolve if the person clicking the link is logged into Facebook and is a friend of the person whose profile is being viewed.",
  "type": "string"
}

Si l'utilisateur a approuvé cette autorisation, vous pourrez récupérer le lien comme précédemment:

/me?fields=link

{
  "link": "https://www.facebook.com/app_scoped_user_id/SOME_TOKEN/",
  "id": "USER_ID"
}
4
amit_saxena