Get "real" profile URL from Facebook Graph API /user
It looks like Facebook has created a separate permission (which user needs to approve) called user_link
for you to be able to fetch that. You can see more details here:
https://developers.facebook.com/docs/facebook-login/permissions/#reference-user_link
When you query metadata about available fields for the endpoint using /me?metadata=1
this is what the link
description says:
{
"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"
}
If user has approved that permission, you will be able to fetch the link as before:
/me?fields=link
{
"link": "https://www.facebook.com/app_scoped_user_id/SOME_TOKEN/",
"id": "USER_ID"
}
You can´t get the real ID or the username of users anymore, so there is no way to get the "real URL". More information: https://developers.facebook.com/docs/apps/changelog
You can get a link to the user profile with the following API call though: /me?fields=link
Check out "App Scoped IDs" in the Facebook docs.
Update: It seems that linking to the user profile is not possible anymore: https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/