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
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/
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"
}